Where does this page say home is?

See the canonical, conflicts, chains, and hreflang returns for one page.

Loads the public example.com URL. Run the check when you are ready.

Reads source HTML. Up to 12 alternate pages, under 9 seconds.

  • No signup
  • No paywall
  • No public lookup history

The indie shelf

More small tools, ready now.

This tool stays focused on one job. Other tools by turushan are ready for the next small task.

Free for indies. No catch.

Straight answers about IndieCanonical: what the result means, what to do with it, and why there is no catch.

No asterisks hiding down here

What is a canonical URL?

A canonical URL is the one address you want search engines to index when several addresses show the same page: with and without www, with a tracking parameter, or on HTTP and HTTPS. You declare it with <link rel="canonical" href="..."> in the HTML head or with a Link header in the HTTP response. Google treats it as a strong preference when consolidating duplicate or similar pages, but it can select a different canonical. Its rules are in Search Central.

What is hreflang?

Hreflang tells search engines which language or region each version of a page serves, so a searcher in Germany gets the German page and not the English one. Each version carries a <link rel="alternate" hreflang="de" href="..."> for every version in the set, including itself. The value is a language code, optionally with a script or region, such as pt-BR, or x-default for the page that serves everyone else. Every target must be a full URL.

What is a canonical chain?

A canonical chain is a canonical that does not end where it points. The page names URL B as canonical, but B redirects to C, or B names D as its own canonical, or B has no canonical of its own to close the preference. Each hop is a chance for a search engine to pick a different URL than you meant.

IndieCanonical fetches the declared target, reads its redirects and its own canonical declaration, and reports the hop it found. Fix it by naming the final URL directly on the page you entered, and by giving that final page a canonical that names itself, so the preference closes in one step.

How do I fix a canonical conflict?

A conflict is two canonical declarations that name different URLs, usually one in the HTML head and another in the HTTP Link header, or two tags left behind by a plugin and a template. Search engines receive two preferences and choose for you. Keep one declaration, in one place, with one absolute URL. On the preferred page itself, that URL is its own address.

Google also recommends absolute URLs over relative ones, so a staging host or a base path change cannot point the canonical at the wrong site. A relative value that resolves correctly shows as a warning, not a failure, and the result prints the full URL to write in its place.

Does the check show which canonical Google chose?

No. IndieCanonical reads what the page declares: the HTTP headers and the HTML head the server sends, without running JavaScript. It does not read your sitemap, compare page content, or see Google's index. Google can select a different canonical than the one declared, and only the URL Inspection tool in Search Console shows that choice. A clean result here means the declarations agree and close, which is the part you control.

Is it really free?

Yes. No account, no card, no premium plan, no upgrade nag, no hidden paywall. IndieCanonical is free, all of it.

What happens to what I check?

There is no public lookup history. A network check sends the public input needed for that check to its named source. Local file tools process file contents in your browser. Analytics is currently off, so no visit or job data is sent to a tracker. Anything the tool saves for you stays in your browser.