Welcome to WebmasterWorld Guest from 188.8.131.52
Now, I have two choices: 1) Use one URL for all description pages and pass a parameter to specify which widget I want. Smth. like "http://www.mysite.com/page.php?widget=123"; 2) Pretend all pages are different and have diferent URLs like "http://www.mysite.com/widget1.php", "http://www.mysite.com/widget2.php" and so on. In this case all pages will be generated by a script using a template and a db description.
Is option (2) considered a spam by G? It seems to me that it has been mentioned on this forum that G doesn't like template generated pages and may even ban them or at least rank them poorly.
On the other hand, Amazon is doing it all the time! Look at their product pages, they all are based on the same template, have different URLs and rank so high!
What option would you choose?
I use the same technique that you describe, 1 template generates about 600 pages and I never had any problems with google to have good ranking.
You have to make sure that all pages have different title, description, keywords and content. You can use URL rewriting to make the URLs more friendly, and you can also use "virtual directories" but don't forget to use the <base> tag on all your pages.
I hope it will help you
A while back, there was strong evidence to support the notion that search engines could not handle URLs that contained query string parameters (foo.com/product.html?id=123) so many sites created URLs that embeded the product into the url, such that it appears to be "static", e.g. "foo.com/product_123.html".
Now search engines certainly do index URLs with query string parameters, at least Google. I think Google suggesta that you keep the query strings short, and avoid putting session parameters in the actual URL (since G has many thousands of different crawlers each of which will get a different URL to the same content). And in general, I think static URLs are easier for users to read -- why not put foo.com/product-large-red-widget.html or product_large_red_widget.html or productLargeRedWidget.html. Users get some confirmation, if only subliminal, that they will get what they are looking for.
Note -- if you do this, you should check on the latest thinking about how to separate multiple words; at one point -'s were all the rage, but now some SE's and perhaps G consider an abundance of dashes to be spammy.
Yeh, I'll probably generate few hundred of pages, each page for a differen widget. These pages will still be dynamic and not static HTML, othewise I'll have to re-generate them every time I update my database.