Parameter URLs are a critical SEO asset that you must get right. They are invaluable assets in the hands of seasoned SEO professionals. And query strings oftentimes create major challenges when it comes to your site’s rankings.
From duplicate content issues, to creating issues with crawling and indexing, it’s important to get these things right because parameter URLs can cause major problems that will rear their ugly heads when you least expect them to.
For this reason, it pays to have the right URL parameters implemented on your site.
What Are URL Parameters?
URL parameters are used to add extra data to a web address. They allow us to filter and sort our way through the Internet without having to type out long, complicated URLs every single time we want to reach a specific piece of content.
For example, let’s say you wanted to find out what the weather is like today in New York City. You could use a URL parameter to tell Google exactly where you want to go. If you typed out the full URL, it might look something like this:
But if you just entered the city name into the browser bar, you could save yourself some typing and still end up at the same place. Instead of typing out the entire URL, you could simply enter the following:
The”?” symbol indicates that there is a question mark after it. This tells Google to look for a special keyword called a “parameter.” In this case, the parameter is q, which stands for “question mark.”
Now, the next part of the URL contains another set of letters and numbers. These letters and numbers stand for the words “keyword?value?&…” Here, the word keyword represents a keyword you might be using, while v stands for “value.” So, the complete URL now reads:
/nike-shoes?airjordans345&8239
For another example, let’s say you wanted to display different pricing options depending on whether someone typed in “cheap” or “expensive” into a search box. You could do something like this:
/cheap-pricing?50-500
Where the numbers 50 through 500 represents $50-$500 as the cheap range of the pricing.
For expensive items, you could set the pricing at over $500, with a range of $500-$1000. This would look like the following:
/expensive-pricing?500-1000
Although URLs are rarely as simple as the above, these examples are meant to show what URLs might look like assuming they have the ranges as discussed above.
Semrush provides a demonstration of what parameters in URLs actually are. For example, the text below is highlighted in purple, which denotes the URL parameter:
How to Use URL Parameters (Examples Included)
URL parameters are a great way to organize data on a web page. You can use them to filter out certain categories, display related articles, or even sort content based on criteria like price or popularity. In fact, you can use them to make it easy for visitors to browse your site without having to scroll down too far.
Here’s how to add a parameter to your URLs:
Open up the address bar and type in the URL of the page you want to modify. 2. Add the parameter to the end of the URL. So, if you wanted to add sorting options to the home page of your ecommerce site above, you’d enter index.php?sortprice&orderdescending into the address bar. This adds the parameter “sort” to the end of the current URL.
Now, go ahead and test the changes. If everything went well, you’ll see the new parameter show up in the URL.
To remove a parameter, simply delete the existing one from the URL. Just remember to keep in mind what you added earlier.
Once you’ve removed the unwanted parameter, refresh the page to check whether the change worked.
Finally, don’t forget to save your work!
Semrush explains below how to use URL parameters and what happens when you have more than one query string appended to a parameter.
This is a very basic guide meant to demonstrate how URL parameters work. It assumes several things, including: that your server is configured to utilize URL parameters in the URLs you are testing, and that you are using similar URL parameters as described by the graphic below.
How Do URL Parameters Work?
URL parameters are used to add information to URLs without changing the address bar. They are typically added to the end of a URL, like this:
https://somedomain.com/?somename?somevalue?page-number-234123
Above, AHREFs demonstrates how URL parameters actually work, using both single parameter values and a URL that has multiple parameter values.
The most common use case is adding additional information to a URL. For example, you might want to display different content based on what category someone clicked on. You could do this by modifying the URL itself, but it’s much easier to just pass some extra data along with the request. This way, you don’t change the URL, and the visitor doesn’t even know you did anything special.
There are two kinds of URL parameters: active and passive. Active parameters modify the content displayed on a web page. Passive parameters simply provide additional information about the current page.
Active Parameters
Active parameters are similar to filter queries. They allow you to change the content of the page without changing the URL. For instance, if you want to show different products based on what color the product is, you could use active parameters to do it. You might add something like “?colorred&sortprice” to the end of the URL. This tells the search engine to display only red products sorted by price.
This type of parameter works well for things like sorting, filtering, and grouping. However, there are limitations. If you try to sort by multiple values, such as “?colorblue&sizelarge,” the search engine won’t know how to handle it. Also, if you don’t include enough information in the URL, the search engine may return no results.
For example, if you wanted to show different content depending on whether someone came from Facebook or Twitter, you’d use an active parameter. If you did that, visitors coming from Facebook would see one thing, while people coming from Twitter would see something else. This type of parameter is useful because it allows you to customize the experience based on what channel the visitor uses.
Passive Parameters
Passive parameters don’t change the content of your site; they’re simply used for tracking purposes. An affiliate ID is a good example of a passive parameter. When you add an affiliate ID to a link, it tells us how many times that particular link was clicked. We can use that information to determine how effective certain campaigns are. For example, we might find out that a specific campaign generated $10,000 worth of revenue, but only resulted in 10 conversions. From there, we can figure out why that happened. Was the landing page too complicated? Did the offer lack credibility? Were the calls-to-action confusing? These are all things we can learn from analyzing the data.
The key difference between passive and active parameters is that passive parameters aren’t changing the content of your site, whereas active parameters are modifying the content.
Semrush shows (below) different types of query strings and what they are typically used for.
When Do SEO Issues Occur With URL Parameters?
URL parameters are one of those things that seem like a good idea at the time. They make it easier to update content without having to rewrite everything, and they allow you to add information about the page without changing the URL itself. But there are some problems with how they work.
The most obvious problem is that each URL is treated independently by search engines, meaning that if you use a URL parameter to show different variations of the same page, you could end up with multiple copies of the same page indexed. If you don’t want that, you’ll need to either exclude the URL parameter from your sitemap or avoid adding duplicates altogether.
Another issue is that if you’re trying to rank well for certain keywords, you might find yourself creating lots of URLs that look identical, except for the keyword. For example, let’s say you sell shoes online. You might have a shoe store page, a men’s shoe page, a women’s shoe page, and a kids’ shoe page. Each of those pages uses the same product images, descriptions, and meta tags, but they all include a unique URL parameter that identifies the type of shoe being sold. So you’d have four separate URLs for the same page, and none of them would actually tell anyone what the page is about.
If you’re worried about duplicate content, you can solve that by excluding the URL parameter from your site map. Or you can try to keep the URLs short enough that they won’t cause too many problems.
SEO Issues With URL Parameters
URL parameters are used to modify the URL of a web page without changing the content of the page. They are commonly used to track visitors, measure conversions, and provide additional information about a site.
However, some URL parameters cause problems for SEO because they create duplicate content. This happens when the same page appears multiple times under slightly modified URLs.
For example, consider the following URLs. Both lead to the exact same page. However, the second one contains a parameter that changes the URL.
The first URL is considered canonical while the second is not. In other words, the first URL is preferred over the second.
This problem occurs because the second URL leads to the exact same page as the first URL. Therefore, it is considered duplicate content.
The act of the URL parameters changing dynamically makes it easy to pass data to a server side script or include dynamic content into a page. However, there are some common issues that arise when you use URL parameters.
Using URL parameters creates duplicate content.
Often, URL parameters make no substantial difference to the content of a webpage. A re-ordered version is often not so different to the original. A page URL with tracking codes or a session ID is exactly the same as the original. For example, the following URL returns the exact same content as the original.
The following URL returns the same content as the original, but adds a second parameter.
A third URL uses a URL parameter to append a value to the end of the URL.
In these cases, the only real benefit of using a URL parameter is to change the order in which the page appears on a website. But this doesn’t really add any new information to the page. It just rearranges the order of the links.
Therefore, if you use URL parameters, you should be aware that you may be causing duplicate content issues.
URL parameters are difficult to maintain.
When you update a page, you typically do so by editing the HTML code directly. However, if you use URL paramaters, you must also edit the corresponding JavaScript file.
URL parameters slow down load time.
When you use URL parameters, the browser has to send extra requests to the server. These requests take longer than normal requests.
URL parameters aren’t supported by all browsers.
Some older versions of Internet Explorer don’t support URL parameters. You can still use them in newer versions of IE, though.
URL parameters are hard to debug.
If you have an error in your JavaScript, you will probably find it very difficult to trace back to the source.
URL parameters are hard for users to remember.
URL parameters are much harder to remember than traditional forms of navigation. Users tend to forget where they came from and what they were looking at. This means that they won’t return to the same page again.
URL parameters are hard on mobile devices.
URL parameters are particularly problematic on mobile devices. Mobile browsers usually cache pages locally. When you visit a page, the cached copy is used instead of fetching the latest version from the web server.
URL parameters are hard when you use AJAX.
When you use AJAX, you can create a URL parameter that changes the state of the application without reloading the entire page.
URL parameters are hard because they require more data.
For example, if you use URL parameters to pass a username and password, you will need to store those values somewhere.
URL parameters are hard in HTTP/1.0.
HTTP/1.0 does not allow you to specify parameters within the URL itself. Instead, you must use query strings or POST methods.
URL parameters are hard with HTTPS.
HTTPS requires that every request include a valid certificate.
URL parameters are hard after redirects.
After a redirect, the browser no longer sends the URL parameter because of that redirect.
URL parameters are hard as soon as you deploy your application.
Once you release your application, people start using it. It becomes increasingly difficult to change the URL parameters.
URL parameters are hard even if you use hashbang URLs.
A hashbang URL looks like this: #!/path/to/file?parametervalue.
They are hard because, in general, they are not a recommended best practice. There are also several types of URLs that can potentially be spammed to death with keywords. If you run a site that utilizes hashbang URLs this is something that you might want to keep an eye out for.
URL parameters are hard unless you use a framework.
A lot of frameworks automatically generate the correct URL parameters.
URL parameters are hard until you get comfortable with them.
It takes some practice before you become comfortable with URL parameters.
URL parameters are hard once you get into the habit of using them.
As soon as you start using URL parameters, you will notice how much easier it makes things.
URL parameters are hard only if you use GET requests.
GET requests do not send any information about the URL parameters.
URL parameters are hard regardless of whether you use GET or POST requests.
Regardless of which method you use, you should always encode all characters.
URL parameters are hard whenever you use cookies.
Cookies are sent along with each request. If you want to use URL parameters, then you have to remove the cookie first.
URL parameters are hard for SEO purposes.
SEO experts recommend against using URL parameters.
URL parameters are hard to debug.
If you find an error in your code, you may be able to see the value of the URL parameter. However, you cannot easily tell what was passed to the URL parameter.
URL parameters are hard on mobile devices.
Mobile devices often cache pages locally. This means that you will probably end up using the same URL parameter over and over again.
URL parameters are hard due to security concerns.
Some websites prevent users from passing certain types of parameters.
URL parameters are hard when you use JavaScript.
JavaScript is used to dynamically load content. Dynamically loading content can be difficult to keep from being duplicated if you don’t have a process in place. Because of this, unless you’re well acquainted with how JavaScript works and can make these things difficult for search engines, you may end up getting substandard results as a result.
URL parameters are hard if you use PHP.
PHP is a server-side scripting language. And, it has several layers of complexity added to it. Because of its complexity, if a developer is not seasoned, these parameters can cause issues with duplicate URLs, appending URLs incorrectly, in addition to duplicate parameters being auto-generated when they should not be. This is where the oversight of programming in regards to URLs is valuable: because it can help prevent issues such as these.
URL parameters are hard at times of high traffic.
When there are a large number of simultaneous requests, the server might run out of memory, which is especially possible if the server is not configured for high server loads.
URL parameters are hard because they require more bandwidth.
The larger the amount of data being transferred, the higher the cost.
Also, internal linking for URL parameter URLs then present an issue.
Take for example, the image above from Semrush.com. All of these are different versions of parameter URLs for the same page. In this case, you always want to make sure that you link to the main static URL properly, as opposed to every variation of that URL.
These are just several reasons where URL parameters are hard to use and why.
How to Utilize URL Parameters to Improve Your SEO
The majority of the aforementioned SEO problems point to one main cause. In fact, it is the root of many of them: crawling and indexing URLs with parameters. This problem arises because crawlers cannot differentiate between different types of URLs.
When you enter this URL into your browser, you see the blog post displayed on the screen. However, if you look closely, you notice that there is another URL hidden behind the ?post1 part. If you copy and paste the URL into your favorite search engine, you will discover that the same URL exists twice. One version displays the blog post, while the second does not.
This situation occurs frequently with URLs that contain parameters. For instance, let’s say you want to add a category filter to your site. Now, if you type this URL into your browser and press Enter, you will see the sports section of your site. Instead, there are multiple versions of this URL that do not include the category parameter.
To avoid this issue, you must make sure that every single URL contains unique content. To achieve this, you must tag each URL properly.
Please note: SEO issues arise whenever URLs containing parameters display duplicate content, i.e., those generated by passive URL parameterization. These links — and only those links — should not be crawled and indexed.
Integrating URL Parameters Into Your SEO Strategy
Parameter URLs do make things easier when it comes to doing things like changing or tracking content. Because of this, it’s worth including them when you need to. And this is especially true for larger websites.
This is where having a granular indexing strategy comes into play. You have to let crawlers know when they should and when they shouldn’t index URLs with parameters. Then, you want to make sure that the version of the page that’s most valuable is highlighted.
Be sure to exercise patience and decide wisely which parameter URLs are not supposed to be indexed.
In time, crawlers will have a better informed choice when it comes to navigating, as well as how to value your site’s pages.
When do you plan on utilizing parameter URLs?