Free Tool

Free Canonical URL Checker

Check the canonical URL declared on any page. Detect mismatches that hurt SEO. Compare HTTP, HTTPS, www, and trailing-slash variants. Free, no signup, instant.

Follows up to 5 redirects, parses HTML <link rel="canonical"> and Link header. SSRF-protected.

No signup required
Free forever
GDPR compliant
Powered by U2L

Quick Answer

A canonical URL checker fetches a page and reports the canonical URL declared via <link rel="canonical"> in the HTML head or via a Link HTTP header. The U2L Canonical URL Checker compares the declared canonical against the requested URL, surfaces mismatches across www / non-www / HTTPS / trailing-slash variants, and grades the result with clear verdicts (match, mismatch, missing, redirect-handled).

Quick Facts

  • Reads <link rel="canonical" href="..."> from the HTML head and the Link: <...>; rel=canonical HTTP response header.
  • Compares canonical against requested URL with normalized comparison (case-insensitive host, trailing-slash-agnostic).
  • Surfaces verdict: match (canonical = requested), mismatch (different page), missing (no canonical declared), or redirect-handled (canonical = final destination after redirects).
  • Follows up to 5 redirect hops with per-hop SSRF protection. Reports both the requested URL and the final destination.
  • Useful for: SEO audits, duplicate-content debugging, www / non-www consistency checks, post-migration canonical verification.
  • Cached at the U2L edge for 5 minutes. Repeat checks on the same URL return instantly.
  • For continuous monitoring across multiple domains, sign up free for U2L Pro to schedule daily canonical checks with alerting on regressions.

How to check a canonical URL

Two steps. URL in, verdict out.

  1. 1

    Enter the URL to check

    Paste any public HTTP / HTTPS URL. The checker follows redirects up to 5 hops; the canonical reported is from the final destination's HTML / Link header.

  2. 2

    Read the verdict

    Match (canonical = your URL): correct. Mismatch (canonical = different URL): you may be losing SEO value. Missing: search engines guess; consider adding a canonical. Redirect-handled: canonical points to the URL after redirects, which is correct.

  3. 3

    Test variants if mismatch found

    If the canonical doesn't match, the tool surfaces likely-related variants (HTTP vs HTTPS, www vs non-www, trailing slash). Check each variant to find the canonical's source of truth.

What is a Canonical URL Checker?

Canonical URL Checker is a tool that fetches a webpage and reports its canonical URL - the URL the page declares as its preferred form for search engines. Canonical URLs are an SEO mechanism for handling duplicate content: when the same content is reachable via multiple URLs (HTTP / HTTPS, www / non-www, trailing slash, query parameters), the canonical tells search engines which URL to index and rank.

Canonical URLs are declared two ways: <link rel="canonical" href="..."> in the HTML head, or a Link: <...>; rel=canonical HTTP response header. Most sites use the HTML form; some sites (especially those serving non-HTML content like PDFs) use the Link header. Both are equivalent to search engines; the HTML form takes precedence if both are present.

Without a canonical, search engines guess which URL is the 'real' one. Their algorithms usually pick the right URL but can pick wrong - especially during migrations, when traffic patterns change, or when multiple variants get backlinks. A misidentified canonical can split your link equity across URLs, fragmenting your SEO. Explicit canonicals prevent this.

The U2L Canonical URL Checker fetches the page, parses both canonical declaration locations, and compares against the requested URL. Verdicts are color-coded: green for match, amber for mismatch (which may be intentional or a bug, depending on context), red for missing or redirect-handled. The variants panel surfaces likely-related URLs to test.

How does a Canonical URL Checker work?

When you submit a URL, the request hits Cloudflare's edge Worker. The Worker validates the URL (HTTPS or HTTP, public IP via SSRF guard) and starts a manual-redirect-following GET request with a 6-second timeout.

Each redirect hop is also SSRF-checked - prevents an attacker-controlled redirect from causing the server to fetch internal URLs. After up to 5 hops, the final response's HTML body is read (up to 1 MB; canonical is in <head>, so we don't need the full page).

Two parsers run in parallel: regex extraction of <link rel="canonical" href="..."> from the HTML head section, and parsing of the Link: <...>; rel=canonical HTTP response header. The HTML canonical takes precedence if both are present; otherwise the Link header is used.

Comparison normalizes both URLs (lowercase host, strip trailing slash) before comparing, so example.com/page/ and example.com/page are treated as equivalent. Case differences in the path are preserved (paths are case-sensitive on most servers).

Use Cases

How marketers, businesses, and developers use canonical url checker.

Pre-launch SEO audit

Before launching a new site, verify every page has a canonical URL pointing to itself. Missing canonicals are common at launch and silently fragment SEO.

Post-migration canonical verification

Site moved from HTTP to HTTPS, or from non-www to www? Run the checker on a sample of URLs to confirm canonicals point to the new variant. Catches half-migrated configs.

Duplicate-content debugging

Same content reachable at /page and /page?utm_source=email? Confirm the canonical on both points to the same URL. Without it, search engines may rank the parameterized version.

WWW vs non-WWW consistency

Check both www.example.com/page and example.com/page. They should canonical to the same URL (whichever you've designated as primary). Mismatched canonicals split SEO.

HTTPS rollout confirmation

After enabling HSTS, verify HTTP URLs canonical to HTTPS variants. Search engines should no longer index the HTTP form.

Pagination canonical strategy

Page 2 of a paginated archive should typically canonical to page 1 (or to itself, depending on your strategy). The checker surfaces the actual declared canonical for review.

Cross-domain content syndication

If your content is syndicated to a partner site, the partner's canonical should point to your original. Confirm via the checker that the partner is implementing this correctly.

Mobile vs desktop canonical alignment

Sites with separate m.example.com mobile URLs should canonical to the desktop URL (or use responsive design + one canonical). Verify the canonical mapping.

Vendor / SaaS due diligence

Evaluating a SaaS vendor? Quick canonical check on their marketing pages reveals SEO hygiene. Sloppy canonicals = sloppy SEO = sloppy ops.

Periodic SEO health monitoring

Quarterly check across top-100 pages on your site. Canonical regressions happen silently after CMS updates; periodic checks catch them.

Canonical URL Checker vs Alternatives

Side-by-side feature and pricing comparison with the top alternatives.

FeatureU2LScreaming FrogSitebulbLighthouse
Free, no signup500 URLs freeTrial only
HTML <link> + Link header parsingHTML only
Verdict (match / mismatch / missing)Manual
Variant suggestions on mismatch
Browser-only (no install)
Edge-cached responses5 min
Follows redirects5 hops

Canonical URL Checker vs Screaming Frog SEO Spider

Screaming Frog is the industry-standard SEO crawler. Crawls full sites, reports canonicals, redirects, status codes, and 100+ other SEO signals. Free up to 500 URLs; paid (~$259/year) for unlimited.

U2L's checker is single-URL, no install. For full-site SEO audits, Screaming Frog wins. For 'check this one URL's canonical right now', U2L is faster and free at any volume.

Canonical URL Checker vs Browser DevTools

Open DevTools, view source, ctrl-F for 'canonical'. Free, immediate, no tool needed.

U2L's checker adds parsing of the Link HTTP header (which DevTools makes you dig for in the Network tab), comparison verdict against requested URL, and variant suggestions. For one-off checks, DevTools is fine; for repeated audits, U2L is faster.

Best Practices

Self-referential canonicals on every page

Every page should canonical to itself unless there's a deliberate reason otherwise. The default safest setup is <link rel="canonical" href="https://example.com/this-page"> on every page.

Use absolute URLs, not relative

<link rel="canonical" href="/page"> works in modern browsers but is risky - if the base URL is wrong (e.g. someone reverse-proxies your site), the canonical resolves wrong. Use absolute URLs (https://example.com/page).

Don't canonical to a 404 or redirect

Canonical URLs should resolve to a 200 OK page. Canonicals pointing to redirects (301/302) or errors (404/500) are SEO bugs that fragment your authority.

Match canonical to your preferred protocol / host

If you've chosen HTTPS over HTTP and www over non-www, every canonical should reflect those choices. Mixed canonicals (some HTTP, some HTTPS) confuse search engines.

Canonicalize parameterized URLs

URLs with utm_source / fbclid / gclid / session_id should canonical to the parameter-free version. Otherwise search engines may index the parameterized variant, splitting authority.

For pagination, canonical to self (modern)

Each page in a paginated archive should canonical to itself, NOT to page 1. The 'canonical-to-page-1' pattern was deprecated by Google in 2019. Each page is its own URL.

For syndication, canonical to original

If your content is republished elsewhere (partner sites, Medium import), the syndicated copy should canonical back to the original. Otherwise the syndicated version may outrank yours.

Audit canonicals after every CMS update

WordPress / Webflow / Shopify canonicals are CMS-generated. CMS updates can silently change canonical behavior. Test critical pages after every update.

Common Mistakes to Avoid

Canonical pointing to a different page

Common bug: canonicals on /page-2, /page-3, etc. all point to /page-1 (the legacy pagination pattern). Modern best practice: each page canonicals to itself.

Canonical mismatch on www vs non-www

https://example.com/page canonicals to https://example.com/page; https://www.example.com/page canonicals to https://www.example.com/page. Both should canonical to the same URL.

Relative canonical URLs

<link rel="canonical" href="/page"> resolves relative to the current URL. Reverse-proxies and CDN setups can break this. Use absolute URLs.

Canonical with tracking parameters

Canonicalizing https://example.com/page?utm_source=email to itself preserves the parameter, fragmenting SEO. Strip parameters in canonicals: canonical to https://example.com/page (clean).

Canonical pointing to a redirect

Canonical: https://example.com/old-page (which 301s to /new-page) is broken. Search engines may not follow the redirect from the canonical. Canonical directly to /new-page.

Both rel=canonical and rel=alternate hreflang

International sites with hreflang need careful canonical strategy. Each language version should canonical to itself (NOT to the English version) AND list other languages via hreflang.

Forgetting canonical on mobile / AMP pages

AMP pages should canonical to the standard HTML version. Mobile m.example.com pages should canonical to the desktop equivalent. Easy to miss; quick to verify with the checker.

Technical Specifications

EndpointGET /api/tools/canonical-checker?url=...
Sources parsed<link rel="canonical" href="..."> in HTML head; Link: <...>; rel=canonical HTTP header
PrecedenceHTML link tag wins if both present
Redirect handlingFollows up to 5 hops; reports both requested URL and final destination
SSRF protectionPer-hop check: loopback, RFC1918, link-local, cloud-metadata blocked
Body read limit1 MB (canonical is in <head>; full body not needed)
Cache TTL5 minutes at the Cloudflare edge
ComparisonNormalized: case-insensitive host, trailing-slash agnostic
Verdictmatch / mismatch / missing / redirect-handled

Industry-Specific Use Cases

SEO professionals and agencies

Pre-launch audits, migration QA, periodic health checks. Canonical regressions happen silently; the checker catches them.

DevOps and SRE

Post-deploy canonical verification, www / HTTPS rollout confirmation, CDN config validation.

Web developers

Frontend developers debugging duplicate-content issues. Backend developers verifying canonical-emission logic.

E-commerce

Product URLs with variant parameters (color, size). Canonical strategy is critical for not splitting authority across thousands of variant URLs.

Content marketing and publishing

Republished content via Medium, LinkedIn Articles, partner sites. Canonical back to original protects SEO.

International / multilingual sites

Multi-language sites with hreflang need careful canonical strategy. The checker confirms each language version canonicals correctly.

Frequently Asked Questions

What's a canonical URL?

The URL a page declares as its preferred form for search engines. Used to handle duplicate content: when the same page is reachable via multiple URLs (HTTP / HTTPS, www / non-www, with / without parameters), the canonical tells Google which URL to index.

Where is the canonical declared?

Two places: <link rel="canonical" href="..."> in the HTML head, or a Link: <...>; rel=canonical HTTP response header. Most sites use the HTML form. The U2L checker reads both.

What's the difference between canonical and 301 redirect?

301 redirect: the URL no longer serves content; visitors are sent to the new URL. Canonical: the URL still serves content but points to a preferred version for indexing. 301 is for moves; canonical is for duplicates.

Should every page have a canonical?

Best practice: yes, self-referential. Every page should canonical to itself, even if there are no duplicates. Self-referential canonicals are explicit and unambiguous; missing canonicals leave indexing to Google's guesses.

What happens if I have no canonical?

Google's algorithms guess which URL is the canonical. Usually they pick the right one, but during migrations or when multiple variants get backlinks, they can pick wrong - splitting your SEO authority. Explicit canonicals prevent this.

Can canonical URLs be cross-domain?

Yes. Used for content syndication: example.com publishes the original; partner.com republishes with rel=canonical pointing to example.com. Tells Google to credit example.com as the source.

Does Google always honor canonical?

Mostly. Google treats canonical as a strong hint, not a directive. If your canonical is clearly wrong (e.g. canonical to a different topic page, or canonical to a redirect), Google may override and pick its own.

What if the canonical points to a different page?

May be intentional (duplicate content consolidation) or a bug. The U2L checker flags as 'mismatch' for review. Confirm whether the target is a true duplicate (intentional) or an unrelated page (bug).

Do canonical URLs work for non-HTML content?

Yes via the Link HTTP header. PDFs, images, and other non-HTML responses can declare canonicals via response header. Useful for PDF documents that should canonical to a webpage version.

Should I canonicalize parameterized URLs?

Generally yes. URLs with utm_*, fbclid, gclid, session_id should canonical to the parameter-free version. Otherwise Google may index the parameterized variant, splitting authority.

What about pagination - canonical to page 1?

Modern best practice (post-2019): each paginated page canonicalizes to itself. The legacy 'canonical to page 1' pattern was deprecated. Each page is its own URL with its own SEO signals.

How does the checker handle redirects?

Follows up to 5 hops. Reports both the requested URL and the final destination. The canonical is read from the final destination's HTML / headers. If the canonical points to the final URL (correct), the verdict is 'redirect-handled'.

Can I check canonicals at scale?

The free tool checks one URL at a time. For batch / site-wide auditing, use Screaming Frog (desktop) or Sitebulb. The U2L API can be hit programmatically (1 req/sec recommended).

What's the verdict 'redirect-handled'?

The requested URL redirected to a different URL (the final destination), and the canonical on the final destination points to the final URL. This is correct behavior - the redirect handled the canonicalization.

Why does the checker normalize URLs before comparing?

URLs like https://example.com/page/ and https://example.com/page are functionally the same to most servers but textually different. Normalization (case-insensitive host, optional trailing-slash) prevents false 'mismatch' verdicts.

Does this work for international (hreflang) sites?

Yes, but with caveats. Each language version of a page should canonical to itself (the German version canonicals to the German URL). The checker confirms this; cross-language canonical (e.g. German to English) would be flagged as mismatch and is usually a bug.

Is there an API I can call programmatically?

Yes. GET https://u2l.ai/api/tools/canonical-checker?url=... returns JSON. Cached for 5 minutes. No auth required. Be polite - 1 request per second per URL is a safe rate.

What if the canonical is JavaScript-rendered?

The checker doesn't execute JavaScript - it parses the raw HTML response. If your canonical is injected by JS (e.g. SPA frameworks), the checker won't see it. Most SEO tools have this limitation; render canonicals server-side for reliable indexing.

Key Terms

Canonical URL
The URL a page declares as its preferred form for search engines. Declared via <link rel="canonical" href="..."> in HTML head or via Link HTTP response header.
Duplicate content
Same content reachable via multiple URLs. Canonical URLs are the SEO mechanism to consolidate signals to one preferred URL instead of splitting them across variants.
Self-referential canonical
A canonical that points to the page itself. Best-practice default - explicit and unambiguous, even when there's no duplicate to consolidate from.
Link header
HTTP response header used to declare related URLs. Format: Link: <https://example.com>; rel=canonical. Equivalent to the HTML <link> tag for canonical declarations.
301 redirect
Permanent redirect at the HTTP level. Different from canonical: a 301 means the URL no longer serves content; canonical means the URL still serves content but prefers another for indexing.
hreflang
HTML link attribute (rel="alternate" hreflang="...") used by international sites to declare language variants. Works alongside canonical: each language version canonicals to itself + lists other languages via hreflang.
AMP
Accelerated Mobile Pages. Mobile-optimized HTML format. AMP pages should canonical to the standard HTML version of the same content.

Want continuous canonical monitoring across your domains?

Sign up free for U2L Pro to schedule daily canonical checks across multiple domains, receive alerts when canonicals regress, and audit your top-100 pages with one click.

Sign up free