Canonical Tag Checker

Check canonical tags for multiple URLs at once. Detect missing, self-referencing, and cross-domain canonicals with HTTP header comparison.

TL;DR: A canonical tag tells search engines which version of a page should rank. Get it wrong and Google splits your link equity across duplicates, wastes crawl budget, or indexes the wrong URL entirely. This free tool checks up to 50 URLs at once. It compares HTML and HTTP header canonicals, flags missing tags, and catches mismatches before they become ranking problems.

What Is a Canonical Tag?

A canonical tag is a small piece of HTML that lives in a page's <head> section. It tells search engines: "This is the original version of this content. Index this URL, not the others." The tag uses the rel="canonical" attribute to specify the preferred URL.

Google, Bing, and other search engines introduced canonical tags in 2009 to solve a simple but widespread problem. Websites often serve the same content on multiple URLs. Think example.com/shoes and example.com/shoes?color=red&sort=price. Without a canonical tag, search engines have to guess which version matters. They guess wrong more often than you'd expect.

The rel="canonical" Syntax

The HTML canonical tag looks like this:

<link rel="canonical" href="https://example.com/preferred-page" />

A few rules to follow. Always use absolute URLs starting with https://. Relative URLs create ambiguity and search engines may misinterpret them. Place the tag inside the <head> element. And make sure only one canonical tag exists per page. Multiple conflicting canonicals confuse crawlers and they will likely ignore both.

Why Duplicate Content Is a Problem

Duplicate content does not trigger a penalty from Google. That is a common myth. But it does cause real damage in less obvious ways. When the same content appears on multiple URLs, Google has to decide which one to index. It does not always pick the one you want. Backlinks pointing to different versions get split instead of consolidated. And Googlebot wastes crawl budget visiting pages that add no unique value.

Common causes of duplicate content include URL parameters (tracking codes, sort filters, session IDs), HTTP vs HTTPS versions, www vs non-www variations, trailing slashes, and CMS-generated duplicates like print-friendly pages or tag archives.

Problem Without Canonical Tags With Canonical Tags
Duplicate content Google picks a version at random You control which version ranks
Split link equity Backlinks spread across duplicates All signals flow to one URL
Crawl budget waste Bot crawls every duplicate Bot focuses on canonical URLs
URL parameters Each combo indexed separately Parameter variations consolidated

Types of Canonical Tags

Self-Referencing Canonicals

A self-referencing canonical points to the page itself. Every indexable page on your site should have one. It may seem redundant, but it acts as an explicit declaration. You are telling Google: "This is the correct URL. Even if someone accesses a version with extra parameters, this is the one that counts." Without it, Google has to make assumptions. Self-referencing canonicals remove that guesswork.

Cross-Domain Canonicals

Sometimes you publish the same content on two different domains. Syndicated articles are a common example. A guest post that also lives on your own blog. In this case, the syndicated version should include a cross-domain canonical pointing back to the original. This tells Google to credit the original publisher with the ranking signals. Cross-domain canonicals are valid but use them carefully. If Google suspects manipulation, it may ignore the tag entirely.

HTML Canonical vs HTTP Header Canonical

There are two ways to set a canonical. The HTML method uses a <link rel="canonical"> tag in the page source. The HTTP method uses a Link: <url>; rel="canonical" response header. Both carry the same weight. Use HTML for regular web pages. Use the HTTP header for non-HTML resources like PDFs, images, or documents that do not have a <head> section.

If both methods are present and they disagree, Google gets conflicting signals. In practice, Google tends to use the HTTP header version. But the safest approach is to make sure both match or only use one method per page. This tool checks both and flags mismatches automatically.

How Google Handles Canonical Tags

Here is something most SEOs overlook: the canonical tag is a hint, not a directive. Google reserves the right to ignore it. If Google thinks your canonical tag is wrong, it will pick a different URL to index. This happens more than people realize.

Google considers several signals alongside the canonical tag. These include internal links, sitemaps, redirects, page content similarity, and HTTPS preference. If your canonical points to page A but your sitemap and internal links all point to page B, Google may override your canonical. The tag works best when it aligns with every other signal on your site. Think of it as a strong vote, not an absolute command. For more details, see Google's official documentation on canonicalization.

Canonical Tag vs 301 Redirect

Both canonical tags and 301 redirects consolidate duplicate URLs. But they work differently and serve different purposes.

  • 301 redirect: Sends users and bots to a new URL. The old URL becomes inaccessible. Use this when a page has permanently moved or when you want to merge two pages into one.
  • Canonical tag: Keeps both URLs accessible to users but tells search engines to index only the canonical version. Use this when you need both URLs to work (such as filtered product pages or tracking URLs).

A 301 is a stronger signal than a canonical tag. If you can redirect, redirect. Use canonicals only when both URLs need to remain functional for users. And never do both on the same URL pair. A page that 301-redirects should not also carry a canonical tag because the user never sees the page anyway.

Canonical Tags and Pagination

Paginated series need special attention. Each page in a paginated set (page 1, page 2, page 3) contains different content. That means each page should have a self-referencing canonical. Do not point page 2 back to page 1 unless page 2 is a true duplicate. Google deprecated rel="next" and rel="prev" in 2019, so the canonical tag is the primary signal left for paginated content. Treat each page as its own standalone URL.

Common Canonical Tag Mistakes

  1. Canonical pointing to a 404 page. If the target URL returns a 404, Google ignores the tag. The duplicate may get indexed instead. Always verify that canonical targets are live, 200-status pages.
  2. Canonical on noindexed pages. A canonical says "index this other URL." A noindex says "don't index this page." Together, they send conflicting signals. Pick one. If you want to block indexing, use noindex. If you want to consolidate, use canonical.
  3. Canonical chains. Page A points to B. Page B points to C. Google may follow one hop but not a chain. Always point directly to the final preferred URL.
  4. Using relative URLs. Relative canonical URLs can be misinterpreted depending on the base URL configuration. Always use fully qualified absolute URLs starting with the protocol.
  5. Canonicalizing to a blocked URL. If the canonical target is blocked by robots.txt, Google cannot crawl it. The signal breaks. Make sure canonical targets are crawlable.
  6. Multiple canonical tags on one page. Some CMS plugins inject their own canonical alongside one you set manually. Google sees two conflicting tags and may ignore both. Audit your source code to confirm only one exists.

Checking Canonical Tags at Scale

Checking canonical tags one page at a time does not scale for sites with hundreds or thousands of URLs. This tool lets you paste up to 50 URLs and check them in bulk. For each URL it fetches the HTML source and the HTTP response headers. It then compares both canonical values and categorizes the result.

Look for patterns in the results. If an entire subdirectory has missing canonicals, the issue is likely in a template. If canonical chains appear across your domain, you probably have legacy redirects compounding the problem. Batch checking helps you spot systemic issues instead of chasing individual pages.

Frequently Asked Questions

Does every page need a canonical tag?

Every indexable page should have a self-referencing canonical tag. This removes ambiguity for search engines. Without one, Google decides on its own which URL to index. It may pick a version with tracking parameters or a non-preferred protocol. Adding a self-referencing canonical takes seconds and prevents this.

Can Google ignore my canonical tag?

Yes. The canonical tag is a hint, not a directive. Google can override it if other signals contradict it. For example, if your canonical points to URL A but your sitemap, internal links, and backlinks all reference URL B, Google may choose B. Keep your canonical tags consistent with your internal linking and sitemap.

What happens when the HTML canonical and HTTP header canonical disagree?

Conflicting canonicals confuse search engines. Google typically favors the HTTP header version, but there is no guarantee. The safest practice is to use only one method per page. If you must use both, make sure they point to the same URL. This tool flags mismatches so you can fix them.

Should I use a canonical tag or a 301 redirect for duplicate pages?

Use a 301 redirect when the old URL no longer needs to be accessible. Use a canonical tag when both URLs must remain functional for users. A 301 is a stronger signal. If you can redirect, that is the better option. Canonicals are best for cases like parameter variations or syndicated content.

Do canonical tags pass link equity like 301 redirects?

Yes. When Google honors a canonical tag, it consolidates ranking signals from the duplicate to the canonical URL. This includes link equity from backlinks. The effect is similar to a 301 redirect, but since the canonical is a hint, consolidation only happens when Google agrees with your tag.

How do canonical tags work with hreflang for international sites?

Each language or regional version of a page should have its own self-referencing canonical. The hreflang tags then point between the different language versions. Do not canonicalize all language versions to one page. That tells Google only one language version matters, which defeats the purpose of hreflang entirely.

How should paginated pages handle canonical tags?

Each paginated page should have a self-referencing canonical. Page 2 canonicalizes to page 2, not to page 1. The content on each page is different (different items listed), so they are not true duplicates. Pointing all pages back to page 1 would tell Google to ignore the content on pages 2 and beyond.

Related Free SEO Tools

  • Redirect Chain Checker: Trace redirect paths for canonical URLs that might be redirecting through chains before reaching their final destination.
  • On-Page SEO Analyzer: Run a full technical SEO audit that includes canonical tag validation alongside meta tags, headings, and content analysis.
  • Bulk HTTP Status Checker: Verify that your canonical target URLs return 200 status codes and are not broken or redirecting.