Duplicate content is never a good sign for SEO. Google hates it.
If a search engine sees multiple versions of the same page, it gets confused about which page to rank and ends up ranking none of them. We don’t want that to happen, do we?
A canonical tag prevents this from happening. It acts like a signboard that directs the search engine crawlers to your preferred URL. Basically, a canonical tag says, “Index this page instead of any other copies.”
By using canonical tags correctly, you can ensure that your rankings, backlinks, authority, and traffic don’t get split between multiple pages or, worse, ignored entirely.
Canonicalization is the process of selecting a single, preferred version (the "canonical" version) from multiple, potentially duplicate pages that contain the same or similar content.
The process is also called de-duplication. It helps search engines identify and show only one version of the otherwise duplicate content in its search results.
A canonical tag is a piece of HTML code that specifies the preferred version of a web page to search engines.
It is written as:
<link rel="canonical" href="https://mystore.com/" />
It is placed inside the <head> section of the HTML. When you add this tag to a page, you are sending a message to the search engines, “Use this URL in search results instead of the duplicates.”
On a duplicate or alternative page, you might add:
<link rel=”canonical” href=”https://mystore.com/shoes/” />
This indicates that https://mystore.com/shoes/ is the master page.

Always use the absolute URL (including https://) and only one <link rel="canonical"> per page. Placing it anywhere other than the <head> can cause it to be ignored.
In practice, every product page on your site should canonically point to itself by default. This is important for tracking consistency and avoiding confusion between duplicate pages.
It’s also worth noting that canonical tags are merely hints for search engines, not hard redirects. Search engines may still choose to ignore a canonical tag if they believe another URL is more relevant than the master page. It’s a rare occurrence, but it happens nonetheless.
In most cases, well-implemented canonical tags guide search engines to the page you want to highlight.
Different types of canonical tags are used to manage duplicate content, each serving its own purpose. Understanding these different types of canonical tags helps optimize pages for SEO and increases their chances of ranking.
The most commonly used canonical tags are:
This is perhaps the most commonly used canonical tag.
You can put this tag on a duplicate or alternate page, pointing to the main page.
For example:
If two pages, https://mystore.com/shoes/sneakers/.html and https://mystore.com/shoes/sneakers.html?ref=homepage, show the same content, you can add <link rel="canonical" href="https://mystore.com/shoes/sneakers.html" /> on the duplicate version.
This tells Google that the URL in the href is the true version to index. Think of it as a duplicate page pointing to the master version.
On the master page, you can also include a canonical tag pointing to the page itself. This is referred to as a self-referencing canonical tag.
This practice reinforces the page as the chosen one in the eyes of search engines.
For example:
On https://mystore.com/shoes.html, you might include <link rel=”canonical” href=”https://mystore.com/shoes.html” />.
A self-referencing canonical acts as the de facto sign of authority. It also acts as a “catch-all” to guard against any duplicate URLs that might appear later.
You can even add a canonical tag to point to a different domain. Such a cross-domain canonical tag can be used when the same content exists on two different sites (the original site and the syndicated version).
The canonical can be a different domain than a duplicate. For example en.mystore.com and fr.mystore.com
This tells Google that the main article is on the target page and has just been republished on a different domain.
However, Google advises using this carefully. It often recommends blocking the copy with “noindex” rather than relying on canonical tags.
For any non-HTML resources (PDFs, images, etc.) or in case you can’t edit HTML, you can use an HTTP Header canonical tag.
For example, on your PDF server response, you might send:
Link: <https://example.com/article.html>; rel="canonical"
This tells the search engines that the HTML page is the canonical version of the PDF. Simply put, it works the same way as an HTML tag but is sent via HTTP headers.
You can even list canonical URLs in your XML sitemap. By default, any URL in your sitemap is treated as a suggested canonical.
According to Lord Google himself, if you pick a canonical URL for each of your pages and submit them in a sitemap, all pages listed in the sitemap are suggested as canonicals. Google would then decide which pages are duplicates (if any) on its own.
The best practice is to include only the canonical URLs and exclude duplicate variants in your sitemap, as a sitemap entry is only a weak hint for search engines.
–
Each of these types of canonical tags provides canonical signals in different use cases. In most cases, the HTML <link rel="canonical"> element is used in the page head.
Still, knowing how to use the other methods might come in handy during special situations.
Canonicalization should be at the top of your list of activities if you’re engaged in on-page SEO.
Using canonical tags not only helps search engines index your pages better but also helps address duplicate content issues on your website. They allow you to avoid duplicate content problems and ensure all SEO “credit” goes to the correct page.
Let’s go through all the benefits of canonical tags in SEO one by one.
Search engines have a limited number of pages that they’ll crawl on your site (crawl budget), especially if there are a large number of pages or if they’re updated frequently. Google has a small wallet, too, you know?

If the search engines have to spend their entire crawling budget on duplicate pages, you’re wasting their time that could’ve been spent indexing more valuable pages.
In such a case, canonical tags tell search engine crawlers, “Hey, don’t bother with the copies, just index the real one.”
Let’s say your blog post has been shared in a few different formats or with URL parameters like ?utm_source=newsletter. Some people link to the main page, others to these variants. Without a canonical tag, all that SEO value (link juice) gets diluted across different URLs.
But with a canonical tag in place, all that authority gets funneled back into your primary page, the one that deserves to rank.
Is the wrong version of your content showing up in search results? Perhaps the one with an unusual tracking URL? Or the one with an outdated layout?
Canonical tags solve this problem. They ensure that the most relevant and optimized versions of your page are the ones that rank for user queries. This way, users get better information, and you get more clicks.
When multiple pages on your website are similar and target the same search intent or the same keyword, they start competing with each other for rankings. This phenomenon is called keyword cannibalization.
With canonical tags, you can tell the search engine which page should “own” that keyword. This prevents any confusion and gives clear directives to the algorithm regarding which page to focus on and direct traffic to.
Poor search engines are always confused by poorly optimized websites. It’s high time we cut some work out for them.
Canonical tags are like handing search engines a map with the treasure spot marked in red. They simplify indexing decisions, reduce confusion over duplicate content, and tell crawlers exactly where to focus their attention.
In a world where crawl efficiency and indexation matter more than ever, making things easier for search engines makes a lot of sense.
You should use canonical tags whenever you have duplicate or very similar content accessible by different URLs. Some common scenarios where this might be the case are:
If the same page is reachable via multiple URLs (for example, with vs. without “www,” HTTP vs. HTTPS, or with tracking parameters like ?ref=...), you can add canonicals to point all variants to one.
For instance, if http://example.com/page and https://example.com/page show identical content, one should canonicalize to the HTTPS version.
If you have a different mobile or AMP version of a page, it’s a good idea to canonicalize it to the main page by using:
rel=”alternate”
A mobile site (m.example.com/page can be canonicalized back to the desktop URL of the same page.
URL parameters are extra pieces of information added to the end of a URL that tell a website how to customize the content, filter results, or track browsing sessions.
For example:
https://example.com/products?category=jeans&colour=blue&size=32
In such a URL,
Everything before the (?) is the regular website address.
Everything after the (?) is the parameters.
Each parameter is separated by an equal sign (category=shoes).
Multiple parameters are separated with an ampersand (&).
Although most sites with multiple language versions use the hreflang tag, sometimes, it isn’t enough.
Hreflang is an HTML attribute used to specify the language and geographical targeting of a webpage. If you have multiple versions of the same page in different languages, you can use the hreflang tag to tell search engines like Google about these variations.
Even with hreflang, each language page should canonicalize to itself. Don’t canonicalize a French page to an English one. Each version needs its own self-canonical tag.
Now that you’ve got a pretty good understanding of what is a canonical tag, it’s time to put that theory into practice.
Before we begin discussing how to implement canonical tags on your website, ensure that you always follow these golden rules.
Ignoring these rules could result in search engines ignoring your canonical tags altogether, no matter how well you’ve implemented them.
Now that we’ve got that out of the way let’s get back to the main question: how to add canonical tags to your website?
There are generally two ways of implementing canonical tags.
HTML tags, also known as the ‘rel=canonical tag,’ are one of the easiest ways to help specify a canonical URL. To implement the tag, simply add the given code to the <head> section of a duplicate page.
Code: <link rel=“canonical” href=“https://example.com/canonical-page/” />
Suppose you have an online store.
You can set https://mystore.com/product/ as the canonical URL, as the same page is also accessible through other URLs, such as https://mystore.com/offers/product/.
You may add the following canonical tag to get the most accurate results.
<link rel=“canonical” href=“https://mystore.com/product/” />
Through HTTP headers, you can add canonical tags to a page that doesn’t have a <head> section, such as PDF files and documents.
Suppose there’s a PDF file for the blog ‘Top 30 search engines’, and you want to add a canonical tag to it. Here’s the format for doing so.
Don’t disallow or noindex the page you’ve declared as canonical. If Google can’t crawl your canonical URL (for example, because it’s in robots.txt or has a <meta noindex>), it won’t be able to consolidate signals. This defeats the purpose of canonicals. Always ensure your canonical page is crawlable and indexable.
Never set a canonical to a URL that returns a 404/5xx error or that immediately redirects. Canonical tags only work if the target URL returns a standard 200 OK response. If the canonical target itself is a redirect (or dead), Google will ignore it. Double-check that your href URLs are live pages.
It might be tempting to canonicalize all paginated pages back to page 1. Don’t do this. Google explicitly advises against pointing all pages of a series to the first page. Instead, let each page stand on its own, or use rel=”prev/next” (if needed for other search engines). Canonicalizing paginated pages to one spot can cause indexation problems and is generally considered a mistake.
Only one canonical tag belongs in the <head> of a page. Having more than one <link rel="canonical">, or putting one in the <body>, will be ignored by Google
This often occurs when both a CMS and a plugin insert canonical URLs. Audit your page source to ensure exactly one.
Mixing <meta name="robots" content="noindex"> and a canonical is contradictory. Noindex removes the page from Google altogether, so a canonical on that page won’t consolidate rank. Google’s documentation warns that noindex will completely block the page from search, whereas rel=canonical should be used instead for suppressing duplicates.
Avoid setting different canonical URLs for the same page in multiple locations. For example, if you list one canonical in a sitemap and a different one in HTML, Google gets mixed signals. Use the same canonical everywhere. Also, avoid using URL fragments (such as #section) in the canonical; Google ignores them.
Even pages with no apparent duplicates should have a self-referencing canonical tag. This removes any ambiguity about which URL is preferred.
Many SEO experts recommend this as a standard habit.
Always use the full URL in the href (including protocol and domain) rather than relative paths. Google supports relative URLs, but absolute URLs prevent mistakes, especially in complex setups. For example, <link rel="canonical" href="https://example.com/page/"> is best.
The canonical <link> must appear in the HTML <head> section. Google ignores canonical links in the body. Also, use exactly one rel="canonical" tag per page. Multiple tags can confuse crawlers. As SurferSEO notes, “one canonical tag per page” is essential.
The canonical URL should be a live, indexable page. It should return an HTTP 200 (OK) status. Don’t canonicalize to a 404, 5xx error or to a page blocked by robots.txt or noindex. If Google can’t crawl or index your canonical, it can’t transfer SEO value. In fact, Google explicitly warns against using robots.txt or noindex for canonicalization purposes.
Be consistent with “www” vs. “non-www” and trailing slashes. For example, if your site prefers www.example.com URLs, your canonical tags should use that format everywhere. Avoid discrepancies like casing differences because Google treats different URL cases as separate.
When linking internally, use the canonical URL in the <a href> attribute. This reinforces to Google which URL you consider primary. Consistent linking (always to the canonical version) helps Google see that version as the authoritative one.
Only list canonical URLs in your XML sitemap, as Google will treat those as the pages to index. If you use hreflang tags for multilingual content, make sure each language version has its own canonical (usually pointing to itself)
Prefer HTTPS in canonicals if both HTTP and HTTPS versions exist. Google typically favors the secure version as canonical (unless there’s a certificate or content mismatch issue)
Implementing canonical tags is a key part of technical SEO. By clearly identifying the ‘primary version’ of the page, canonical tags prevent duplication issues and ensure that all SEO value is focused on the main URL.
Using them correctly can save crawl budget, consolidate link equity, and improve your organic search rankings. With well-implemented canonical tags, your site will avoid competing with itself in search, and your most important pages will shine in the results.
A canonical tag is a small piece of HTML text that tells search engines which version of a page is the master page (the original). Using canonical tags in SEO is a great practice, as it prevents duplication issues, retains link equity, and ensures search engines show the right URL in their search results.
Using a canonical tag in SEO helps centralize all ranking signals to one preferred URL. This way, instead of splitting backlinks and authority across duplicate pages, the canonical tag directs all that SEO power to one version, boosting its chances of ranking higher for relevant queries.
A self-referencing canonical tag points to the page on which it is added. It’s like telling search engines, “Hey, I am the real me.” You can use it on every indexable page, even if there are no duplicates. It adds clarity for the search engines and future-proofs your site.
A canonical tag is simply a hint for search engines; it doesn’t actually direct visitors to another page. A page redirect, such as a 301 redirect, actually sends the user to another page, as it directs search engines and users to land somewhere else. Canonical tags serve as suggestions, advising search engines not to waste their crawl budget on duplicate pages.
To set up a self-referencing canonical tag, just place <link rel="canonical" href="https://example.com/page" /> in the <head> of your page. Make sure it uses the full, correct URL. This confirms the page is its own preferred version, which is essential for proper indexing.
Certainly, canonical tags in SEO help search engines display the most relevant URL in search results. This results in better click-through rates as users see the better-optimized version of the page rather than duplicates.
It’s highly recommended. Even if a page has no obvious duplicates, adding a self-referencing canonical tag reinforces which version is preferred. It’s a simple, safe way to guide search engines—and it helps prevent messy SEO issues down the line.
Google will likely ignore all of them. Only one <link rel="canonical"> should appear in the <head> of your page. Multiple canonical tags send conflicting signals and hurt SEO. Double-check your theme, plugins, and manual code to make sure only one is being output.
Not always. Google treats canonical tags as suggestions, not orders. If your canonical tag conflicts with internal links, sitemaps, or redirects—or if the canonical URL is slow or irrelevant—Google may ignore it and choose an alternative version as canonical. That’s why consistency across your site is key.
Yes, while canonical tags can help, redirects are a better alternative. Ideally, force all traffic to your HTTPS version using a 301 redirect and set your canonical tags to the secure URL. Canonicals help guide Google, but using redirects alongside them gives a stronger, clearer signal.