Thank you! It's so difficult to find this sort of information if you don't already know what to look for.
If I wanted to learn about how this sort of thing is done, and how it is applied to sites similar to the ones mentioned, what would be the required knowledge? In other words, what should I learn if I want to do this? The more detail the better. Thanks again.