Skip to content
Live check · fetches your URL server-side

Canonical Checker

Bulk-check every URL variant (http/https, www, slash, UTM) in one run.

A canonical tag tells search engines which version of a URL is the original when multiple URLs show identical or near-identical content. Most checkers test one URL and stop. This canonical checker bulk-tests every common variant-http and https, www and non-www, with and without trailing slash, with and without UTM parameters-detects inconsistencies between the HTML <link rel="canonical"> tag and the HTTP Link: header, and flags self-referencing errors.

One URL per line. We auto-generate common variants.

Generate the whole content, not just check it.

BlazeHive writes SEO articles end to end from a single keyword. Outline, draft, meta, schema, internal links. Free trial, no card.

Start with BlazeHive Free trial

What a canonical checker actually does

A canonical checker fetches a URL, parses the HTML <head> section for <link rel="canonical" href="...">, reads the HTTP response headers for a Link: <...>; rel="canonical" header, and compares the two. If both are present and differ, there is a conflict. If neither is present, the page has no explicit canonical and risks duplicate-content issues.

It also generates common URL variants and tests each one. Given https://www.example.com/page, we test http://www.example.com/page, https://example.com/page, http://example.com/page, https://www.example.com/page/, and https://www.example.com/page?utm_source=test. Each variant might return a different canonical, a redirect, or the same canonical as the original. Our checker maps the results so you see the full picture in one table.

Three problems show up repeatedly. The first is cross-domain canonicals-where the tag points to a different domain entirely, usually after a migration or CDN misconfiguration. The second is redirect chains-where a URL canonicalizes to another URL that redirects to a third. The third is missing canonicals on paginated or filtered pages, which leads to duplicate content penalties.

How to use this canonical checker

  1. Paste your URL into Primary URL. Use the version you consider canonical-usually https, www if you use it, and no trailing slash unless your CMS requires it.
  2. Paste additional variants into Extra variants to check if you want to test specific URLs. One per line. We auto-generate the common variants (protocol, subdomain, trailing slash), so this field is optional.
  3. Hit Check canonicals. You get a table with one row per tested URL. Each row shows the URL, the HTTP status code, the canonical found in the HTML tag, the canonical found in the HTTP header, and whether they match.
  4. Look at the Conflicts column. A red flag means the HTML canonical differs from the HTTP canonical, or the URL canonicalizes to itself when it should not, or the canonical points to a URL that returns 404.
  5. Click Download report to export the table as CSV. Use it to batch-fix canonicals in your CMS or pass it to a developer.

Try checking https://www.example.com/page on a WordPress site. You might find that the www version canonicalizes to https://www.example.com/page (non-www) and that the non-www version canonicalizes to itself. If both versions return 200, Google might treat them as duplicates unless one redirects to the other. The checker shows this conflict in one pass.

Why URL variants create duplicate content

Google treats https://example.com/page, https://www.example.com/page, http://example.com/page, and https://example.com/page/ as four separate URLs. If all four return 200 and show identical content, Google must guess which is the original. Canonical tags remove the guesswork by declaring one URL as the source. The other three should either redirect to the canonical or include a canonical tag pointing to it.

Three practical consequences.

Link equity dilution. If half your backlinks point to the www version and half to the non-www version, Google sees two pages splitting the authority. A canonical consolidates that equity onto one URL.

Crawl budget waste. If Google crawls all four variants, it uses four requests to index one page. On large sites, this multiplies across thousands of pages. Canonical tags or 301 redirects stop the duplication.

Index confusion. Google might index the wrong variant-the http version instead of https, or the trailing-slash version when you prefer no slash. A canonical tag tells Google which one to show in search results.

HTML canonical vs HTTP header canonical

The HTML canonical lives in the <head>: <link rel="canonical" href="https://example.com/page">. The HTTP header canonical lives in the response headers: Link: <https://example.com/page>; rel="canonical". Both serve the same purpose. If both are present and agree, great. If both are present and disagree, Google picks one-usually the HTTP header because it is sent before the HTML is parsed.

CDNs, proxies, and server-side redirects sometimes add HTTP header canonicals without the site owner knowing. If your CMS outputs an HTML canonical pointing to URL A, but your CDN adds an HTTP header pointing to URL B, you have a silent conflict. Our checker shows both so you can spot mismatches.

Some CMSes and frameworks set canonicals incorrectly by default. Shopify sometimes canonicalizes product URLs to the first collection they appear in, even if the product is in five collections. WordPress multisite installs can canonicalize to the wrong subdomain if the site URL setting is stale. Testing variants reveals these edge cases.

Self-referencing canonicals and when they matter

A self-referencing canonical means the URL's canonical tag points to itself: <link rel="canonical" href="https://example.com/page"> on https://example.com/page. This is correct for the canonical version of a page. It tells Google "this is the original, not a duplicate."

However, if a variant self-references-https://example.com/page/ canonicalizes to itself instead of the no-slash version-you have a problem. Google sees two self-referencing URLs with identical content and must pick one. The better fix is to 301 redirect the slash version to the no-slash version or to canonicalize the slash version to the no-slash version.

Paginated URLs-/blog/page/2, /blog/page/3-should canonicalize to themselves, not to /blog, because each page has unique content. Filtered or sorted URLs-/products?sort=price-often should canonicalize to the unfiltered version /products because the content overlaps. Our checker does not enforce these rules automatically; it shows the canonical you set and flags inconsistencies. You decide the policy.

Common mistakes

  • Every URL canonicalizing to the homepage. Some plugins and themes default to this. It tells Google every page is a duplicate of the home. Check one deep page-a blog post or product-to confirm it canonicalizes to itself, not to /.
  • Canonical points to a 404. After a migration or URL change, old pages may still canonicalize to URLs that no longer exist. Our checker fetches the canonical URL and reports the status code. If it is 404, remove the canonical or update it.
  • Canonical points to a redirect. If the canonical is https://example.com/old but that URL 301s to /new, Google has to follow the redirect. Better to canonicalize directly to /new.
  • Using relative URLs in the canonical tag. <link rel="canonical" href="/page"> works in most browsers but is technically invalid. Use absolute URLs: href="https://example.com/page".
  • Canonicalizing http to https but not redirecting. If the http version canonicalizes to https but still returns 200, users on the http URL see mixed-content warnings and stay on http. A 301 redirect is better than a canonical tag for protocol changes.
  • Testing only the canonical version. You need to test the variants to see what they do. If the www version does not canonicalize to the non-www version, you have a duplicate.

Advanced tips

  • Test one URL from each page type: homepage, category, product, blog post, paginated archive. Canonicals often differ by template, and a problem in one template affects all pages using it.
  • Check query parameters. ?utm_source=twitter and ?ref=email should canonicalize to the clean URL if the content is identical. If they do not, you are creating infinite variants.
  • Look for cross-domain canonicals after a migration. If you moved from old-domain.com to new-domain.com but forgot to update canonicals, pages on the new domain might still canonicalize to the old one. This tells Google to index the old site.
  • If you use hreflang tags for localized pages, confirm each language variant canonicalizes to itself. A common error is having all language versions canonicalize to the English URL.
  • Bulk-check canonicals in your sitemap. If your sitemap lists 500 URLs, a script can call this checker in a loop and export a CSV of any that do not self-reference. Catch problems before Google does.
  • Re-check after deploying a new theme, plugin, or CMS update. Canonical logic can break silently when a dependency changes.

If your canonical check reveals conflicts, fix them in your CMS settings or theme code, then re-run the check. If you also need to confirm that your sitemap only includes canonical URLs, use the sitemap checker to cross-reference. To see how your page's full metadata-title, meta description, OG tags, and canonical-renders in Google, Twitter, and LinkedIn, the website metadata checker previews all of them side by side. If you want to confirm that Googlebot can reach the canonical URL and is not blocked by robots.txt, the SEO checklist runs 20 on-page checks including canonical validation.

Generate the whole content, not just check it.

BlazeHive writes SEO articles end to end from a single keyword. Outline, draft, meta, schema, internal links. Free trial, no card.

Start with BlazeHive Free trial

Frequently Asked Questions

What is a canonical tag?

A canonical tag is an HTML element in the head section that tells search engines which URL is the primary version when multiple URLs contain the same or very similar content. It looks like this: <link rel="canonical" href="https://example.com/page" />. Without it, search engines must guess which version to index when you have duplicate content caused by URL parameters (example.com/page?sort=price), protocol variants (http vs https), subdomain variants (www vs non-www), or trailing slash variants. When Google sees a canonical tag, it consolidates ranking signals (backlinks, engagement metrics, content quality) to the canonical URL and treats other versions as duplicates. This prevents your own pages from competing with each other. Canonical tags are hints, not directives. Google may ignore them if the declared canonical is very different from the duplicate, or if you have conflicting signals like sitemaps listing the non-canonical version. Use a self-referencing canonical on every page to prevent accidental duplication.

How do I check if a canonical tag is working?

Check three places: the HTML source, the HTTP headers, and Google's index. First, view the page source (right-click, View Page Source, or Ctrl+U / Cmd+Option+U) and search for rel="canonical". You should see one link tag in the head section pointing to the preferred URL. If you see multiple canonical tags or none, that is a problem. Second, check the HTTP headers using our tool or a command like curl -I https://example.com/page and look for a Link: header with rel="canonical". Some sites declare canonicals via HTTP header instead of HTML, which is valid but less common. If both exist and point to different URLs, the HTML version wins. Third, check Google's index by searching site:example.com/page and see what URL appears. If Google shows a different URL, your canonical may be ignored. Google Search Console shows the canonical under URL Inspection. Paste your Primary URL into our tool, and we fetch HTML and HTTP headers, extract all canonical declarations, test variants, and flag conflicts or missing tags.

What does canonical mean in simple terms?

Canonical means the official, preferred, or authoritative version of something. In SEO, a canonical URL is the one URL you want search engines to index and rank when multiple URLs show the same or nearly identical content. For example, if your product page is accessible at yoursite.com/product, yoursite.com/product/, yoursite.com/product?ref=email, and http://yoursite.com/product, all four URLs might render the same content, but you only want Google to index one. You pick the canonical (usually the simplest version) and use a canonical tag on every variant to point to it. This tells Google to ignore the duplicates and consolidate all ranking signals to the canonical. Without canonicalization, your ranking authority splits across four URLs, each competing with the others, and Google may pick the wrong one. Think of it like having four business cards with slightly different spellings. You tell everyone which one is official. Canonical tags do the same for URLs. Use our tool to verify every variant points to the same canonical.

Can canonical tags hurt my website?

Yes, if you point them to the wrong URL or create conflicting signals. A canonical tag is a strong hint to search engines, so a misconfigured canonical can deindex pages you want indexed. Common mistakes: pointing every page to your homepage (this tells Google to ignore all other pages). Canonical chains (page A canonicalizes to B, B canonicalizes to C) confuse crawlers. Canonical to a 404 or redirect. Mismatched canonical and sitemap (your sitemap lists URL A, but URL A canonicalizes to URL B). HTTP vs HTML conflicts. Cross-domain canonical to a site you do not control. Our tool checks for these issues by fetching your Primary URL, testing variants, and comparing the canonical declared in HTML, HTTP headers, and your sitemap. If we find conflicts or chains, we flag them with a fix recommendation. Run this check after migrations, theme changes, or whenever rankings drop unexpectedly.

How does a canonical tag work?

A canonical tag tells search engines to treat one URL as the primary version and consolidate all ranking signals to that URL, even when other URLs contain identical content. When Googlebot crawls a page, it parses the HTML and looks for a canonical tag in the head section or HTTP Link header. If it finds one, Google treats that URL as the authoritative version and deprioritizes the page it is currently crawling. All external links pointing to the duplicate pass their authority to the canonical, and Google indexes the canonical URL instead. This prevents duplicate content penalties and prevents your own pages from competing. Canonicals are hints, not commands. Google may ignore a canonical if the content is substantially different or if you have conflicting signals. Always self-reference canonicals and ensure variants point to the same canonical. Use our tool to test every variant and confirm they all resolve to the same final canonical URL.

What is canonical validation?

Canonical validation is the process of checking that every page on your site has a correct, consistent canonical tag that points to the intended URL with no conflicts, chains, or errors. It covers five checks: presence (does the page have a canonical tag), syntax (is it properly formatted), consistency (do all variants point to the same canonical), accessibility (does the canonical URL return 200), and alignment (does the canonical match what is listed in your sitemap). A valid canonical improves crawl efficiency, prevents duplicate content issues, and ensures ranking authority consolidates to the right pages. Our tool automates this by taking your Primary URL, fetching the page, extracting the canonical from HTML and HTTP headers, generating common variants, fetching each variant, and comparing all canonical declarations. If every variant points to the same canonical and that canonical is live, you pass. If we find conflicts, chains, or accessibility issues, we flag them with a fix guide. Run validation before launch, after URL structure changes, and quarterly to catch regressions.

What is the difference between a canonical tag and a 301 redirect?

A canonical tag tells search engines to treat one URL as the primary version while leaving all URLs accessible to users. A 301 redirect forces both users and search engines to the primary URL and makes the old URL inaccessible. Use a 301 when you want to permanently move a page after a URL restructure or domain migration. Use a canonical when multiple URLs need to remain accessible for user experience but you want search engines to index only one. For example, e-commerce sites often have product pages with filter parameters that users need, but all variants should canonicalize to the base URL to avoid duplicate content. A canonical is invisible to users. They stay on the URL they clicked. A 301 is visible. Users see the URL change. Canonicals are hints. 301s are commands. If you control both URLs and do not need the duplicate accessible, use a 301. If users need both, use a canonical. Never use both on the same page.

How do I fix a missing canonical tag?

Add a self-referencing canonical tag to every page template in your CMS or site framework. For WordPress, install Yoast SEO, Rank Math, or All in One SEO, and they add canonicals automatically. For Shopify, canonicals are built in and added to every page by default. For Webflow, enable the canonical URL option in page settings. For Next.js or Astro, use the Head component to insert <link rel="canonical" href={currentPageUrl} /> in every layout. For custom HTML sites, add this line inside the head section: <link rel="canonical" href="https://yourdomain.com/this-exact-page" />. Make sure the href uses an absolute URL and points to the version you want indexed. If you have URL variants, all variants should declare the same canonical. After adding canonicals, validate by pasting your URL into our tool and confirming the canonical is present, self-referencing, and consistent across variants. Missing canonicals are common after theme changes or CMS migrations.

Can I have multiple canonical tags on one page?

No, and if you do, search engines will ignore all of them or pick one unpredictably. Only one canonical tag is allowed per page. If your HTML has two <link rel="canonical"> tags (a common bug after installing multiple SEO plugins), Google ignores both and decides the canonical on their own. Similarly, if your page has one canonical in the HTML head and a different one in the HTTP Link header, the HTML version takes precedence, but the conflict signals a misconfiguration. The fix: audit your page source using our tool, identify which canonical is correct, and remove the conflicting one. For WordPress users, multiple canonicals usually happen when you activate two SEO plugins at the same time. Deactivate one. For custom sites, check your layout template, header scripts, and server-side code. After fixing, re-test with our tool and confirm only one canonical appears and points to the correct URL.

How do I check canonical tags in bulk?

Use a site crawler to fetch every page and extract canonicals programmatically. Tools like Screaming Frog, Sitebulk, or Ahrefs Site Audit crawl your entire domain and generate a spreadsheet with one row per page showing the declared canonical, whether it is self-referencing, and whether the canonical URL returns 200 or an error. This is essential for large sites where manual spot-checks miss regressions. For smaller sites, use our tool: paste your Primary URL and any known variants into the Extra variants field, and we fetch all of them, compare canonicals, and flag conflicts. For ongoing monitoring, set up a weekly or monthly crawl, export the canonical report, and filter for rows where the canonical does not match the URL or returns a 404. Canonical issues often appear after CMS updates, so periodic bulk checks catch them before they cost rankings.

Related free tools

All tools →