Most websites today (especially big sites) are not just static HTML files that live on a server. Nowadays, sites are built on top of robust content management systems that generate content using databases. Simply put, that means that each page is created every time it is requested by a browser. For example, when an user types in newyorktimes.com, the server passes parameters to a database, and pulls the appropriate data out. It then generates the page for the user. This allows site owners to have fluid, easily updated sites that respond quickly to changes.
The ability to easily create data on the fly has allowed for the development and propagation of blogs, robust ecommerce platforms like Amazon and Barnes & Noble, and social networking sites like Facebook.
While Content Management Systems allow for the simple creation and propagation of content, passing parameters through the URL oftentimes makes the URLs both ugly to people, and ugly to search engines. These ugly, dynamic URLs can be easily identified in that they are replete with unusual character strings like question marks, equal signs, and words like “query” or “node”.
A dynamic URL looks something like: http://www.example.com/?browse=name
The alternative to dynamic URLs are static URLs, also referred to as SEO Friendly URLs. These URLs are both human and search engine readable; they contain actual words that are, ideally, contextual and descriptive.
Static URLs look something like: http://www.example.com/seo-friendly/
When working with a Content Management System (or any other site) that defaults to dynamic URLs, it is possible to spoof static URLs using a .htaccess file (http://www.php-learn-it.com/tutorials/mod_rewrite_dynamic_urls_to_static_urls.html). Using this method allows parameters to pass and pull data from a database, but ultimately resolves to a URL that is SEO friendly.
Not even five years ago, search engines were not sophisticated enough to manage the rankings of dynamic URLs. Generally dynamic URLs would either rank very poorly in the Search Engine Results Pages (SERPs), or they would not be ranked at all. Nowadays, most major search engines can handle dynamic URLs with relative ease.
The problems with using dynamic URLs today, however, are threefold.
First, the URL is used as an important factor in ranking. Simply put, if two pages are identical in every way, but one page has a descriptive, keyword heavy, static URL and the other page is on a convoluted dynamic URL, the static URL will outrank the dynamic URL every time.
Second, when a URL is not readable by humans, even if it is ranked well, trust can be lost. What that means is a person who is searching for something will be more inclined to click on a result with a static URL than a dynamic URL. As a result, dynamic URLs can hurt click through rates.
Third, Google, Yahoo, and Bing are not the only search engines in the market. While there are a negligible number of quality search engines online, for larger sites, these third party engines can account for a significant number of aggregate visitors. Many of these search engines are still unable to handle dynamic URLs.
Google treats dynamic URLs in the same way it treats static URLs with regard to indexing. Backlinks that point to dynamic URLs pass the same amount of power to pages as links that point to static URLs. Similarly, Yahoo and Bing treat these pages the same way with regard to backlink attribution.
Despite search engines, on the whole, treating dynamic and static URLs in similar ways, it is worth noting that on-page keywords are an important factor for ranking. Keywords within URLs count toward on-page keyword considerations. Thus, the use of dynamic URLs rather than static URLs represents missed keyword opportunities which can affect rankings.