Hi TopNet and welcome to WebmasterWorld.
Yes, most search engines can read variables and will treat the URL as being unique.
Best results you always will get with 'pure' site names … I taught my server to process files htm or html extension as well as dynamic pages … when clients 'create' their pages they create them in reality by server scripting: A 3-line file, with a html-filename including in the 3rd line the 'common file' … so all files do exist real.
Changing to this system last year the number of unique visitors climbed from half a million to 1,7 millions in the last 12 months.
Yes, they can see all after the ? in the URL.
However, they have problems with having more than 3 parameters in a URL, and anything that merely looks like it might be a session ID.
Additionally, you can cause yourself a lot of trouble if you ever change the parameter order on some your links: buy.a.shirt.php?size=large&colour=blue is duplicate content of buy.a.shirt.php?colour=blue&size=large for example. Make sure that all links use the same ordering, and the exact same parameters.
If there are other versions of pages (perhaps an extra paramter &pf=1 for "print friendly" pages, then make sure that all of those are served with a <meta name="robots" content="noindex"> tag to keep them completely out of the index.
Let me firmly second that!
I think just as important, and often never asked, is the challenge of not not making careless mistakes with db driven links. Be consistent in your parameters.
are two different pages in the eyes of SEs.
So when you go down the road of db driven content. Be consistent so that you don't have goof ups that haunt you.. such as the popular 'duplicate content' isssues we all read and talk about it.
I myself am responsible for about a zillion url question marks in Google's index.
So they WILL do it, but if you don't have PR up front, they may not go that deep. My site in google fluctuates from 50,000 to 80,000 pages - PR5 site that's been around a long time. The vast majority of my indexed pages have .php?something=something
Keep it simple and use as few parameters as you can. Personally I would go the static/translate route if I wasn't scared to death of mod_rewrite.
You might also want to look here:
If you decide to use dynamic pages (i.e., the URL contains a "?" character), be aware that not every search engine spider crawls dynamic pages as well as static pages. It helps to keep the parameters short and the number of them few.
I think the recent experience is this does not cause a problem for Googlebot.
Thanks a lot everyone, much appreciated!
quote: "Personally I would go the static/translate route if I wasn't scared to death of mod_rewrite."
What's the risk of mod_rewrite?
NO risk, other than you need to make sure that it works absolutely exactly as you want it to... and that you check that no "stray" URLs are generated by it, that all options are covered, and that every page of content has only ONE canonical URL that returns a status of "200 OK " for it.
I understand php pretty well, yet almost every day I get unexpected results from some of my crappy coding. Unexpected results from crappy php coding usually result in page not displaying correctly, or some error message....
Unexpected results with mod-rewrite include: Site disappears... site disappears from google index, and other nasty stuff. And I don't know it that well, so it's easy for me to put off converting my pages so long as googlebot keeps sucking up my question-marked urls.