I have a question about a site I'm developing. It is a database driven directory site where people can make a profile and list themselves in one or many area codes and in one or many fields of work. When someone is looking for a person to hire, they enter one or more area codes to look in (or select them with checkboxes) and when the form submits, it saves these as a cookie so the site remembers what location you were searching in. You then narrow down your search by category and field (which are links) and get a listing of all the profiles that match your search.

What I am concerned about is this: because a search engine can't type in or select area codes to search in, how is it going to find and index any of the profile pages? It doesn't allow the user to search for people without first selecting an area code, because there's no practical purpose to do so. There would also be no practical purpose from a user experience/usability standpoint of simply having a list of each area code as a link to the categories page, but as far as I know, isn't that the only way for search engines to see every person?

How does a site like Facebook accomplish this? There isn't some sort of master directory with a link to ever single Facebook user's profile page, and yet they're often the #1 search result for a person's name.

+4  A: 

You can try to get some of your db driven pages indexed by doing the following:

Generate a list of links with area codes. It is better if they are pretty urls. // okay  //better

Add these links to a sitemap.xml and submit to Google. There is no guarantee that all of your area codes will be indexed. in fact only a portion will because google will see how similar they are.

Sitemaps are a way to tell Google about pages on your site we might not otherwise discover. In its simplest terms, a XML Sitemap—usually called Sitemap, with a capital S—is a list of the pages on your website. Creating and submitting a Sitemap helps make sure that Google knows about all the pages on your site, including URLs that may not be discoverable by Google's normal crawling process.

Byron Whitlock
the key here is the sitemap.xml file. You might want to add more info on how to make one of those (or a link). +1
@rmeador Done, thanks.
Byron Whitlock
Would it be more beneficial to generate a list of each user's profile page and put that in the Sitemap? The inner pages of the search aren't that important for Google to see. It's a trivial matter for the database to run through all the users and add their profile pages to a sitemap.xml file.However this only works for the search engines I'm submitting sitemap.xml to. It doesn't do much for the more obscure ones people may still be using, does it?
Ryan Giglio
Yes. I would put the profile pages directly in the sitemap. Look at the docs there is a limit on the number of entries. I think you can pay google to have them index more thoroughly however.
Byron Whitlock