Free canonical tag checker
A wrong canonical quietly tells Google to index a different page than the one you meant. No warning. No error in your browser. Just the wrong URL showing up in search while the right one sits invisible.
That’s the trap. A canonical tag lives in your page’s <head>, not in anything you see when the page loads. Get it wrong once during a template change or a migration, and it can misdirect every page that inherited it.
You don’t need a crawl or a login to find out where you stand. Paste one URL into the tool above and read its canonical in seconds. Or install the Sprout SEO extension and see the canonical tag on every page you browse, without pasting anything at all.
Table of Contents
- Free canonical tag checker
- What is a canonical tag?
- Why canonical tags matter for SEO
- When to use a canonical URL
- Canonical tag vs 301 redirect: which to use when
- Common canonical tag issues
- Canonical tags for non-HTML content
- How to check a page's canonical tag
- Check a single page with the Sprout web tool
- See the canonical as you browse with the Sprout extension
- Confirm at scale in Google Search Console
- How to fix a wrong canonical
- Check every page's canonical as you browse (Chrome, Firefox, Edge)
- Check your canonical, then stop guessing on every page after this one
What is a canonical tag?
A canonical tag is an HTML link element, <link rel="canonical" href="URL">, placed in a page’s <head>. It tells search engines which URL is the preferred version when duplicate or near-duplicate content exists. Search engines use it to decide which URL to index and rank, and which ones should simply inherit that URL’s signals. The tag doesn’t hide or block the other URLs; it just names the one that gets the credit.
Self-referencing vs pointing elsewhere
A canonical tag sits in one of two states. Self-referencing means the tag points to the page’s own URL: “this is the preferred version of itself.” It’s the default, and the recommended state for any page with no duplicate.
Pointing elsewhere means the tag names a different URL as preferred. That’s how you handle real duplicates. A filtered product listing points back to the clean category page; a paginated archive points to itself rather than page one. Both states are valid. The mistake is having neither, or having the wrong one.
Why canonical tags matter for SEO
Canonical tags matter because they consolidate ranking signals, links, relevance, engagement, onto one URL instead of letting duplicates split them. Without one, two or more versions of the same page compete against each other in the index. The version Google favors isn’t always the one you wanted ranking. That competition also wastes crawl budget on pages that add nothing new.
Duplicate content, consolidation, and crawl efficiency
Picture a product page reachable at three URLs. The clean path, a version with a tracking parameter, and a version reached through a filtered category. Without a canonical, Google can index all three separately, splitting their authority three ways. It might even rank the parameterized one instead of the one you’d choose. Set a correct canonical on all three, and every version’s signals consolidate onto the URL you picked.
Google’s guidance on consolidating duplicate URLs frames canonicalization exactly this way. Out of a set of duplicates, one URL is the reference copy, and the canonical says which. Get that signal right, and Google spends less crawl budget re-checking near-identical pages it has already seen on your site.
There’s a newer reason to care, too. AI crawlers and answer engines pull from the web to build their responses. A clear canonical is one more signal they use to pick the authoritative source when several URLs say roughly the same thing.
When to use a canonical URL
You need a canonical URL whenever more than one URL on your site can serve materially the same content. That covers more ground than most site owners expect. Missing one of these cases is a common failure point on large e-commerce sites and publishers with heavy filtering or archiving.
Pagination is the first case. A paginated blog archive or product listing shouldn’t have every page canonicalize back to page one; that tells Google to ignore everything past it. Each paginated page should either self-reference, or, if you maintain a view-all page, canonicalize to that.
Faceted and filtered URLs are the second. A store with color, size, and price filters can generate thousands of parameter combinations from one category. Canonicalize each combination back to the clean category URL. Otherwise the filters spawn thousands of near-duplicates competing with the page you actually want ranking.
Near-duplicate pages come next: the same shirt in three colors, the same course in two formats. Whether you canonicalize these depends on search intent. If people search for the color specifically, keep the pages separate. If not, point the variants at your preferred version.
The same logic covers products or posts filed in multiple categories. Canonicalize to the primary category. It covers syndicated or guest posts too: canonicalize the reposted copy back to the original, so the source keeps the SEO value.
Everywhere else, the rule is simpler. Self-reference by default. A page with no duplicate still benefits from a canonical confirming its own URL. An external site might link to it with tracking parameters attached, and a self-referencing tag stops that parameterized version from getting indexed instead.
Canonical tag vs 301 redirect: which to use when
A canonical tag and a 301 redirect both consolidate ranking signals onto one URL, but they differ in what happens to the URL you’re moving away from. A 301 sends users and bots to a single destination, so the original URL stops being reachable. A canonical tag keeps both URLs live; it only tells search engines which one to index. Use a 301 when a URL should stop existing: a permanent move, a merged page, a retired product. Use a canonical when the duplicate still needs to work for people: pagination, tracking parameters, filtered views. Pick the wrong one, and you either break a URL people still need, or leave duplicates competing that a redirect would have merged outright.
Canonical tag vs 301 redirect at a glance
| Signal | Canonical tag | 301 redirect |
|---|---|---|
| Original URL stays reachable to visitors | Yes | No |
| Bots are redirected or just informed | Informed (crawls both, indexes one) | Redirected to the destination |
| Typical use case | Pagination, filters, tracking parameters, near-duplicates | Permanent moves, merged pages, retired URLs |
Which one should you use
If a visitor typing the old URL should still land on a working page, use a canonical. If that visitor should end up somewhere else entirely, use a 301. For the cases where a redirect really is the right call, the 301-vs-302 redirect guide covers permanent versus temporary redirects in more depth.
Common canonical tag issues
Most canonical tag issues share one consequence. The wrong page gets indexed, or ranking signals split across near-duplicates instead of consolidating onto one URL. Technical SEO practitioners who resolve duplicate-content problems regularly see the same handful of causes behind it, on sites of every size.
The issues, one by one
A canonical pointing to a noindex or blocked page is the most damaging. If the target can’t be indexed, neither it nor the pages pointing to it get indexed properly. That can quietly de-index a whole cluster of pages at once.
A redirected or chained canonical creates a similar problem. If the URL named in your canonical itself redirects, Google has to follow that chain to find the real destination. It doesn’t always bother. Point a canonical straight at the final URL, never at one that redirects.
Multiple or duplicate canonicals on a single page force search engines to guess. When a page declares two different canonical tags, most engines ignore both rather than picking one. The page ends up uncanonicalized in practice.
Relative URLs instead of absolute ones are a quieter risk. href="/product" depends on the base URL resolving correctly; href="https://example.com/product" never does. Use absolute URLs in every canonical tag.
Capitalization and trailing-slash mismatches round out the list. /Product and /product are different URLs to most systems. So are /product and /product/. Pick one format, and apply it consistently across your canonicals, internal links, and sitemap.
I’ve seen sites move to HTTPS, or restructure their URL paths, and leave the old canonicals in place across hundreds of pages. That splits authority across two versions of every single one. A noindex tag on the wrong page compounds the same failure. When a page won’t index, check both tags together, not just the canonical.
Common canonical tag issues at a glance
| Issue | What it causes | The fix |
|---|---|---|
| Canonical points to a noindex or blocked page | Neither page gets indexed | Point the canonical at an indexable, live URL |
| Redirected or chained canonical | Google may not follow the chain, wasting the signal | Point directly at the final destination URL |
| Multiple or duplicate canonicals | Search engines ignore all of them | Keep exactly one canonical tag per page |
| Relative URLs | Risk of incorrect resolution | Use full absolute URLs |
| Capitalization or trailing-slash mismatch | Treated as separate URLs, signals split | Standardize one format everywhere |
Canonical tags for non-HTML content
A <link rel="canonical"> tag can’t exist inside a PDF, a spreadsheet, or any file that isn’t HTML. Those files need an HTTP response header instead. First, identify the non-HTML file that needs a preferred-URL signal, usually a PDF reachable through more than one path or tracked download link. Then configure your server to send a Link header with the response. Verify the header is actually present; don’t just assume the config worked.
Declaring rel=canonical in the HTTP header for PDFs and other files
The header looks like this:
Link: <https://example.com/file.pdf>; rel="canonical"
It applies whenever a downloadable file exists at more than one URL. Think duplicate PDF hosting, print-friendly exports, or download links carrying campaign parameters. Several canonical checkers only ever read the HTML <link> tag and skip this header entirely. That means they report a PDF as having no canonical at all, even when the server is sending one correctly. Sprout’s extension reads HTTP response headers directly in its HTTP Headers tab. A header-based canonical shows up there with no developer tools required.
How to check a page’s canonical tag
Checking a canonical tag takes four short steps. Paste a URL, read the result, confirm it’s intentional, and fix it if it’s not. Any of the three methods below gets you there. They differ in scope and speed, not in what they tell you.
- Paste the URL into a canonical checker.
- Read the declared rel=canonical.
- Confirm it’s self-referencing, or intentionally pointing elsewhere.
- Fix it if it’s wrong, missing, or conflicting.
Check a single page with the Sprout web tool
Paste any URL into the tool at the top of this page. It returns the page’s declared canonical along with a status: self-referencing, pointing elsewhere, missing, or conflicting. No crawl, no account required. A few full-audit suites offer a similar free single-URL lookup on the page itself. Where they stop is the next page you check: paste the URL again, one at a time. There’s no extension to skip that step.
See the canonical as you browse with the Sprout extension
Install the extension once, and the canonical of whatever page you’re on is available without pasting anything anywhere. That’s the difference between checking canonicals and just seeing them. A single-purpose web checker can only ever look at one URL you hand it. An in-browser tool shows you the tag on every page in your normal workflow, including ones you’d never think to check on purpose.
See the canonical tag, right from your browser
Flags self-referencing, canonicalized, or missing canonical tags, instantly, on every page you visit.
Confirm at scale in Google Search Console
Search Console’s URL Inspection tool confirms canonicalization at scale. It reports two fields worth comparing: “User-declared canonical,” the URL your tag names, and “Google-selected canonical,” the URL Google actually chose. When those two disagree, Google has picked a different signal over your declared canonical. That’s worth investigating, not ignoring.
Once a page’s canonical checks out, the rest of its technical setup is worth a look too. Sprout’s other free SEO tools cover the same no-crawl, no-account pattern. Redirects, status codes, and the other tags that live outside the rendered page all get the same treatment.
How to fix a wrong canonical
Fixing a wrong canonical takes three moves: find the correct URL, update the tag or header to point to it, and remove any duplicate canonicals on the page. Then re-check once Google has reprocessed it. A changed canonical doesn’t take effect the moment you publish it. Google has to recrawl the page first, so treat a fix as directional, not immediate.
1. Find the correct URL
Decide which version of the page should be preferred, based on which one you want ranking and where the strongest signals already point.
2. Update the tag or header
Edit the <link rel="canonical"> tag, or the HTTP header for non-HTML files, so it names the correct URL as an absolute link. Remove any second or conflicting canonical on the same page.
3. Recheck after reprocessing
Re-run the check once Google has revisited the page. Requesting a recrawl through Search Console can speed reprocessing along. It’s a nudge, not a guaranteed timeline.
Check every page’s canonical as you browse (Chrome, Firefox, Edge)
Install the Sprout SEO extension once. After that, the canonical of every page you visit is one click away, with no separate paste-and-check step. Canonical checking stops being a task you remember to do, and becomes something that’s just there while you work.
The rel=canonical in the Page Info tab, inline as you browse
Open the extension on any page. Its Page Info tab shows the declared canonical, labelled self-referencing, canonicalized, or missing. Browse from page to page during a normal audit, and that status updates with you, no fresh lookup required each time.
See the canonical of every page you visit, instantly, right in your browser. Add Sprout SEO to Chrome, and it’s one click away on every page from then on. The same extension works in Firefox and Edge too.
Check your canonical, then stop guessing on every page after this one
A canonical tag is one line of HTML with an outsized effect on what gets indexed. Check it before you ship a template change, a migration, or a new filtered URL structure. A wrong canonical doesn’t throw an error. It just quietly points Google somewhere else.
Add Sprout SEO to Chrome to see the canonical tag on every page you browse, free, with no crawl and no account required. It also works in Firefox and Edge, so the check travels with you no matter which browser your team standardizes on.