Forum Moderators: Robert Charlton & goodroi
Which can Googlebot read better, static or dynamic URLs?
We've come across many webmasters who, like our friend, believed that static or static-looking URLs were an advantage for indexing and ranking their sites. This is based on the presumption that search engines have issues with crawling and analyzing URLs that include session IDs or source trackers. However, as a matter of fact, we at Google have made some progress in both areas. While static URLs might have a slight advantage in terms of clickthrough rates because users can easily read the urls, the decision to use database-driven websites does not imply a significant disadvantage in terms of indexing and ranking. Providing search engines with dynamic URLs should be favored over hiding parameters to make them look static.
[googlewebmastercentral.blogspot.com...]
This is actually from a faceted navigation post, but still addresses the question you have via best/worst practices:
Worst practice #2: Using directories or file paths rather than parameters to list values that don’t change page content.
Worst practice:
example.com/c123/s789/product?swedish-fish
(where /c123/ is a category, /s789/ is a sessionID that doesn’t change page content)
Good practice:
example.com/gummy-candy/product?item=swedish-fish&sid=789 (the directory, /gummy-candy/,changes the page content in a meaningful way)
Best practice:
example.com/product?item=swedish-fish&category=gummy-candy&sid=789 (URL parameters allow more flexibility for search engines to determine how to crawl efficiently)
It’s difficult for automated programs, like search engine crawlers, to differentiate useful values (e.g., “gummy-candy”) from the useless ones (e.g., “sessionID”) when values are placed directly in the path. On the other hand, URL parameters provide flexibility for search engines to quickly test and determine when a given value doesn’t require the crawler access all variations.
[googlewebmastercentral.blogspot.com...]
And, since "what about duplicate content" usually makes it's way into these type of threads:
Emphasis AddedWhen Google detects duplicate content, such as the pages in the example above, a Google algorithm groups the duplicate URLs into one cluster and selects what the algorithm thinks is the best URL to represent the cluster in search results (for example, Google might select the URL with the most content). Google then tries to consolidate what we know about the URLs in the cluster, such as link popularity, to the one representative URL to ultimately improve the accuracy of its page ranking and results in Google Search.
[support.google.com...]
Note the page/quote linked above not only indirectly indicates there is no such thing as a duplicate content penalty, it also indicates ranking signals from all duplicates in a grouping are applied to the selected URL, which means the SEO promoted idea of "link weight splitting" due to content being available via more than one URL is debunked too.
* Wishes SEO Snake Oil sales that do nothing but cause people looking for a solution to an issue to chase their tails could somehow be snap-banned...
If the abs_path is not present in the URL, it MUST be given as "/" when used as a Request-URI for a resource (section 5.1.2).
[ietf.org...]
[w3.org...]
Also, http://www.example.com/node?testing is *not* incorrect, even though it's not a best practice for SE understandability.
Emphasis AddedHowever, as query components are often used to carry identifying information in the form of "key=value" pairs...
http://tools.ietf.org/html/rfc3986#section-3.4
Note the use of often, rather than always or must.