One of the important things regarding URL optimization is paying attention to URL Parameters.

URL parameters create duplicate content, waste crawl budgets from Google bots, and destroy ranking signals. In this article, you can learn 6 ways to avoid possible SEO problems with URL parameters. While programmers and analytics enthusiasts love parameters, they are often an SEO nightmare. Infinite combinations of parameters can create thousands of variations of URLs for the same content. The problem is that we cannot easily discard parameters altogether. They play an important role in the user experience of a website. So we need to figure out how to manage them in a way that doesn’t hurt SEO.

What is the meaning of URL Parameters?

URL parameters Also known as query string aliases or URL variables, parameters are the part of a URL that comes after the question mark. They contain a Key and Values that are separated from each other using an equal. Multiple parameters can be added to a page using Ampersand.

The most common uses of URL parameters are listed below:

  • Tracking: for example ?utm_medium=social, ?sessionid=123, or ?affiliateid=abc
  • Reordering: eg ?sort=lowest-price, ?order=highest-rated or ?so=newest
  • Filtering: for example ?type=widget, colour=blue or ?price-range=20-50
  • Identifying: for example ?product=small-blue-widget, ?categoryid=124 or itemid=24AU
  • Paginating pagination: eg ?page=2, p=2 or viewitems=10-30
  • Searching: for example ?query=users-query, ?q=users-query or ?search=drop-down-option
  • Translating: for example ?lang=fr or ?language=de

SEO problems with URL parameters

1- URL parameters create duplicate content

Usually, URL parameters do not significantly change the content on the page. A rearranged version of the page is usually not very different from the original. A page URL with tracking tags or a session ID can be identified for the original version.

For example, the URLs below all return an array of Widgets:

  • Fixed URL:
  • Tracking parameter:
  • Reorder parameter:
  • Identification parameter:
  • Search parameter:

That’s pretty much a lot of URLs for the same content, now imagine if every category on your site looked like this. The number of URLs is skyrocketing! The problem is that search engines treat each parameter-driven URL as a new page. So they see multiple variations of the same page, all of which are serving duplicate content and all of which are targeting the same keywords or the same topic.

While such duplication and multiplicity probably won’t get you filtered out of the search results page altogether, it can lead to keyword cannibalization and make Google’s view of your site’s overall quality worse than those extra URLs. They have no value, be pessimistic.

2 – URL parameters waste crawl budget

Reviewing worthless parameter pages depletes the review budget reduces your site’s ability to index SEO-relevant pages and increases server load.

Google sums it up well:

“Overly complex URLs, especially those that contain multiple parameters, can cause trouble for crawlers by creating an unnecessarily large number of URLs pointing to the same content on your site. As a result, the Google bot may consume much more bandwidth than is needed, or may not be able to properly index all the content on your site.”

3 – URL parameters halve page ranking signals

If you have multiple versions of the same page content, links, and social media shares may be entered in different versions. This will affect your ranking signals. When you confuse a crawler, it can no longer be sure which competitive pages should be considered for indexing for search queries.

4- Parameters make URLs click less

Agree that URL parameters are inconvenient. They are hard to read. They do not seem reliable. For this reason, the probability of clicking on them will decrease.

This affects the performance of the page. Not only because click-through rates affect rankings, but also because click-through rates are important in social networks, emails, when URLs are posted on forums, or anywhere else where the URL must be displayed in full. It will decrease. While this may have a subtle impact on one page, every tweet, like, email, link, and mention matters to the domain. Unreadable URLs can lead to reduced engagement with the brand.

Evaluate the extent of your problem with URL parameters

It’s important to know about every parameter you use on your website, but chances are your developers don’t have an up-to-date list of these parameters. So how do you find all the parameters that need to be managed? Or understand how search engines understand and index these pages? How to understand what value these pages provide to users?

Follow these five steps:

Start a bot: With a tool like Screaming Frog, you can add a “?” search for

Take a look at Google Search Console’s URL parameters tool: Google automatically adds the query string it finds.

Check your log files: See if the Google bot is checking parameter-driven URLs.

Search with advanced site:inurl: operators: See how Google indexes the parameters you find by putting the key in a compound query inurl: key.

Look at the Google Analytics All Pages report: “?” Search to see how each parameter you find is used by users. Make sure to see the query parameters of that URL that are not left out of the View settings.

With this data, you can now decide how to best manage each of the parameters of your website.

SEO solutions to solve URL parameter problems

You have 6 tools in your SEO arsenal to strategically deal with URL parameters.

Restrict URLs based on parameters

A simple review of how and why parameters are created can give you a quick SEO win. You can usually find ways to reduce the number of URL parameters and thus minimize their negative impact on SEO. There are four common problems to start your review.

1- Remove unnecessary parameters

Ask your developer for a list of all the website and application parameters they have. You will probably find parameters that are no longer of any valuable use to you.

For example, users can be identified using cookies much better than Session IDs. At the same time, the session ID parameter may still exist on your website because it was used in the past. You may find that a filter in your facet routing is rarely applied by users. Any parameters caused by technical problems should be destroyed immediately.

2 – Avoid empty values in the URL

URL parameters should be added to a URL only when they are useful. Do not allow parameter keys to be added if their value is empty.

3- Use Keys only once

Avoid applying multiple parameters with the same parameter name and different values. For multiple-choice options, it is better to combine the values after a key.

4- Arrange the URL parameters

If the same URL parameters are rearranged, the pages will be interpreted the same by search engines. In this case, the order of the parameters does not matter from the point of view of duplicate content, but each of these combinations wastes the review budget and separates the ranking signals.

Avoid this problem by asking your programmer to write a script to always put the parameters in a fixed order, regardless of how the users chose them. In our opinion, you should start by translating the parameters, then move to detection, pagination, layering filters, and reordering or search parameters, and finally tracking.


  • Better use of Google’s bot review budget
  • Reduce duplicate content issues
  • Concentrating ranking signals on fewer pages
  • Suitable for all parameter models


  • Normal time for technical implementation

Link attribute Rel=” Canonical”

The rel=canonical link attribute indicates that a page has similar or identical content to another page. This tells search engines to get ranking signals from links that are marked as canonical.

You can rel=canonicalize your parameter-driven URLs to SEO-friendly URLs for tracking, identification, and sorting parameters, but this tactic is not appropriate when the content of the parameter page is not close to canonical, such as pagination, search, translation, or some From the filtering parameters.


  • Relatively simple technical implementation
  • High probability of protection against duplicate content problems
  • Aggregation of ranking signals on the canonical link


  • Wasting budget checking bots on parameter pages
  • Inappropriate for all parameter models
  • Interpreted by search engines as a powerful indicator, not a command.

Meta Robots Noindex tag

You can add a noindex command for any parameter-based page that has no SEO value. This tag prevents the page from being indexed by search engines. The links with noindex tags are likely to be checked less and if they are in place for a long time, they will cause Google to make the links of the page nofollow.


  • Relatively simple technical implementation
  • High probability of protection against duplicate content problems
  • Suitable for all parameter models that you don’t want to be indexed
  • Remove current parameter-driven URLs from the index


  • Not preventing search engines from checking URLs, but encouraging them to do so less
  • No accumulation of rating signals
  • Interpreted by search engines as a powerful warning, not a command

Robots.txt Disallow

The robots.txt file is what search engines look at before crawling your site. If they see that permission has not been issued, they will not go there.

You can use this file to block crawler access to all parameter-driven URLs (using Disallow: /*?*) or just specific query strings that you don’t want to be indexed.


  • Simple technical implementation
  • It allows better and more efficient use of the review budget
  • Avoids duplicate content issues
  • Suitable for all parameter models that you do not want to be indexed


  • No accumulation of rating signals
  • Not removing current URLs from the index

Parameter Tool in Google Search Console

You can tell the robots the purpose of your parameters and how you want them to be handled by setting up Google’s URL parameter tool.

Google Search Console has a warning message that says using this tool may “cause many pages to disappear from a search.” This may sound scary, but what’s even scarier are the thousands of duplicate pages that affect your site’s ability to hurt the ranking. So it’s best to learn how to set URL parameters in Google Search Console, instead of letting the Google bot decide.

The key to success in this task is to ask yourself how the parameter affects the content of the page.

Tracking parameters do not change page content. Set them as Representative URLs.

Set the parameters that sort the page content as Sorts. If this item is added by the user, change the Crawl status to No URLs. If the Sort parameter is applied by default, click Only URLs with Value and enter the default Value.

Set parameters that filter the page as a subset of content under Narrows. If these filters are not related to SEO, set the Crawl status to No URLs. If they are related to SEO, set the review status to Every URL.

Set parameters that indicate a specific piece or group of content as Specifics. Ideally, this should be a static URL. If it is not possible, it is better to set its status to Every URL.

Set parameters that represent a translated version of the content as Translates. Ideally, translation should be acquired by subfolders. If it is not possible, it is better to set its status to Every URL.

Set parameters that indicate a partial page of a longer sequence as Paginates. If you have achieved optimal indexing using XML sitemaps, you can save your review budget and change its status to No URL. Otherwise, set it to Every URL to help bots find all items.

Google automatically adds parameters to the list under the default Let Googlebot Decide mode. The problem is that these parameters can never be deleted, even if they no longer exist externally. Therefore, whenever possible, it is better to actively add parameters yourself so that at any stage if the desired parameter no longer exists, you can remove it from GSC. For every parameter you put in No URL status in Search Console, you should also consider adding it to Bing’s Ignore URL parameter tool.


  • No need for programmers’ time
  • Allow more optimal use of the review budget
  • High probability of protection against duplicate content problems
  • Suitable for all parameter models


  • Failure to integrate rating signals
  • Interpreted by Google as a helpful warning, not a command
  • It only works for Google and has less control over Bing

Transition from dynamic URLs to static URLs

Many people think that the optimal way to handle URL parameters is to avoid them in the first place. Because subfolders are passed parameters to help Google understand site structure and consistency, keyword-based URLs have always been a strength of on-page SEO. To achieve this, you can use server-side URL rewriting to convert parameters to subfolder URLs.

For example, consider this link:

Which becomes:

This approach works well for descriptive keyword-based parameters, such as those that identify categories and products or filter for relevant search engine features. This also works for translated content but becomes problematic for elements unrelated to facet-targeting keywords such as price. Having such a filter as an indexable permalink has no SEO value.

This is also problematic for search parameters, as any query generated by users generates a static page that works for ranking against canonicals, or even worse, whenever a user searches for a Searching for an item you don’t provide will show the search bots low-quality content pages.

This method also behaves strangely when applied to pagination parameters, for example, if we consider the following link:

A very strange rearrangement happens and we are given a link like below:

Which is usually not a good choice for tracking. Google Analytics does not understand the static version of the UTM parameter. Additionally, replacing dynamic parameters with static URLs for things like pagination, on-site search box results, or sorting doesn’t improve duplicate content, review budgets, or reduce internal link equity.

Having all combinations of filters from your facet routing such as indexable URLs usually results in minor content issues. Especially if you offer multiple choices of filters. Many SEO experts say that it is possible to provide users with the same user experience as before without affecting the URLs. For example, by using Post instead of receiving requests to adjust the content of the page, as a result, user experience can be maintained and SEO problems can be avoided.

However, pulling out parameters in this context will make it impossible for your audience to bookmark or share a particular page, which is not possible for tracking parameters and is not recommended for pagination. The conundrum for many websites is that completely avoiding parameters is not possible if you want to achieve your ideal user experience. It is also not recommended for good SEO.

So we are stuck in the middle. For parameters that you don’t want to be indexed in search results (pagination, sorting, tracking, etc.), implement them as query strings. Use static URL paths for parameters you want indexed.


  • Shifting the crawler’s focus from parameter-driven links to static URLs that are more likely to rank.


  • Significant investment in programming time for URL rewrites and 301 redirects
  • Failure to prevent duplicate content issues
  • No accumulation of rating signals
  • Inappropriate for all parameter models
  • May cause minor content issues
  • It does not always provide a linkable or bookmarkable URL

Best practices for managing URL parameters for SEO

Which of these 6 methods should you implement now? Your answer cannot be all of them. Not only does this create unnecessary complexity, but SEO solutions often actively interfere with each other. For example, if you use robots.txt Disallow, Google cannot see any noindex tags. You should also not combine a noindex meta tag with a rel=canonical link.

What is clear is that there is no perfect solution. Even Google’s own John Mueller can’t decide on the best solution. At a Google Webmasters Conference, John Mueller initially voted against not allowing parameters, but when asked about it from a facet routing perspective, he replied, “It depends.” There are situations in which the practicality of checking the robot is more important than the accumulation of valid signals.

Ultimately, what’s right for your website depends on your preferences. We do not use noindex or block access to parameter pages. If Google can’t examine and understand all the URL variables, it can’t collect canonical page ranking signals.

We use this program to manage parameters in a way that does not harm SEO:

  • Conduct keyword research to understand which parameters should be relevant to search engines and static URLs.
  • Implementation of correct paging management using rel=” next” and rel=” prev”
  • For all remaining parameter-based URLs, implement static sorting rules, which use keys only once and prevent empty values to limit the number of URLs.
  • Added a rel=canonical attribute to appropriate parameter pages to incorporate ranking ability.
  • Setting up URL parameter management in both Google and Bing as a way to help search engines understand the effectiveness of each parameter.
  • Checking that no parameter-based URLs are registered in the XML sitemap.

Leave a Reply

Your email address will not be published. Required fields are marked *