The incorrect application of canonical tags might be ruining your past and current SEO efforts. This is because the use of canonical tags is a widely known advanced SEO technique/strategy for dealing with duplicate content or a page that is accessible through multiple URLs. So, if you do not know how to properly use a canonical tag, then you are definitely putting your SEO in danger.
Canonical Tags have been around for quite some time now, and you would expect that most—if not all—of the SEO practitioners around the world have grasped it in its totality. But reality is stranger than fiction in that some SEOs still need help with their canonical tags—and that’s amazing it itself.
Before you start with using the canonical tag, you should also know what a canonical URL is because the both of them aren’t what they seem—at least at first glance.
What I mean by canonical URL is that this exact URL is the one that you want the search engines to index and rank. The other URLs which have similar content, have a similar purpose, or are duplicates of your canonical URL should not be the ones indexed and ranked by the search engines.
Basically, if you happen to have this occurrence, then you should use the canonical tag for the one that you think is the best one among them.
For example, you have the canonical URL, hello.com/a. Then, you have another page, hello.com/b, which is the duplicate of your canonical URL that came from a problem in your site architecture or you use it for testing.
Then you have this version, hello.com/a?ref=twitter, which has a URL parameter. Keep in mind that the parameter does not change the content.
So, your canonical URL is hello.com/a, and Google will know that the other URLs such as hello.com/b and hello.com/a?ref=twitter are duplicates or serve the same purpose as hello.com/a – which would lead Google to know that the one that they should index is the canonicalized URL.
Another amazing use of the rel=canonical tag is for cross-domains. If you want to republish content on hello.com/a to another website, then you can put in a cross-domain rel=canonical which tells Google that hello.com/a is the original one. As a result, every time that Google crawls the other website, they will know that the original version is in hello.com/a.
Canonicalize multiple URLs
There are actually numerous ways where you can canonicalize multiple URLs. Here are some of them:
As I have mentioned, you can use the rel=canonical tag for canonicalization, however, it is not the only one that you could use. I still recommend this, but sometimes you can also use the other ways. There are also some not recommended ways – which will be discussed in the later parts of this article.
This code is the one that people use whenever they have duplicate content, changed URLs, or transferred the content of a page to a different one. It is basically you telling Google that you want your visitors to go to hello.com/a instead of hello.com/b.
Google Search Console’s Search Parameters
This way is the best option if you have numerous URLs and URL parameters. Sometimes, your web development team would just be wasting time if they individually clean each and every page. You can be effective in cleaning up your website by using Google Search Console’s search parameters option.
However, you have to make an account that is verified and connected to your website in order for this solution to work. After ensuring all of this, you can just proceed to the Search Console’s Search Parameters section to make certain parameters in your website passive.
So, for example, you have numerous URL parameters in your website, you can just set them to be passive, and Google will know that these URLs and URL parameters could be ignored. This could be a helpful way for you to canonicalize.
This is for the webmasters and SEOs that basically have the same content on two different pages, but have slight differences.
Let’s say hello.com/a has content about laptops at the top of the page, but hello.com/b has content about laptops at the bottom of the page. You have the same content in both URLs, same search intent, and you are essentially doing the same thing.
Well, if you want Google to treat it as one, then add the hash. In this case, it will be a#b and that will make someone go to the specific section of the page.
If you have a “jobs” page on your website, but does not directly go to the “Job listings” part, then use the #listings in the URL to take people directly to the job listings page.
After you have done this, Google will consider all of them as one URL. Therefore, they will be ranking it the same, they will not be indexed differently because they are basically canonicalized to the same URL.
How NOT to canonicalize URLs
Blocking Google from crawling one URL but not the other ones
Always remember that even if you use robots.txt to block Googlebot’s spiders from reaching hello.com/b, Google will still not allow that /b and hello.com/a possess the same content.
Since they cannot crawl /b, they will not be able to see anything inside that URL, it is invisible to them. This means that they will have no concept of its rankings signals, the links that point to that URL, any signals of engagement or content. So, any ranking signal that might have helped /a rank better will not be seen by Google.
Even if you might think of using the no-index tag so that Google could still determine that /a and /b’s content is the same, but they will not index /b, then you are still essentially facing the same problem as using the robots.txt. You will still be preventing them from merging the ranking signals of /a and /b—which is something that is important for your SEO.
Not using the 301 redirect
I still strongly recommend that you use the 301 redirect for canonicalization because it is a permanent redirect. It has the highest chance to be successful in canonicalization even if there is the 302 or the 307.
For most SEOs—myself included—the 301 redirect is still the best for canonicalization, so if you are canonicalizing, the 301 redirect is the one to use.
Using 404 for the non-canonical version
I do not recommend that you use 404 for the URLs that have the duplicate content. Do not 404 it if you instead use the 301 redirect. If you use the 404, then you will lose the ranking signals for the other URLs – which will decrease the chances of /a having a better time in ranking.
The only time I would use the 404 is when you have a new page or the page was just the product of an error. Only use 404 if you know that the URL that you will be using it on does not have any ranking signals, and is full of problems. However, if it was an URL that had organic visitors and real people linked to it, then use the 301 instead.
When should you canonicalize?
If the content is exceedingly similar or is an exact duplicate
If for instance, you have content on two or more URLs that are duplicates of each other or are exceedingly similar, then you should make it a habit to canonicalize these URLs into a single one.
If the URL’s content serves the same search intent
For your URL’s that are not necessarily duplicates, but have similar or same search intent, then I would recommend that you canonicalize it.
For example, /a is about laptops, but /b is about laptop parts, then even though their content is unique, and the phrasing and sentences are not similar at the least, they still serve the same search intent.
What you are trying to focus on is the URL’s search intent. Even if it has different purposes but has similar search intent or has a similarity in their targeted keywords, it would be better if you canonicalize these multiple URLs.
Google will undeniably have a much better time indexing and ranking a single URL that has numerous positive ranking signals than them ranking multiple URLs that have an average performance. So, instead of dividing your URL’s link and ranking signal equity, it is much better if you focus on a single URL.
If you are republishing or updating old content
In these instances, you should always use rel=canonical. However, if you still have the inclination to keep the old URL to get its ranking signals when you republish it, the simplest thing you can do is this: take the content of the older version and republish it as /a-old.
Then, take /a and redirect it or publish newer content in it and make it the canonical one. As a result, you will still have the older version on your website but it is already treated as /old.
If there are expired content, events, and promotions in your site
If you happen to have these kinds of content, and there are new related promos or events in your site, then it would be good for you if you use a 301 here.
You should not use rel=canonical here because why would you want your visitors to go to a page where nothing is available? So, it is much better if you redirect them to a page where they will gains something, and possibly give you more customers.
Even if the rel=canonical, canonicalization or canonical URLs have been around for awhile now, it is always best for any SEO practitioner to go back to the basics and refresh their knowledge.
Your website’s content, links, and architecture are what your users always see, so if you do not take good care of the site, then you are potentially losing valuable visitors that you might have had the chance to convert into a paying customer.
Remember everything that I have highlighted in this article and you will have an easy time in canonicalizing pages of your site.
Do you have any other tips on canonicalization? Share it in the comments section below.