Paste a page HTML and see every canonical tag it carries, with checks for count, placement, absolute form and protocol. Add the page URL to test self reference and consistency.
Your files are processed in your browser, on your own device. Nothing is uploaded to a server.
Paste a page HTML into this canonical tag checker and it lists every canonical tag in the code, shown exactly as written, then tests each one for count, placement, and form. Add the current page URL and it also checks self reference, trailing slash and www consistency, and flags a canonical that points at a different domain.
Read these before you trust any result, because they set the limits of what a paste can prove.
Everything else about the tag itself can be judged from the code, and that is what this tool does. A missing result here is reported as no tag found in the pasted code, never as proof that the live page has no canonical.
The run happens in your browser and nothing is uploaded, so staging pages and templates still under review are safe to paste.
Start with presence and count. A page should carry one canonical, and exactly one. Two canonicals with different targets are worse than none, because crawlers may ignore both rather than pick a side. Next comes placement. The tag belongs inside the head of the page. A canonical printed in the body is ignored by search engines, a classic side effect of a template bug or a misplaced plugin hook.
Form matters too. An absolute URL, starting with the full protocol and domain, leaves nothing to interpretation, while a relative path asks the crawler to work out the rest. The protocol check looks for https rather than http, since pointing a secure page at its insecure twin invites a redirect hop you never planned. When you add the page URL, the checker also tests whether the canonical points back at the page itself, whether the trailing slash habit matches between the two, and whether one uses www while the other drops it. Small mismatches like those are how duplicate versions of a page survive for years.
Because the moments when canonicals break are the moments before a page goes live. A new template ships with the test domain still in the tag. A staging build gets copied to production with its own address baked in. A plugin update starts printing a second canonical next to the theme one. A URL based fetcher cannot reach any of those pages, since they sit behind logins or do not exist in public yet.
A paste reaches all of them. You copy the source from your CMS preview or your staging build, and the same checks run that you would want on the live page. Catching a cross-domain canonical in review costs a minute. Catching it after Google has spent a month crediting the wrong domain costs far more.
It is a canonical tag that points at the page itself. Most original pages should have one, since it tells crawlers which version of the address is the keeper when parameters or tracking codes create copies.
Search engines only read the canonical when it sits in the head of the document. A tag that lands in the body, often through a template mistake, is ignored as if it were never written.
It can, and sites do it by accident all the time, usually a theme and a plugin printing one each. When the targets disagree, crawlers often disregard both, so the fix is to leave exactly one.
Crawlers can resolve a relative canonical, but an absolute URL removes all doubt about protocol and domain. This checker marks relative values as worth fixing rather than broken.
That decision happens inside Google systems after crawling and comparing signals from the whole site. Search Console reports it. No paste of a single page can reveal it.
The report will say no tag was found in the pasted code. The live page might still send one in the HTTP Link header, which page source never shows, so check the headers or your SEO plugin settings before concluding anything.
Same rules as this one: free, in your browser, with nothing uploaded.
See if a page repeats a phrase a healthy amount.
Title and description tags, written and copied clean.
A correct robots file without the guesswork.
A fast on-page check with a clear fix list.
Read the title, description and social tags of any page.
The tags that decide how a shared link looks on social media.
See the social preview tags a page already carries.
Card tags so a link posted on X shows its picture and title.