There are several considerations that go into the design of the URLs.
Dynamic URLs are essentially a query string containing data that is appended to the static portion of the URL, which usually arises from:
- SessionIDs which track the the navigation of the user during their session
- Tracking parameters by marketing teams to inject (campaigns, traffic sources) information into their website analytics packages
- User filtering or facet navigation selections on ecommerce sites
- Product item variations (colour, size, etc)
- Pagination to divide the total number of content listings into a number of pages
These URLs have elements whose values are set dynamically in a page’s URL and make those pages incredibly dynamic, enabling a single page to power an endless number of views.
Parameters are generally demarcated with a question mark (?) in the URL string. They might also be referred to as “query strings“.
However, query string parameters may lead to symptoms of:
- Duplicate content: multiple variations of the same URL all serving the same content
- Keyword cannibalisation: which occurs when multiple pages on a website target the same or similar keywords
- Temporary or unfinished content: the urls may be perceived as unfinished or unintended for public consumption
As a result, search engines including Google generally avoid including such URLs in their index which means the pages will most likely not appear in the search engines let alone rank.
If they do get indexed, as the parameters multiply, the number of near duplicate pages grows exponentially and links may be coming in to all of the various versions.
This dilutes page level authority and the “canonical” version of a page might not ending ranking as well as it otherwise would.
The Best Practice solution may take the following depending on the causes of these dynamic URLs and the intended result:
- rewrite these as static URLs
- canonicalise to primary URL
- disallow in robots.txt