The general consensus in the SEO world has held that search engine friendly static URLs are indexed more effectively than complicated database-driven (and seemingly nonsensical) dynamic URLs.  However, according to a recent post on Google’s Wemaster Blog, that assumption is not exactly accurate.  As most major websites today are based on database driven content management systems, it would be completely impractical to rewrite and manage all URLs so that they would appear to be static.  To that point, attempts at such URL rewrites may actually hide information from Googlebot that otherwise could have assisted in the indexing process.  While URL rewrites can be beneficial to the end-user experience (those pages to tend to have higher click-through rates), they are no longer required as Googlebot has become much more capable at well-indexing those database driven dynamic URLs.

The following in an excerpt that addresses certain dynamic URL’s myths with respect to Google:

Myth: “Dynamic URLs cannot be crawled.”
Fact: We can crawl dynamic URLs and interpret the different parameters. We might have problems crawling and ranking your dynamic URLs if you try to make your urls look static and in the process hide parameters which offer the Googlebot valuable information. One recommendation is to avoid reformatting a dynamic URL to make it look static. It’s always advisable to use static content with static URLs as much as possible, but in cases where you decide to use dynamic content, you should give us the possibility to analyze your URL structure and not remove information by hiding parameters and making them look static.

Myth: “Dynamic URLs are okay if you use fewer than three parameters.”
Fact: There is no limit on the number of parameters, but a good rule of thumb would be to keep your URLs short (this applies to all URLs, whether static or dynamic). You may be able to remove some parameters which aren’t essential for Googlebot and offer your users a nice looking dynamic URL. If you are not able to figure out which parameters to remove, we’d advise you to serve us all the parameters in your dynamic URL and our system will figure out which ones do not matter. Hiding your parameters keeps us from analyzing your URLs properly and we won’t be able to recognize the parameters as such, which could cause a loss of valuable information.

Following are some questions we thought you might have at this point.

Does that mean I should avoid rewriting dynamic URLs at all?
That’s our recommendation, unless your rewrites are limited to removing unnecessary parameters, or you are very diligent in removing all parameters that could cause problems. If you transform your dynamic URL to make it look static you should be aware that we might not be able to interpret the information correctly in all cases. If you want to serve a static equivalent of your site, you might want to consider transforming the underlying content by serving a replacement which is truly static. One example would be to generate files for all the paths and make them accessible somewhere on your site. However, if you’re using URL rewriting (rather than making a copy of the content) to produce static-looking URLs from a dynamic site, you could be doing harm rather than good. Feel free to serve us your standard dynamic URL and we will automatically find the parameters which are unnecessary.