Canonical Checker
Canonical tags tell search engines which URL represents the authoritative master copy of a page among duplicates or near-duplicates. This free canonical checker audits your rel="canonical" tags and URLs in seconds—detecting conflicting duplicate tags, insecure HTTP mismatches, invalid URL fragments, marketing tracking pollution, and trailing-slash drift. Everything runs privately inside your browser with zero server uploads.
Free tool · nothing is uploaded
Audit canonical tags & URLs
Inspect rel="canonical" tags for multiple conflicts, protocol mismatches, tracking pollution, trailing-slash drift, and RFC 6596 compliance.
- RFC 6596 compliance
- Conflict detection
- Tracking filter
- Protocol & slash hygiene
1Page URL & Canonical Markup
Enter the tested page address (including any query parameters or protocol variations).
Paste your page markup, an isolated <link> tag, or the target canonical URL directly.
2Canonical Health
— Enter a URL or markup to audit
Evaluates RFC 6596 compliance, syntax, and ranking risk.
- Canonical Type —
- Security & Protocol —
- URL Hygiene —
- Detected Tags —
3URL Component Inspection Matrix
| Component | Current Page URL | Target Canonical Declaration | Evaluation & Alignment |
|---|---|---|---|
| Awaiting URL input to compare components. | |||
4Diagnostic Findings & Action Items
- Info Enter a page URL or paste your HTML markup above to run the canonical audit.
5Validated Canonical Code Snippet
<!-- Validated canonical tag will appear here after analysis -->
What is a canonical checker?
A canonical checker is a diagnostic technical SEO tool that verifies the implementation and syntax of rel="canonical" link elements and HTTP response headers. Introduced formally in RFC 6596 and adopted by Google, Bing, Yahoo, and Yandex in 2009, canonicalization provides webmasters with a standardized mechanism to designate the definitive, preferred URL of a web document when identical or near-duplicate content exists across multiple web addresses.
Without proper canonicalization, search engine crawlers struggle to determine which URL to display in search engine result pages (SERPs). Link equity, PageRank, and behavioral ranking signals become fragmented across URL variations—such as URLs with tracking parameters, mobile subdomains, alternative category paths, or trailing-slash differences. This tool executes entirely client-side inside your browser, auditing your markup against Google Search Central guidelines and RFC specifications without uploading code or credentials to external servers.
How to use this canonical checker
- Enter your Current Page URL: Paste the live address of the document you are evaluating, including any query strings or protocol variations (e.g.
https://example.com/blog/seo-guide/?utm_source=social). - Provide your Page Markup or Canonical Tag: Paste your document's raw
<head>HTML, an isolated<link rel="canonical" href="...">tag, or the HTTPLink:header into the markup field. - Configure site-wide policies: Select your preferred trailing-slash policy (enforce trailing slash vs. strip trailing slash) and your query parameter policy (strip marketing tracking tokens vs. preserve parameters).
- Analyze the Health Score & Grade: Review the composite 0–100 canonical health score, the letter grade (A through F), and the 4 category breakdown bars.
- Inspect the Component Matrix: Compare the protocol, domain, path, query strings, and fragment status side-by-side between the current page and its declared canonical target.
- Review Diagnostic Action Items: Act upon critical error notices (conflicting tags, insecure HTTP, URL fragments) and warning recommendations.
- Export Clean Markup: Copy the validated, standardized
<link>element or HTTP Link header snippet directly into your CMS or server configuration.
How the canonical health score is calculated
The overall Canonical Health Score is computed as a weighted aggregate across four core dimensions of technical SEO integrity. Starting from a baseline of 100 points, each category measures adherence to RFC specifications and search engine crawler tolerances.
| Evaluation Dimension | Weight | Core Technical Factors Evaluated | Penalties & Deductions |
|---|---|---|---|
| Tag & Structure Integrity | 30% | Uniqueness of canonical declaration, tag placement inside <head>, non-empty href attributes, and markup syntax. |
Multiple conflicting tags (−70 pts, capped at 45 total); Missing canonical (−35 pts); Tag placed in <body> (−30 pts); Empty href (−70 pts). |
| Protocol & Host Security | 25% | Enforcement of secure HTTPS, host consistency (www vs. non-www), exclusion of development/staging hosts, and domain naming. | Disallowed scheme (−80 pts); Insecure HTTP on HTTPS page (−50 pts); Staging/localhost host (−70 pts, capped at 40 total); IP address (−35 pts); Host mismatch (−20 pts). |
| Path & Normalization | 25% | Exclusion of URL fragments (#), absolute vs. relative URL format, trailing slash consistency, and path character casing. |
URL fragment present (−45 pts, capped at 65 total); Relative URL format (−25 pts); Trailing slash drift (−15 pts); Uppercase casing (−10 pts). |
| Parameter & Query Hygiene | 20% | Exclusion of campaign tracking tokens (utm_*, gclid, fbclid), session IDs, and faceted query handling. |
Tracking parameter pollution (−50 pts, capped at 68 total); Excessive query strings (−20 pts); Unfiltered session tokens (−30 pts). |
Scores are mapped to industry-standard grading tiers: Grade A (90–100) indicates a verified, optimal canonical setup; Grade B (75–89) denotes minor normalization opportunities; Grade C (60–74) highlights caution items requiring developer attention; Grade D (40–59) represents high indexing risk; and Grade F (0–39) identifies critical blunders where search engines will outright discard the directive.
Critical canonical tag errors and how to fix them
1. Multiple conflicting canonical tags
One of the most severe blunders in technical SEO occurs when an eCommerce platform, CMS plugin, or hard-coded theme outputs two or more <link rel="canonical"> tags pointing to different URLs. Google has stated unequivocally that when crawlers encounter multiple conflicting canonical declarations on a single HTML document, all canonical tags are disregarded. The search engine falls back to algorithmic guessing, often choosing the wrong URL. Always ensure your templating engine renders exactly one canonical tag per page.
2. Canonical tags placed in the <body> instead of <head>
RFC 6596 Section 3 requires HTML link elements with rel="canonical" to appear exclusively within the document's <head> section. If a tag is injected into the <body>—frequently caused by third-party tracking scripts or prematurely closed head tags—search engines may overlook or completely discard it during DOM parsing.
3. Using relative URLs instead of absolute URLs
While RFC 6596 allows relative URLs (such as href="/category/product"), Google Search Central strongly recommends absolute URLs with explicit protocols (e.g. href="https://example.com/category/product"). Relative canonicals are fragile: if your server serves the page under multiple domains, subdomains, or staging mirrors, the relative path resolves to the current host, accidentally confirming duplicate copies on incorrect domains.
4. URL fragment identifiers (#anchor) in canonicals
A fragment identifier (such as #features or #pricing-table) points to a client-side anchor within a document, not an independent web resource. RFC 6596 explicitly states that fragment identifiers are meaningless in canonical URLs. Search engines index documents at the URL path level and will strip the fragment or treat the tag as malformed.
5. Campaign tracking parameters in canonical targets
Marketers frequently share URLs containing query strings such as ?utm_source=newsletter or ?fbclid=xyz. If your CMS dynamically reads the current browser URL to generate the canonical tag, the canonical tag becomes polluted with temporary tracking tokens. This leads search crawlers to index campaign URLs, causing duplicate listings in search results and splintering analytics data. Canonical URLs must always be stripped of marketing tracking parameters.
6. Insecure HTTP canonicals on HTTPS sites
If your website has migrated to HTTPS but your canonical tags still reference http://, you create a conflicting signal. The web server enforces HTTPS, but the canonical tag tells Google to prefer the unencrypted version. This conflict can lead to indexation instability and warnings in Google Search Console.
7. Trailing slash and URL casing discrepancies
Search engines treat example.com/services and example.com/services/ as two distinct URLs. If your internal links point to the version without a slash while your canonical tag specifies a trailing slash, crawlers must resolve the contradiction. Establish a single, consistent trailing-slash convention across your entire domain and align all canonical tags with that standard.
8. Canonical vs. 301 redirect loops
Never point a canonical tag to a URL that immediately issues an HTTP 301 or 302 redirect back to the current page or to a third URL. Canonical tags must point directly to the final, 200 OK destination. Pointing canonicals through redirect hops confuses search crawlers and wastes crawl budget.
HTML <link> tags vs. HTTP Link headers
Canonicalization is not limited to HTML markup. When serving non-HTML assets such as PDF whitepapers, Microsoft Office documents, images, or JSON data feeds, an HTML <head> element cannot be used. In these scenarios, search engines support the HTTP Link response header.
| Feature | HTML <link rel="canonical"> Tag | HTTP Link Response Header |
|---|---|---|
| Supported File Types | HTML and XHTML web pages only. | All downloadable assets: PDF, DOCX, CSV, images, HTML. |
| Implementation Location | Inside the document <head> section. |
Web server response headers (Apache, Nginx, Cloudflare Workers). |
| Syntax Example | <link rel="canonical" href="https://example.com/page/" /> |
Link: <https://example.com/doc.pdf>; rel="canonical" |
| CMS Accessibility | Accessible via WordPress themes, SEO plugins, and templates. | Requires server configuration or CDN edge worker rules. |
| Overhead | Requires crawler to download and parse HTML markup. | Evaluated during initial HTTP header handshake before body download. |
Worked examples and test scenarios
| Current URL | Declared Canonical Tag | Score | Grade | Evaluation & Recommendation |
|---|---|---|---|---|
https://example.com/saas/?utm_source=twitter |
<link rel="canonical" href="https://example.com/saas/"> |
100 | A | Verified Optimal. Correct self-referential canonical stripping campaign tracking parameters cleanly. |
https://example.com/product |
<link rel="canonical" href="https://example.com/product"><link rel="canonical" href="https://example.com/items/product"> |
45 | D | Critical Conflict. Multiple conflicting tags detected. Search engines will ignore all canonical declarations. |
https://example.com/pricing |
<link rel="canonical" href="http://example.com/pricing#plans"> |
65 | C | Multiple Errors. Insecure HTTP protocol on HTTPS site and prohibited URL fragment (#plans). |
https://example.com/blog/seo/ |
<link rel="canonical" href="/blog/seo"> |
60 | C | Drift Risk. Relative URL used instead of absolute format, plus missing trailing slash relative to live URL. |
https://example.com/features |
<link rel="canonical" href="https://staging.example.com/features/"> |
40 | D | Severe Staging Leak. Canonical points to pre-production host; risks de-indexing live production page. |
Honest limitations of client-side canonical checking
- Browser CORS security boundaries: Because this tool executes entirely within your browser to protect your privacy and data security, it cannot send arbitrary cross-origin HTTP requests to fetch live third-party URLs. You must provide the URL and paste the source HTML or tag directly.
- HTTP response status codes: This tool evaluates markup and URL syntax. It cannot verify whether the canonical target URL currently returns a
200 OK,301 Redirect, or404 Not Foundwithout server probes. - Search engine canonical selection is a hint, not a mandate: While
301 redirectsare strict directives, Google treatsrel="canonical"as an authoritative hint. If the canonical target is 404, blocked byrobots.txt, marked withnoindex, or substantively different in content from the source page, Google's algorithms may choose an alternative canonical.
Frequently asked questions
What happens if a page has two or more canonical tags?
If a page contains multiple rel="canonical" tags with differing target URLs, search engines will treat the canonical declarations as conflicting and ignore them completely. The page is treated as having no canonical tag at all, leaving search engines to determine the canonical address algorithmically.
Should every page have a self-referential canonical tag?
Yes. Google Search Central explicitly recommends that every indexable page declare an absolute, self-referential canonical tag pointing to itself. This ensures that if the page is requested with session tokens, UTM tracking tags, uppercase letters, or syndication query strings, search engines consolidate link equity onto the master clean URL.
Does Google treat rel="canonical" as a directive or a hint?
Google treats rel="canonical" as a strong hint, not an absolute directive. Unlike a 301 server redirect which forcibly routes user agents, Google reserves the right to override a canonical tag if the target URL returns an error, redirects elsewhere, is blocked by robots.txt, or contains completely different content from the source document.
Can a canonical URL include query parameters?
Yes, but only if those query parameters alter the core content of the page in a meaningful, indexable way (such as ?page=2 in paginated archives or ?variant=blue for distinct product SKUs). Canonical URLs should never include tracking parameters (utm_*, gclid), session IDs, or sorting filters (?sort=price_desc).
Why are hashtag fragments (#) forbidden in canonical tags?
Per RFC 6596 Section 3, fragment identifiers represent client-side anchors inside an existing document, not separate server-side documents. Search engine indexing algorithms operate at the document URL level; including a fragment identifier invalidates the specification.
Can I canonicalize across different domain names?
Yes. Cross-domain canonicalization is fully supported by Google and RFC 6596. It is commonly used when publishing syndicated articles on Medium, LinkedIn, or partner blogs to credit the original source publication and prevent syndication copies from outranking the original content.
Is my website markup or URL uploaded to any server?
No. This tool is built entirely in client-side HTML, CSS, and vanilla JavaScript. All parsing, regular expression matching, and URL analysis occur locally within your web browser's JavaScript engine. No data is stored, cached, or transmitted across the network.
Related tools
- Meta Title & Description Generator — generate click-optimized meta tags with live pixel length checks
- SERP Snippet Preview — visualize desktop and mobile search snippet appearance
- On-Page SEO Auditor — audit heading hierarchy, technical tags, and content structure
- Sitemap Validator — validate XML sitemap entries, URLs, and lastmod tags
- Redirect Map Builder — create clean, one-to-one 301 redirect mappings
Next step
Scaling organic traffic for a SaaS product or digital platform requires airtight technical foundations alongside strategic positioning. Discover how our team builds high-converting organic acquisition funnels on our SaaS promotion and technical SEO service page.
