SEO Skill

Canonical tag checker

Paste a page URL and its HTML to see every canonical link, its resolved URL, and the checks that need attention.

Check canonical evidence in HTML

Paste the page URL and its HTML. Relative canonicals are resolved against the page URL or the first valid base tag.

The first 250,000 characters and 20 canonical candidates are checked in this browser tab.

No check run yet

Paste HTML to inspect its canonical links.

    A canonical is a preference signal

    A canonical link tells search engines which URL you prefer for duplicate or very similar pages. Google can still select another URL when its other signals point elsewhere.

    Google describes redirects and canonical link annotations as strong signals, while sitemap inclusion is weaker. Internal links should also point consistently to the preferred URL.

    A missing canonical is not automatically a defect

    A unique page can be understood without an explicit canonical. Treat a missing tag as an observation until duplicate versions, inconsistent internal links, or Search Console evidence show a real problem.

    Relative and cross-site values need human review

    The checker resolves relative values against the page URL or a valid base tag. A canonical pointing to another page or another site can be intentional, so the result describes the relationship instead of marking every mismatch as wrong.

    This check covers pasted HTML

    The tool does not fetch a live page or inspect an HTTP Link header. Paste the rendered HTML you want to review. You can send its title and description straight to the title and meta description checker without pasting them again.

    Your HTML stays in the browser

    The HTML is parsed in this browser tab and is not uploaded. Only a small set of candidate details is kept while the check is running.

    Read the canonical result

    The checker finds every canonical link in the HTML, resolves it to a full URL and says how it relates to the page: it points to itself, to another page on the same site, or to another site. It also reports more than one canonical, a canonical outside the head, and a value that cannot be read.

    ResultWhat it usually means
    Points to itselfThe normal case for a unique page. Nothing to do.
    Points to another pageThis page says it is a copy. Right for a filtered or tracking URL, wrong for a page you want ranked.
    More than oneGoogle may ignore all of them. Keep one.
    MissingFine for most unique pages. Worth adding where the same content has several URLs.

    Why Google picks a different canonical

    A canonical tag is a request, not an order. Google weighs it against redirects, internal links, the sitemap, HTTPS and how similar the pages are. When those point somewhere else, Google can choose another URL, and Search Console says so with the status Duplicate, Google chose different canonical than user. The fix is to make the signals agree: link to the URL you want, list only that URL in the sitemap, and redirect the others when you can.

    The status Alternate page with proper canonical tag is usually good news. It means Google found a duplicate, saw its canonical and indexed the page it points to. Act on it only when the listed page is one you wanted in the index.

    Fix common canonical mistakes

    • Every page points to the home page. A template bug that tells Google the whole site is one page.
    • Canonical to a page that redirects or returns an error. Point it at the final, working URL.
    • Mixed signals. The canonical says one URL while internal links and the sitemap use another, such as a trailing slash or http.
    • Canonical and noindex on the same page. They ask for different things. Pick one.
    • Translated pages pointing to the original. Each language version needs its own self-referencing canonical, with hreflang linking them. The hreflang generator builds that set.

    Check canonicals across your site with your agent

    One page tells you about one template. The seo crawl command checks every page it reaches on your own machine and reports missing, conflicting, repeated and relative canonicals, canonicals placed outside the head and chains where a canonical points to a page with its own canonical. Your agent can then trace each one to the template that prints it. Ask:

    Crawl example.com and list every page whose canonical points somewhere other than itself, grouped by template

    The crawl runs from the CLI on your machine. Install it and run setup:

    npm i -g seo && seo start

    Or add the hosted MCP server to your agent and sign in with Google:

    Run it in a terminal, then sign in with Google.

    Or run it on your machine

    Installs the CLI, signs you in and adds the skill to your agents. Site crawls and Bing data run this way, on your own machine. A crawl fetches many pages, and Bing blocks our hosted server.

    Canonical tag questions