Almost two years ago, Google updated their guidelines to say that they can now properly handle crawling dynamic URLs. But last night, Google posted a blog entry now telling webmasters not to use rewrite rules for dynamic URLs, at least in most cases.
Google say, in bold, “avoid reformatting a dynamic URL to make it look static.” But Google also admitted that “static URLs might have a slight advantage in terms of clickthrough rates.” However, Google said “dynamic URLs should be favored over hiding parameters to make them look static.”
Does that mean SEOs and webmasters should stop rewriting their dynamic URLs? Would I personally recommend that? I think so, based on what I have been seeing recently from Google. As long as your dynamic URLs do not contain an unusual amount of parameters, like over five, I would think it would serve you better, in terms of ranking well in Google, to use dynamic URLs.
Again, this is a huge change in SEO philosophy and practice.
If the Google blog post is not evidence enough for you, to stop using rewrites, then maybe this additional information will help. I have seen, personally, on some of my large database driven sites, that Google has suggested that they have extremely high number of URLs. Those URLs are rewritten to be search engine friendly, at least they were back several years ago. If they were dynamic URLs, then Google would maybe not show that message. Maybe they would just handle them as they should be handled.
Of course, Google said there is no such thing as a duplicate content penalty, but there is such a thing as duplicate content. I suspect, having dynamic URLs as dynamic URLs would help Google figure out if a page is duplicate or not. Serving up static URLs in some of those cases, may confuse Google. And then you have the too many redirects warning in Google Webmaster Tools. I think related as well.
So what should a webmaster do with old sites that have old rewrites in place? I would be extremely wary about moving hundreds of URLs from their static rewrite version, back to their dynamic version. A Google Groups thread discussing this specific blog post does recommend that if you do move those URLs, you use a 301 redirect.
But should you? Google really does not comment about if you should make the big move or not, for a high number of old URLs already in the Google index. On one hand, Google now prefers dynamic URLs in these cases. On the other hand, you already have those pages indexed in Google and the link popularity for those pages have been long established. Using a 301 redirect will eventually transfer most, if not all, the old URLs to the new URLs – but how quickly and how much will you lose?
Postscript: I spoke with Danny about this and he and I are in agreement. You shouldn’t start changing what works for you now. Just because Google says things are fine when using dynamic URLs, it may not be fine in your case. When I told two of my developers about this Google post, they asked me what they should do. I said, keep developing using rewrites on pages you want Google think are static. If you want Google to know that certain pages are dynamic, like filtering products based on colors or size, then maybe in those cases I would leave the dynamic URLs. Again, it really depends on your situation and the site at hand.