Home > Technical SEO > Canonical Tags – Everything you need to know about Canonicalization

Canonical Tags – Everything you need to know about Canonicalization

Published: Last Updated on

Canonical (rel=canonical) – We have often heard this term in on-page SEO. But to know more about it, let us discuss the canonical tag and its application in SEO.

Let us take an example of a website that sells Mobile Phones which has different pages with the same content. Therefore, it might have different URLs for the same page such as

  • smartphone.com/apple
  • smartphone.com/brand/apple
  • smartphone.com/apple/utm_campaign

All the three pages have similar content or are exact replicas of each other. Such pages may be created due to some changes in the backend. These URLs could be used for tracking purposes or created due to different categories in the top navigation.

However, having so many URLs for the same page can leave Google incredibly confused about which URL to rank in the SERP.

(Depending on the signals, Google picks up one URL that it feels is the best version and ranks it.)

Google is not always accurate and might end up choosing the incorrect URL. This makes it necessary to let Google understand which page and URL to rank in the SERP and which to ignore. Here is where canonical tags come in the picture.

What are canonical tags?

A canonical tag (rel = canonical) in SEO is a piece of HTML code that helps Google to rank a particular page from a group of similar/duplicate pages.

Let us follow our previous example of a website selling mobile phones to further elaborate on the term. Suppose you want to indicate to Google that “smartphone.com/apple” is your main page that you want to rank for. You will simply put a canonical tag on all the other duplicate pages.

Canonical tag

Why are canonical tags important in SEO optimization?

Whether you are an SEO agency or an SEO professional, canonicalization should be on your list of activities within On-Page SEO optimization. Now, let us find out what makes canonical tags so important in SEO?

  • Saves crawl budget

By specifying a canonical tag, you indicate to Google which URL to index and rank out of various versions of the page. This saves valuable time for the spider that crawls your website. The crawler, also known as a web spider, needs not waste time crawling pages that have been canonicalized. In this way, the web spider can reach other important URLs and content on your website and saves your crawl budget. 

  • Proper allocation of Link Juice

Using canonical tags ensures that the link juice is passed to the correct version of the page. If you have different pages with similar content, Google evenly distributes link juice to all these pages. By specifying a canonical tag, you let Google decide the page you want to give importance and rank in SERP. Google then passes all the link juice to the important page, ignoring all the duplicate pages. This ensures that there is a proper allocation of link juice on your website.

  • Ensures relevant URLs rank for queries

Canonical tags help ensure that relevant URLs rank for keywords. The last thing you want is two URLs of your website competing against each other for the same keyword on SERPs. By using rel=canonical, you can avoid this situation. Make sure you specify the proper canonical URL that you want Google to index and rank in the canonical tag HTML code.

  • Canonical tags make Google’s job easy

If you have a huge website with numerous URLs, it becomes tedious for Google to crawl all these URLs. When coupled with the confusion of duplicate pages and different variations of the same page, Google will have a hard time crawling and indexing these URLs. But, it is your website that will suffer the consequences. So, in order to make Google’s job easy, you need to specify proper canonical tags on all the pages. This makes sure Google crawls and indexes the correct pages.

Canonical Tag Syntax

The syntax of Canonical Tag is <link rel=“canonical” href=“URL” />

The code has two important components

  1. rel=”canonical” 
  2. href=”URL”

link rel=”canonical”

rel means relationship. Therefore, we define the relationship of the link as canonical.

href = “URL”

href tells the link’s destination. Here is where you put the URL that you want Google to index and rank. This is also called the canonical URL.

Coming back to our example, our smartphone website has the following URLs

  • smartphone.com/apple
  • smartphone.com/brand/apple
  • smartphone.com/apple/utm_campaign

You want Google to only index and rank “smartphone.com/apple” out of these URLs. All you must do is put a canonical tag on the duplicate pages.

This means you put a canonical tag on both URLs 

“smartphone.com/brand/apple” and “smartphone.com/apple/utm_campaign”. 

The canonical tag will be as follows

<link rel=“canonical” href=“https://smartphone.com/apple/” />

Simple. This tells Google that “smartphone.com/apple” is your main version and it should index and rank it, ignoring the other duplicate pages.

Note: The canonical tag should always be placed in the <head> section of the page.

What is a self-referential canonical tag?

A self-referential canonical tag is a tag that is defined on the main version of the page; irrespective of duplicate pages elsewhere.

This means, even if your page does not have other similar pages with duplicate content, you still put a canonical tag on that page. This is also known as self canonical.

  • Example of self canonical

Let us take our website selling mobile phones for instance. 

A self-referential (aka self-referencing) tag refers to adding a canonical tag to the main page “smartphone.com/apple”. You can add this canonical tag even if there are no other duplicate pages of this URL (i.e. “smartphone.com/brand/apple” and “smartphone.com/apple/utm_campaign” do not exist).

“smartphone.com/apple” page will have a self canonical tag as follows:

<link rel=“canonical” href=“https://smartphone.com/apple/” />

The syntax for self-referential canonical tag is the same. The only difference between the two is that a self-referential tag is placed within the head section of the main page.

  • Google on self-referencing canonicals

In one of his webmaster hangout sessions, Google’s John Mueller said that Google recommends putting self-referential canonical tags on all pages. He pointed out that sometimes many different variations of URLs get created due to a mixture of upper and lower case or www and non-www variants. 

However, using self-referencing canonicals directs Google towards the proper URL to index and rank.

Hence, adding self-referential canonical tags on all the pages is now considered as a best practice in SEO.

What is a cross-domain canonical tag?

A canonical tag given on a page that is not on your domain, but has content similar to a page on your website, is called a cross-domain canonical tag.

For example, you have a blog page “abc.com”. You decide to syndicate your blog articles. Syndicating basically means re-posting your blog posts on other domains as a guest. The purpose of this process is to share your content on popular websites to increase your reach. 

But one problem that occurs in this process is that the same content which is on your website is used on other websites. This could lead to Google flagging it as a duplicate content. In order to avoid this scenario, we use the cross-domain canonical tag.

If you have re-published your article on a popular website like Medium, this page should have a cross-domain canonical tag stating that the main version of the page comes from abc.com.

The cross-domain canonical tag will be as follows

<link rel=“canonical” href=“https://abc.com/article” />

This measure tells Google that the main article is on abc.com and has been re-published on Medium.

The syntax for the cross-domain canonical tag is the same. The difference here is that this canonical tag is added to the page where you have re-published your content. This measure is called cross-domain as you are putting a canonical tag on a page that is not on your domain.

Note: All the syndication websites might not include a cross-domain canonical tag, despite multiple requests. You must play the risk game in these situations.

How to audit canonical tags and issues on a website?

  • Manual checks

If you have a small website and want to manually check the presence of a proper canonical tag on your pages, perform a manual check. Follow the steps mentioned below to do the same:

  1. Go to your page 
  2. Press Ctrl+U to view the source code of the page
  3. Search for “canonical”
  4. You can find the canonical tag code in the <head> section
  5. Make sure the canonical tag is implemented correctly
  • Using Tools

Checking manually becomes tedious if you have a huge number of pages on your website. For this, you can utilize various crawling tools for checking canonical tag implementation.

Ahrefs has its own site audit tool which gives you all the information you need about canonical tags on your website.

You can also use Screaming Frog for auditing canonical tags which is much more detailed and resourceful. Just open the Screaming Frog Spider software and make sure you check “canonicals” in the Crawl settings. Once the crawl is complete, you can view all the details under “Canonicals” tabs. 

Different canonical issues and ways to fix them

You may come across some issues when you inspect a website for canonical tags. At first, these issues may seem small, but they can significantly hurt your SEO. Here’s a list of such canonical tag issues and ways to fix them:

  • Canonical tags point to 4XX or 5XX pages

This error occurs when your canonical tags point to a 4XX or 5XX status code page. It is likely that for different reasons, some of the pages on your website are deleted. In such cases, make sure that you remove the canonical tags on all the pages that point to such 4XX or 5XX pages. You can either replace the canonical URL with the working 200 status code page or delete the canonical URL that points to pages that do not exist anymore.

  • Non-canonical URL in hreflang

This issue arises when pages contain non-canonical URLs in their hreflang implementation. If you have hreflang implemented on your website, make sure you add the proper canonical URL in the hreflang code. If you don’t do so, the search engine will be confused as to which pages to consider for ranking. If you come across non-canonical URLs in hreflang, immediately replace them with the proper canonical URL.

  • Internal Links Pointing to Non-Canonical Version

This is a common problem that mostly occurs when a new page replaces an old one. In such cases, a canonical tag is put on the old page that points to the new page. However, site owners forget to change the URL in the footer links and top navigation. This results in the internal links pointing towards the old non-canonical page.
To fix this, make sure you replace all the links in the footer or top navigation with the URL of the new canonical version of the page. This will ensure that your canonical page is strong and properly linked.

  • Sitemap Contains Non-Canonical URLs

This issue occurs when all the non-canonical pages are present in the sitemap. Google recommends that non-canonical URLs be excluded from the sitemap as this would confuse the search engines as to which page to index and rank. Make sure that only the canonical version of the page is included in the sitemap. This will ensure that the right version of the page is ranked in the Google Search Engine Results Page (SERP).

Common mistakes to avoid when using canonical tags

Canonicalization can sometimes be very confusing. If not done right, you can lose your rankings as well. We’ve collated a list of common mistakes that occur when using canonical tags. This will help you implement canonical tags without errors.

  • Canonicalized URLs blocked in robots.txt file

If canonicalized URLs are blocked in robots.txt, the search engine bot won’t crawl them. Due to this, the canonical tag present on these pages won’t be visible to the search engine bot. This kind of mistake can hurt your SEO as the link juice from these pages won’t be passed to the canonical page. Do not block your canonicalized pages in the robots.txt file.

  • Noindex tag present on canonicalized pages

By putting a noindex tag on your canonicalized pages, you prevent Google from indexing them. This is not a good practice when using canonical tags. Canonicalization is implemented when you want Google to know you have different URLs for the same page, but you want a specific page to be ranked in the SERP. As a best practice, don’t use both noindex and canonical tags together.

  • Canonicalizing all pages in the paginated series to the first page

Pagination is breaking down your main page into a set of pages. Many e-commerce websites implement pagination on their category pages. Here’s an example:

One common mistake that SEO professionals make is that they canonicalize all pages (page2, page3, page4, and so on) to the main page (page 1). Google’s John Mueller has stated that this is a bad canonicalization practice. Here’s his take on this:
“The main thing to avoid, since this post is about Canonicalization, is to use the rel=canonical on page 2 pointing to page 1. Page 2 isn’t equivalent to page 1, so the rel=canonical like that would be incorrect.”

It is also a good practice to use ‘rel=next’ and ‘rel=prev’ tags for your paginated pages as Bing still supports them. This will help search engines understand the correct order of pages.


Canonical tag is a very important part of code in relation to on-page SEO techniques. Google has stated multiple times that it encourages the use of canonical tags on all the pages.

However, you need to avoid the presence of duplicate content on your websites as much as possible. But we do understand that for large websites, sometimes doing so is difficult. Hence, duplicate pages are created due to various reasons.

We advise you to use proper canonicals on all pages with different versions and duplicate content. The best practice would be to make sure that you put a self-referential tag on all your pages to avoid confusion.

The canonical tag is just a simple one-line code, but it works wonders.

Let us know in the comments section if you have faced any such canonicalization issues and how have you dealt with them. Also, let us know if you have any doubts regarding canonical tags.

Popular Searches

SEO Company in India  |  Best SEO Company in Bangalore  |  Best SEO Company in Delhi  |  SEO Company in Mumbai  |  SEO Consultants in Mumbai  |  Digital Marketing Services in India  |  SEO Services in India  |  Ecommerce SEO Services  |  Website Audit Services  |  Google Penalty Recovery Services  |  Local SEO Services in India  |  PPC Services in India  |  ASO Services in India  |  Conversion Rate Optimization Services in India  |  Link Building India  |  Content Marketing Services  |  Rankbrain Update  |  List of HTTP Status Codes  |  History of Google  |  Types of Digital Marketing  |  List of Search Engines  |  What is Off-Page SEO  |  What is PPC  |  Organic Traffic  |  What is YouTube SEO


Andy July 17, 2021 - 2:30 pm

Thanks for such a simple explanation. For a long time I have not used the canonical tag at my pages on my site. After reading your article, I understood why it is needed and why it is of great importance. Thank you!

Infidigit July 22, 2021 - 9:32 am

You are Welcome. Read our latest posts for more updates.

Sander Touw July 26, 2021 - 6:14 am

Good article Robin, thanks for this handy explanation of canonical tags. This is really helpful to share with clients who need to understand canonical tags and how they work.

Infidigit July 26, 2021 - 2:44 pm

Thank You. This means a lot.


Leave a Comment

Related Posts

Copy link
Powered by Social Snap