Canonical URL Checker
Paste HTML source to analyze canonical tags, og:url, and base href. Detect duplicates, protocol mismatches, placement issues, and get SEO recommendations.
Updated
HTML Source Input
Check Summary
Paste HTML source code to run canonical checks.
Canonical Tag Best Practices
Each page should have exactly one <link rel="canonical"> tag in the <head>. Multiple canonicals confuse search engines.
Always use the full URL (https://example.com/page) rather than a relative path (/page). Google strongly recommends absolute URLs.
Every page should include a self-referencing canonical tag pointing to itself, even if no duplicates exist. This prevents issues with URL parameters.
The Open Graph og:url meta tag should match the canonical URL for consistency between search engines and social platforms.
If your site uses HTTPS, the canonical URL must also use HTTPS. Never mix protocols.
Pick one format (with or without trailing slash) and use it consistently. Set up redirects for the other version.
The canonical tag must be in the <head> section. Search engines may ignore canonical tags found in the <body>.
The canonical URL should return an HTTP 200 status. Pointing a canonical to a redirect, 404, or 5xx URL causes issues.
Frequently Asked Questions
What is a canonical tag?
A <link rel="canonical"> tells search engines which URL is the preferred version of a page, consolidating ranking signals and avoiding duplicate content.
Should og:url match canonical?
Yes. For consistency between search engines and social platforms, og:url should match the canonical URL.
Why absolute URLs?
Google recommends absolute URLs in canonical tags. Relative paths may be misinterpreted across different hostnames or protocols.
Is the Canonical URL Checker free to use?
Yes, the Canonical URL Checker is 100% free with no registration, no hidden fees, and no usage limits. All processing happens locally in your browser, ensuring complete privacy.
Is my data safe with this tool?
Absolutely. The Canonical URL Checker processes everything client-side in your browser. No data is uploaded to or stored on any server. Your content remains private on your device at all times.
Does the Canonical URL Checker work on mobile devices?
Yes, the Canonical URL Checker is fully responsive and works on smartphones and tablets. You can use it on any device with a modern web browser -- no app download required.
Do I need to create an account to use this tool?
No account or registration is needed. Simply open the Canonical URL Checker in your browser and start using it immediately. There are no sign-up walls or usage restrictions.
Does this tool follow Google's latest guidelines?
Yes, the Canonical URL Checker is built following current Google Search guidelines and best practices. We regularly update the tool to reflect changes in search engine requirements.
How do I use the Canonical URL Checker?
Simply enter your input in the provided field, adjust any settings to your preference, and the tool will process it instantly. You can then copy the result to your clipboard or download it.
Which browsers are supported?
The Canonical URL Checker works in all modern browsers including Chrome, Firefox, Safari, Edge, and Opera. For the best experience, use the latest version of your preferred browser.
What happens if a page has two different canonical tags?
When a page contains more than one <link rel="canonical"> in the head, search engines treat the conflicting signals as unreliable. Google's documented behaviour is to ignore all of them rather than guess, so the page falls back to other clues like internal links and sitemaps to pick a canonical for you. That often means the URL you wanted consolidated does not win, splitting ranking signals across duplicates. Duplicate canonicals usually creep in when a CMS template and an SEO plugin both inject one, or when a hardcoded tag survives a migration. This checker flags the issue directly: its Single Canonical check fails and reports the exact count it found, while the summary lists the first extracted URL. Paste your full HTML to confirm only one canonical is present before search engines have to make the choice themselves.
What is the difference between a canonical tag and a 301 redirect?
Both tools point search engines to a preferred URL, but they work very differently. A 301 redirect is a server directive that physically sends users and crawlers from one URL to another, so the original page becomes unreachable. A canonical tag is only a hint inside a page that still loads normally; visitors stay on the URL they requested while you tell search engines which version to index and credit. Use a 301 when a page has genuinely moved or should no longer exist, and a canonical when duplicate or near-duplicate content must remain accessible, such as filtered, paginated, or parameter URLs. Because a canonical is a strong hint rather than a directive, Google can override it. This checker audits the canonical signals in your pasted HTML so the hint you send is clean, absolute, and consistent.
Can I use a relative URL in a canonical tag instead of a full URL?
Technically a browser will resolve a relative canonical like /products/shoes against the page's location or any <base href>, so it is not invalid HTML. In practice Google strongly recommends absolute URLs because relative paths are easy to misresolve across protocols, subdomains, or staging hosts, which can canonicalise a page to the wrong address. A stray <base href> in the head makes this worse, since it changes how the relative path is interpreted. The safe choice is always the complete form, https://www.example.com/products/shoes, including scheme and host. This checker's Absolute URL check warns whenever your canonical is relative, and the summary panel also surfaces any base href it detects so you can spot a conflicting resolution base. Paste your HTML to confirm the canonical is fully qualified before it ships.
Does every page really need a self-referencing canonical tag?
It is not strictly required, but adding a self-referencing canonical to every page is a widely recommended safeguard. Even pages with no obvious duplicates are often reachable through tracking parameters, uppercase variants, session IDs, or trailing-slash differences, and a canonical pointing the page at its own clean URL tells search engines which form to consolidate. Without one, crawlers must infer the preferred version themselves, which can scatter ranking signals across accidental duplicates. The tag should hold the exact, absolute, HTTPS URL of the page it sits on. This checker shows you precisely where your canonical points in its Self-Referencing check and extracts the URL in the summary, so you can confirm it matches the page rather than pointing at the homepage or another address. Paste your HTML to verify each page references itself correctly.
Does this tool fetch my live page or just read the HTML I paste?
It analyses only the static HTML you paste, parsing it on your own device with the browser's built-in parser exactly as a browser would read the markup. It does not crawl your live URL, render JavaScript, follow the canonical, or check whether the target returns an HTTP 200 status. That keeps everything private and instant, but it means two things to verify separately: if your canonical tag is injected by client-side JavaScript, paste the rendered HTML rather than the raw template, and confirm the canonical target actually resolves to a live 200 page elsewhere, since pointing a canonical at a redirect, 404, or 5xx weakens the signal. Within those bounds it reliably extracts and checks the canonical, og:url, and base href. Paste your page source to run all eight checks at once.
Related Tools
Free SEO Meta Tag Generator
Generate SEO-friendly meta tags for your website. Title, description, keywords, and more. Free, fast, and works entirely in your browser with no sign-up required.
Free Open Graph Tag Generator
Create Open Graph and Twitter Card meta tags for social media sharing. Free, fast, and works entirely in your browser with no sign-up required.
Free Robots.txt Generator
Generate a robots.txt file to control search engine crawling. Free, fast, and works entirely in your browser with no sign-up required.
Free Keyword Density Checker
Analyze keyword density and frequency in your content for SEO optimization. Free, fast, and works entirely in your browser with no sign-up required.
About the Canonical URL Checker
The Canonical URL Checker is a free tool for auditing the canonical signals inside a page's HTML. Paste the full source of any page and it extracts the <link rel="canonical"> tag, the og:url meta tag, and any <base href>, then runs a series of checks and returns a plain-language report of what passes, what to fix, and why. It is built for SEOs, developers, and content owners who need to confirm a page is sending one clear, consistent signal about which URL should be indexed.
A canonical tag is a <link rel="canonical" href="..."> element that tells search engines which URL is the preferred version of a page. When the same content is reachable through several URLs — tracking parameters, an http and https variant, or trailing-slash differences — the canonical consolidates ranking signals onto one address and helps prevent duplicate-content dilution.
What it checks in your HTML
Paste your markup and the checker parses it the same way a browser would, surfacing eight distinct checks:
- Canonical present — confirms a
<link rel="canonical">exists at all. - Single canonical — flags pages with more than one canonical, which search engines may ignore or resolve unpredictably.
- Absolute URL — warns when the canonical is a relative path like
/pageinstead of a fullhttps://example.com/page, which Google recommends. - Self-referencing — shows the exact URL the canonical points to so you can confirm it matches the page itself.
- og:url match — compares the Open Graph
og:urlagainst the canonical and warns on a mismatch. - Canonical in head — checks the tag sits inside
<head>; canonicals placed in the<body>are often disregarded. - HTTPS consistency — flags an
http://canonical, especially when the page already containshttps://links. - Trailing slash — reports whether the path ends in a slash so you can keep one consistent form sitewide.
Each result is labelled pass, warning, fail, or info, with a short recommendation where action is needed. A summary panel tallies the counts and lists the extracted canonical, og:url, and base href at a glance.
Why canonical accuracy matters
A misconfigured canonical is one of the quieter ways to lose organic visibility. Pointing every page at the homepage, leaving two conflicting canonicals in the head, or canonicalising an https page to its http version can cause search engines to drop pages from the index or attribute their authority to the wrong URL. Common situations where this tool earns its place:
- Verifying a self-referencing canonical after a CMS or template change.
- Catching a mismatch between
og:urland canonical before it confuses social and search crawlers. - Confirming paginated, faceted, or parameter-laden URLs resolve to the intended canonical.
- Spotting protocol or trailing-slash inconsistencies during an HTTPS migration.
Google treats the canonical as a strong hint rather than a directive, so consistency across internal links, sitemaps, redirects, and og:url makes it far more likely your preferred URL is the one that ranks.
How to use it and how your data is handled
Paste your page's HTML into the input, or click Load Sample to see a correctly configured example. The report updates as soon as there is markup to read. You can copy the detected canonical tag straight to your clipboard, reset to start over, and review the built-in best-practices panel covering one canonical per page, absolute URLs, HTTPS, and 200-status canonical targets.
Everything runs locally in your browser. The tool parses your HTML on your own device using the browser's built-in parser, so nothing is uploaded to a server. There is no sign-up, no usage limit, and it works on desktop and mobile alike. Note that it analyses the static HTML you paste — it does not fetch the live URL or follow the canonical to verify its HTTP status, so confirm the target returns a 200 separately.