A few questions about building a database-backed site and search engine visibility with PHP:
Let's say I have a site that features a lot of articles which are stored in a MySQL database. There is one page that dynamically displays the articles one at a time using a $_GET['article_id'] query string -- let's call it article.php.
Naturally, we want each article indexed by popular search engines, not just article.php; and since search engines don't index query strings, we use "clean urls". Thus, instead of http://www.domain.com/article.php?article_id=123 we have http://www.domain.com/article/123
Now the search engine can recognize each article individually, but we have one more issue...
The page that displays a list of all articles only shows the 10 most recent articles by default. The user has to click a drop-down menu to be directed to the next 10, etc. etc.
Since there are no other links to all of the other articles does this mean that the search engine will only index the 10 most recent articles displayed in the list? Otherwise, how will the search bot figure out that more article exist?
Additionally, if this is the case, how would you work around such an issue? A few ideas come to mind, but they don't seem "proper" or even ethical:
One way, I think, would be to create a separate page that contains links to each available article, automatically generated by PHP.
The other possibility would be to put links to all of the available articles in a <DIV> hidden by CSS (display: none). Truthfully, I'm not sure if search bots are smart enough to know whether or not the content is actually "displayed" or not, as long as it's included in the HTML.
Any thoughts on how to get by this impass?
Best,
aksival