Guide
What is the Check canonical URL tool?
Check canonical URL is a free tool that reads every canonical signal on a page and shows which canonical URL search engines would honor. Enter a URL and it fetches the page, follows redirects, then inspects both the rel=canonical link tag in the HTML and the rel=canonical entry in the HTTP Link header.
A page can declare its canonical in two places, and this tool reads both:
| Signal | Where it lives | Best for | Notes |
|---|---|---|---|
| rel=canonical link tag | HTML <head> | Regular HTML pages | The most common form; ignored when it sits outside <head> |
| rel=canonical Link header | HTTP response header | PDFs and other non-HTML files | Also valid for HTML; must agree with the link tag |
| No canonical | Nowhere | Not recommended | Search engines pick a version themselves |
When it comes in handy
- You migrated or redesigned a site and want to confirm every template still emits the right canonical.
- A page ranks with the wrong URL variant (with parameters, without a trailing slash, http instead of https) and you suspect canonical problems.
- Your CMS or SEO plugin injects its own canonical and you want to check it does not conflict with one already in the template.
- You syndicate content and need to verify the copy points its canonical at the original article.
- Google Search Console reports "Duplicate, Google chose different canonical than user" and you want to see what the page actually declares.
How to use
- Paste the URL of the page you want to inspect.
- Press Check. The tool fetches the page on our server, follows redirects, and reads the HTML and headers.
- Review the results: the effective canonical URL, whether it is self-referencing, every declaration found with its source, and a list of flagged problems.
For example, checking https://example.com/blog/post?utm_source=x where the page declares <link rel="canonical" href="https://example.com/blog/post"> reports the canonical as https://example.com/blog/post and marks it as canonicalizing to another URL, which is exactly what you want for a parameterized duplicate.
Which canonical problems does it flag?
| Check | Severity | What it means |
|---|---|---|
| Missing canonical | Warning | No declaration anywhere; search engines choose a version themselves |
| Conflicting canonicals | Error | Declarations point to different URLs; Google usually ignores all of them |
| Duplicate declarations | Warning | The same canonical is declared more than once |
| Invalid URL | Error | A canonical value cannot be parsed as a URL |
| Relative URL | Warning | Valid but error-prone; Google recommends absolute URLs |
| #fragment in the URL | Warning | Fragments are invalid in canonicals and get dropped |
Canonical outside <head> | Warning | Search engines ignore canonical tags in the body |
| http target on an https page | Warning | The canonical downgrades to the non-secure version |
| Cross-domain canonical | Info | Valid for syndicated content; confirm it is intentional |
| noindex + canonical to another URL | Warning | Mixed signals; the noindex can keep the canonical from consolidating |
Notes
- The tool reports what the page declares. Google treats canonicals as a hint, so the URL it ultimately picks can still differ; compare with the URL inspection report in Search Console.
- Redirects are followed first, and the canonical is read from the final URL. To audit the redirect chain itself, use the redirect checker.
- To check whether a page can be indexed at all, use the noindex checker. To inspect the page's OGP and social sharing tags, use the OGP checker.


