It groups duplicate URLs
Campaign parameters, filters or URL variants can lead to the same or very similar content. A canonical names the version you prefer.
Enter a URL to read its canonical declaration and check the address it points to.
A canonical URL represents a group of duplicate or very similar pages. A rel="canonical" link lets you suggest the version you prefer; Google can still choose another.
Campaign parameters, filters or URL variants can lead to the same or very similar content. A canonical names the version you prefer.
Unlike a 301 redirect, a canonical does not change the URL in the browser. It is a search-engine signal, not a user-facing action.
A canonical is one signal. Align redirects, internal links, your sitemap and the similarity of the content with it.
Keep the content available at multiple URLs, but signal which version you prefer.
A strong signal for the preferred URL. It does not redirect visitors.
An old URL has been permanently replaced and should no longer serve as a separate page.
Moves visitors and crawlers to the new URL; a stronger signal than a canonical link.
A page should not appear in search results.
Asks search engines to keep that page out of the index; it does not name a canonical URL for a duplicate.
Put one absolute URL in the page’s <head>. For non-HTML files such as PDFs, you can send the canonical in an HTTP Link response header.
<link rel="canonical" href="https://example.com/guides/">Link: <https://example.com/guides/>; rel="canonical"Check which URL Google selected too. This tool reads the HTML sent by the server and does not run JavaScript. It cannot tell you which URL Google actually selected. Check that in URL Inspection in Search Console.
You check the canonical tag on a URL that has duplicates and on the URL the tag points to. Five steps show whether search engines get a consistent signal.
Start with pages that exist in several variants: with campaign parameters, with filters, with and without a trailing slash, on http and https. Each variant is a separate URL to check.
The tool above fetches the page, reads rel="canonical" from the <head> and from the HTTP Link header, then checks the canonical URL itself. You see whether the canonical points to the same page or to another one.
The canonical URL should return 200, with no redirect, no noindex and no different canonical of its own. If the result shows a redirect, put the final URL in the tag.
Use the same preferred URL in internal links, in the sitemap and in redirects. Google treats redirects and rel="canonical" as strong signals and the sitemap as a weak one, so a mismatch between them weakens your declaration.
URL Inspection in Search Console shows which URL Google finally chose as canonical. Check it a few days after you ship the change.
Three errors the tool reports most often, with the corrected markup.
<!-- http://example.com/pricing redirects to https -->
<link rel="canonical" href="http://example.com/pricing"><link rel="canonical" href="https://example.com/pricing/">Use the final URL, the one that returns 200. For equivalent pages Google prefers the https version.
<link rel="canonical" href="/pricing/"><link rel="canonical" href="https://example.com/pricing/">Google recommends absolute URLs. A relative path on a staging copy points to the staging host.
<link rel="canonical" href="https://example.com/pricing/?utm_source=newsletter"><link rel="canonical" href="https://example.com/pricing/">A template that inserts the current URL with its query string creates a separate canonical for every campaign.
An SEO plugin and the theme each add a tag, or the HTTP Link header points somewhere other than the HTML. Google asks you to give one page one canonical URL across all methods.
Google accepts rel="canonical" only from the <head>. A head that closes too early, or a script that injects the element into the body, makes the tag stop working.
Google advises against noindex as a way to choose the canonical URL within one site. Noindex drops the page from the index, but it says nothing about which version you prefer.
A crawler cannot fetch a blocked page, so it never sees its canonical either. Google lists robots.txt among the methods to avoid for canonicalization.
After a URL structure change, templates often keep the old URL in the tag. Google recommends that once redirects are live, canonicals on the new site use the new URLs.
| Value | What it means | Source |
|---|---|---|
| <head> | Google accepts a rel="canonical" link element only from this section of the HTML. | Google Search Central, duplicate URLs |
| 2 strong signals | Google describes redirects and rel="canonical" as strong canonicalization signals. A sitemap is a weak one. | Google Search Central, duplicate URLs |
| https | For equivalent pages, Google prefers the https version over http as canonical. | Google Search Central, duplicate URLs |
| Same language | On pages with hreflang, the canonical should point to a page in the same language. | Google Search Central, duplicate URLs |
| 68% | Share of desktop pages with a canonical tag in the Web Almanac 2025. On mobile it was 67%. | HTTP Archive, Web Almanac 2025, SEO |
Sources checked:
Enter the URL and choose Check. We fetch the page, read rel="canonical" from the <head> and the HTTP Link header, then fetch the canonical URL itself to see whether it returns 200, redirects or carries noindex. For a single page you can also view the page source and search for rel="canonical", but that shows only what the server sent, without the HTTP headers.
A canonical that points to the URL of the page it sits on. It is correct on the preferred URL and helps when the same content is also reachable with parameters such as ?utm_source=. Do not copy the current URL with its campaign parameters into the canonical, though.
The canonical tag names a URL that answers with a redirect instead of 200. Search engines then get conflicting hints and may ignore the canonical. Change it to the final destination URL, and keep internal links and the sitemap on that same address.
No. A canonical is a strong hint, not a directive. When redirects, internal links or the sitemap point to another version, Google may choose that one instead. URL Inspection in Search Console shows which URL it picked.
Yes. A Link header with rel="canonical" works like the HTML tag and is the only option for files without a <head>, such as PDFs. If you declare the canonical in both the HTML and the header, the two values must match.
No. It reads the HTML the server sends. A canonical that is already in that HTML is the reliable option; if a script changes it later, search engines receive two different values.
Our server fetches the page for you, so the address reaches our logs. It fetches that page and at most one more URL: the one named in the canonical.
Noindex is no replacement for a canonical, because it only removes the page from the index and names no preferred version. Google explicitly advises against noindex for choosing a canonical within one site. On the duplicate, set rel="canonical" to the preferred version.
The canonical on a page with hreflang points to a page in the same language, usually the page itself. The Polish version has a canonical to the Polish page, the English one to the English page. Google recommends this in its documentation on duplicate URLs, and hreflang then connects the versions.
You switch canonicals to the new URLs once the redirects from the old ones are live. Google also recommends updating the sitemap, so check both together and paste a few new URLs into the tool above.