Canonical path trail
Every hop is drawn as a step, so a redirect followed by a canonical followed by another canonical reads as one clear trail instead of scattered values.
Paste a URL to see which canonical it declares, whether every signal agrees, and where the canonical actually lands once the target page is followed.
The canonical target is fetched as well, which is how chains and loops surface.
HTML link element, Link response header, and og:url are compared against each other.
Enter the URL, read the canonical path, then work through the audit before copying a corrected tag.
Use the exact address including any query string, because a parameter version of a page is usually where canonical problems appear. Redirects are followed first, and the report tells you when the URL you entered was not the URL that finally answered.
The path shows each hop as a separate step: the URL you entered, the final URL after redirects, the canonical that page declares, and where that canonical target points next. A healthy page produces a short path that ends on itself.
Findings are split into how the canonical is declared, how it agrees with other signals, where it points, and which indexing directives apply. Each row explains what a search engine does with the value found rather than only naming the problem.
If the page should be indexed under its own address, copy the self-referencing tag from the signals panel into the head. Deploy the change, then run the URL again to confirm the path now ends on the page itself.

Every hop is drawn as a step, so a redirect followed by a canonical followed by another canonical reads as one clear trail instead of scattered values.
The canonical target is fetched once more, which reveals a page that canonicalises somewhere else again or points straight back at the page you started from.
A canonical declared in the Link response header is read alongside the HTML link element, and any disagreement between the two is reported as an error.
Robots meta and X-Robots-Tag directives are read too, because a noindex page that still declares a canonical sends search engines two contradictory instructions.
The raw canonical value, its resolved absolute form, og:url, robots directives, tag count, and every hreflang alternate are listed exactly as the page declares them.
When the canonical points elsewhere, the report builds the self-referencing link element for the current URL so a correction is one copy away.
These notes describe which server performs the two page fetches, how long a report stays in the shared cache, and whether an account is involved in running a check.
A Rune server requests the page, follows redirects, and reads the canonical link element, the canonical Link response header, og:url, and the robots directives. When the canonical names a different URL, that URL is fetched once more to see what it points at.
Reports live in the open tab and in a short shared fetch cache that expires by itself. No checked URL is written to an account, a history list, or a permanent record.
Running a check, reading the canonical path, and copying a self-referencing tag all work without an account and without any sign-in step.
Canonical tags are a hint rather than a directive, so a clean report is a strong signal and never a guarantee.
Google treats a canonical as a suggestion and can still select a different URL as the indexed version.
Internal links, sitemap entries, redirects, and hreflang all feed that decision alongside the tag itself.
A canonical injected by client-side JavaScript may not appear in the server response this check reads.
Google can pick up a rendered canonical, but a server-rendered one is far more reliable and easier to audit.
A canonical pointing away from a page is correct when the page is a genuine duplicate of the target.
The same setup on a unique page quietly removes it from search results, so check intent before changing anything.
Only the URL you enter is inspected, so a site-wide problem needs several representative pages checked.
Parameter, pagination, filter, and print versions are the usual places where canonical mistakes hide.
Canonical Tag Checker inspects one public HTTP or HTTPS page per run and follows the declared canonical a single hop, so deeper chains need a second check on the next URL.
Runs are rate limited per address because each check costs two outbound fetches, and every result is cached briefly so a repeated check can return the earlier read.
It tells search engines which URL is the preferred version of a page when the same content is reachable at several addresses. Ranking signals from the duplicates are consolidated onto the URL the canonical names.
Google does not require one, but it is a strong safeguard. A self-referencing canonical protects against parameter versions, session identifiers, and scraped copies quietly competing with the page you actually want indexed.
A chain is page A naming page B while page B names page C. Google does not reliably follow more than one hop, so the signal can dissolve part way. Point every duplicate straight at the final URL instead.
Only when both URLs should stay reachable, such as a filtered version of a category. When one URL has genuinely moved, a 301 redirect is stronger, faster to act on, and unambiguous for both crawlers and visitors.
The two instructions contradict each other. Noindex says to drop this page while the canonical says to consolidate it onto another URL. Google warns against the combination because the resulting behaviour is unpredictable.
No. The fetch reads the server response only, which is exactly what most crawlers see first. If your canonical appears here as missing but exists in the browser, it is being injected on the client and should be moved server side.
4.3 (659 ratings)