{"id":24029,"date":"2008-09-22T00:00:00","date_gmt":"2008-09-22T00:00:00","guid":{"rendered":"https:\/\/alienroad.com\/google-bilgi-bankasi\/dynamic-urls-vs-static-urls\/"},"modified":"2008-09-22T00:00:00","modified_gmt":"2008-09-22T00:00:00","slug":"dynamic-urls-vs-static-urls","status":"publish","type":"ar_kb","link":"https:\/\/alienroad.com\/google-bilgi-bankasi\/dynamic-urls-vs-static-urls\/","title":{"rendered":"Dynamic URLs vs. static URLs"},"content":{"rendered":"<p class=\"gargardate\">Monday, September 22, 2008<\/p>\n<p>\n  Chatting with webmasters often reveals widespread beliefs that might have been accurate in the<br \/>\n  past, but are not necessarily up-to-date any more. This was the case when we recently talked to a<br \/>\n  couple of friends about the structure of a URL. One friend was concerned about using dynamic URLs,<br \/>\n  since (as they told us) &#8220;search engines can&#8217;t cope with these.&#8221; Another friend thought that<br \/>\n  dynamic URLs weren&#8217;t a problem at all for search engines and that these issues were a thing of the<br \/>\n  past. One even admitted that they never understood the fuss about dynamic URLs in comparison to<br \/>\n  static URLs. For us, that was the moment we decided to read up on the topic of dynamic and static<br \/>\n  URLs. First, let&#8217;s clarify what we&#8217;re talking about:\n<\/p>\n<h2 id=\"what-is-a-static-url\" tabindex=\"-1\">What is a static URL?<\/h2>\n<p>\n  A static URL is one that does not change, so it typically does not contain any URL parameters. It<br \/>\n  can look like this: <code>https:\/\/www.example.com\/archive\/january.htm<\/code>. You can search for<br \/>\n  static URLs on Google by typing<br \/>\n  <a href=\"https:\/\/www.google.com\/search?q=filetype%3Ahtm\" class=\"external-link\"><span>filetype:htm<\/span><\/a><br \/>\n  in the search field. Updating these kinds of pages can be time consuming, especially if the amount<br \/>\n  of information grows quickly, since every single page has to be hard-coded. This is why webmasters<br \/>\n  who deal with large, frequently updated sites like online shops, forum communities, blogs or<br \/>\n  content management systems may use dynamic URLs.\n<\/p>\n<h2 id=\"what-is-a-dynamic-url\" tabindex=\"-1\">What is a dynamic URL?<\/h2>\n<p>\n  If the content of a site is stored in a database and pulled for display on pages on demand,<br \/>\n  dynamic URLs maybe used. In that case the site serves basically as a template for the content.<br \/>\n  Usually, a dynamic URL would look something like this:<br \/>\n  <a href=\"https:\/\/code.google.com\/p\/google-checkout-php-sample-code\/issues\/detail?id=31\" class=\"external-link\">https:\/\/code.google.com\/p\/google-checkout-php-sample-code\/issues\/detail?id=31<\/a>.<br \/>\n  You can spot dynamic URLs by looking for characters like: <code>?<\/code>,<code>=<\/code>,<br \/>\n  <code>&amp;<\/code>. Dynamic URLs have the disadvantage that different URLs can have the same<br \/>\n  content. So different users might link to URLs with different parameters which have the same<br \/>\n  content. That&#8217;s one reason why webmasters sometimes want to rewrite their URLs to static ones.\n<\/p>\n<p><h2 id=\"should-i-try-to-make-my-dynamic-urls-look-static\" tabindex=\"-1\">Should I try to make my dynamic URLs look static?<\/h2>\n<p>Following are some key points you should keep in mind while dealing with dynamic URLs:<\/p>\n<ol>\n<li>\n    It&#8217;s quite hard to correctly create and maintain rewrites that change dynamic URLs to<br \/>\n    static-looking URLs.\n  <\/li>\n<li>\n    It&#8217;s much safer to serve us the original dynamic URL and let us handle the problem of detecting<br \/>\n    and avoiding problematic parameters.\n  <\/li>\n<li>\n    If you want to rewrite your URL, please remove unnecessary parameters while maintaining a<br \/>\n    dynamic-looking URL.\n  <\/li>\n<li>\n    If you want to serve a static URL instead of a dynamic URL you should create a static equivalent<br \/>\n    of your content.\n  <\/li>\n<\/ol>\n<h2 id=\"which-can-googlebot-read-better,-static-or-dynamic-urls\" tabindex=\"-1\">Which can Googlebot read better, static or dynamic URLs?<\/h2>\n<p>\n  We&#8217;ve come across many webmasters who, like our friend, believed that static or static-looking<br \/>\n  URLs were an advantage for indexing and ranking their sites. This is based on the presumption that<br \/>\n  search engines have issues with crawling and analyzing URLs that include session IDs or source<br \/>\n  trackers. However, as a matter of fact, we at Google have made some progress in both areas. While<br \/>\n  static URLs might have a slight advantage in terms of clickthrough rates because users can easily<br \/>\n  read the urls, the decision to use database-driven websites does not imply a significant<br \/>\n  disadvantage in terms of indexing and ranking. Providing search engines with dynamic URLs should<br \/>\n  be favored over hiding parameters to make them look static.\n<\/p>\n<p>\n  Let&#8217;s now look at some of the widespread beliefs concerning dynamic URLs and correct some of the<br \/>\n  assumptions which spook webmasters. <span>\ud83d\ude42<\/span>\n<\/p>\n<h2 id=\"myth:-dynamic-urls-cannot-be-crawled.\" data-text='Myth: \"Dynamic URLs cannot be crawled.\"' tabindex=\"-1\">Myth: &#8220;Dynamic URLs cannot be crawled.&#8221;<\/h2>\n<p>\n  <b>Fact:<\/b>  We can crawl dynamic URLs and interpret the different parameters. We might have<br \/>\n  problems crawling and ranking your dynamic URLs if you try to make your urls look static and in<br \/>\n  the process hide parameters which offer the Googlebot valuable information. One recommendation is<br \/>\n  to <i>avoid reformatting a dynamic URL to make it look static<\/i>. It&#8217;s always advisable to use<br \/>\n  static content with static URLs as much as possible, but in cases where you decide to use dynamic<br \/>\n  content, you should give us the possibility to analyze your URL structure and not remove<br \/>\n  information by hiding parameters and making them look static.\n<\/p>\n<h2 id=\"myth:-dynamic-urls-are-okay-if-you-use-fewer-than-three-parameters.\" data-text='Myth: \"Dynamic URLs are okay if you use fewer than three parameters.\"' tabindex=\"-1\">Myth: &#8220;Dynamic URLs are okay if you use fewer than three parameters.&#8221;<\/h2>\n<p>\n  <b>Fact:<\/b> There is no limit on the number of parameters, but a good rule of thumb would be to<br \/>\n  <i>keep your URLs short<\/i> (this applies to all URLs, whether static or dynamic). You may be able<br \/>\n  to remove some parameters which aren&#8217;t essential for Googlebot and offer your users a nice looking<br \/>\n  dynamic URL. If you are not able to figure out which parameters to remove, we&#8217;d advise you to<br \/>\n  serve us all the parameters in your dynamic URL and our system will figure out which ones do not<br \/>\n  matter. Hiding your parameters keeps us from analyzing your URLs properly and we won&#8217;t be able to<br \/>\n  recognize the parameters as such, which could cause a loss of valuable information.\n<\/p>\n<p>Following are some questions we thought you might have at this point.<\/p>\n<p>\n  <b>Does that mean I should avoid rewriting dynamic URLs at all?<\/b> That&#8217;s our recommendation,<br \/>\n  unless your rewrites are limited to removing unnecessary parameters, or you are very diligent in<br \/>\n  removing all parameters that could cause problems. If you transform your dynamic URL to make it<br \/>\n  look static you should be aware that we might not be able to interpret the information correctly<br \/>\n  in all cases. If you want to serve a static equivalent of your site, you might want to consider<br \/>\n  transforming the underlying content by serving a replacement which is truly static. One example<br \/>\n  would be to generate files for all the paths and make them accessible somewhere on your site.<br \/>\n  However, if you&#8217;re using URL rewriting (rather than making a copy of the content) to produce<br \/>\n  static-looking URLs from a dynamic site, you could be doing harm rather than good. You can serve<br \/>\n  us your standard dynamic URL and we will automatically find the parameters which are unnecessary.\n<\/p>\n<p>\n  <b>Can you give me an example?<\/b> If you have a dynamic URL which is in the standard format like<br \/>\n  <code>foo?key1=value&amp;key2=value2<\/code> we recommend that you leave the URL unchanged, and<br \/>\n  Google will determine which parameters can be removed; or you could remove unnecessary parameters<br \/>\n  for your users. Be careful that you only remove parameters which do not matter. Here&#8217;s an example<br \/>\n  of a URL with a couple of parameters:\n<\/p>\n<div><\/div>\n<ul>\n<li><code>language=en<\/code>: indicates the language of the article<\/li>\n<li><code>answer=3<\/code>: the article has the number 3<\/li>\n<li><code>sid=8971298178906<\/code>: the session ID number is 8971298178906<\/li>\n<li><code>query=URL<\/code>: the query with which the article was found is &#8220;URL&#8221;<\/li>\n<\/ul>\n<p>\n  Not all of these parameters offer additional information. So rewriting the URL to<br \/>\n  <code>www.example.com\/article\/bin\/answer.foo?language=en&amp;answer=3<\/code> probably would not<br \/>\n  cause any problems as all irrelevant parameters are removed.\n<\/p>\n<p>\n  The following are some examples of static-looking URLs which may cause more crawling problems than<br \/>\n  serving the dynamic URL without rewriting:\n<\/p>\n<ul>\n<li><code>www.example.com\/article\/bin\/answer.foo\/en\/3\/98971298178906\/URL<\/code><\/li>\n<li>\n    <code>www.example.com\/article\/bin\/answer.foo\/language=en\/answer=3\/sid=98971298178906\/query=URL<\/code>\n  <\/li>\n<li>\n    <code>www.example.com\/article\/bin\/answer.foo\/language\/en\/answer\/3\/sid\/98971298178906\/query\/URL<\/code>\n  <\/li>\n<li><code>www.example.com\/article\/bin\/answer.foo\/en,3,98971298178906,URL<\/code><\/li>\n<\/ul>\n<p>\n  Rewriting your dynamic URL to one of these examples could cause us to crawl the same piece of<br \/>\n  content needlessly via many different URLs with varying values for session IDs<br \/>\n  (<code>sid<\/code>) and <code>query<\/code>. These forms make it difficult for us to understand that<br \/>\n  <code>URL<\/code> and <code>98971298178906<\/code> have nothing to do with the actual content which<br \/>\n  is returned via this URL. However, here&#8217;s an example of a rewrite where all irrelevant parameters<br \/>\n  have been removed:\n<\/p>\n<div><\/div>\n<p>\n  Although we are able to process this URL correctly, we would still discourage you from using this<br \/>\n  rewrite as it is hard to maintain and needs to be updated as soon as a new parameter is added to<br \/>\n  the original dynamic URL. Failure to do this would again result in a static looking URL which is<br \/>\n  hiding parameters. So the best solution is often to keep your dynamic URLs as they are. Or, if you<br \/>\n  remove irrelevant parameters, bear in mind to leave the URL dynamic as the above example of a<br \/>\n  rewritten URL shows:\n<\/p>\n<div><\/div>\n<p>\n  We hope this article is helpful to you and our friends to shed some light on the various<br \/>\n  assumptions around dynamic URLs. Please you can join our<br \/>\n  <a href=\"https:\/\/support.google.com\/webmasters\/community\" class=\"external-link\">discussion group<\/a><br \/>\n  if you have any further questions.\n<\/p>\n<p class=\"byline-author\">Written by Juliane Stiller and Kaspar Szymanski, Search Quality Team<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Monday, September 22, 2008 Chatting with webmasters often reveals widespread beliefs that might have been accurate in the past, but are not necessarily up-to-date any more. This was the case when we recently talked to a couple of friends about the structure of a URL. One friend was concerned about using dynamic URLs, since (as [&hellip;]<\/p>\n","protected":false},"menu_order":85856,"template":"","meta":{"footnotes":""},"ar_kb_kategori":[665],"ar_kb_etiket":[],"class_list":["post-24029","ar_kb","type-ar_kb","status-publish","has-post-thumbnail","hentry","ar_kb_kategori-blog"],"_links":{"self":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb\/24029","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb"}],"about":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/types\/ar_kb"}],"version-history":[{"count":0,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb\/24029\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/media\/26629"}],"wp:attachment":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/media?parent=24029"}],"wp:term":[{"taxonomy":"ar_kb_kategori","embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb_kategori?post=24029"},{"taxonomy":"ar_kb_etiket","embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb_etiket?post=24029"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}