ShipworkSite inspection
Checks
Every error, explainedGuides →
Pricing Learn Guides

How to fix a missing canonical tag

A missing canonical is not an error that stops a page ranking. It is an invitation for every variant of the URL to compete with the one you meant, and the fix is usually one line in a template.

Reads the canonical declaration on a bounded sample of your pages and compares it with the page URL. Nothing is stored.

What a canonical tag is

A canonical is a link element in the head that names the preferred URL for a page. When the same content is reachable at several URLs, from a tracking parameter, a sorting option or a trailing-slash variant, the canonical tells search engines which one to keep.

Why missing matters more than wrong

A single correct canonical is the default you want. None at all is a warning, not an error: search engines will choose a version themselves, and they may choose differently from you. A cross-domain canonical is the dangerous mistake, because it credits someone else. Two canonicals on one page is also an error, because the contradictory declarations can lead search engines to ignore both.

Find the current state

View the page source and search for rel="canonical". The inspector in developer tools is fine for reading it, but remember that a tag injected by JavaScript is not there for a crawler that does not run scripts.

The safe fix, per platform

  • The default answer is a self-referencing canonical: the tag points at the page you are on, using the absolute https URL with no query string.
  • On Shopify, the theme emits a self-referencing canonical in theme.liquid. If an app adds a second one, disable the duplicate rather than editing the theme around it.
  • On WordPress, the SEO plugin usually owns the canonical. If the theme also emits one, pick one source and turn the other off.
  • On Wix and similar builders, canonical is handled for you. Check it rather than adding it, and look for the duplicate risk when you add a custom script.

When a canonical is the wrong fix

A canonical is not a way to hide a page you dislike, and it is not a substitute for noindex. If the goal is removal from search, use noindex. If two pages are genuinely different and both should rank, a canonical is not the tool: fix the differentiation instead.

Check it without guessing

The canonical check reads every canonical on the page, reports duplicates and cross-domain targets, and notes whether it is self-referencing. It also spots the contradiction of a self-canonical sitting under a noindex.

Questions

What if a page has no canonical?
It can still be indexed. Without one, search engines pick a version themselves, which is why URL variants cause problems on pages that lack a canonical.
Should the canonical point to itself?
Yes, on the primary URL. A self-referencing canonical is the safe default and stops parameterised and trailing-slash variants being treated as separate pages.
Can a canonical point to a noindexed URL?
That is contradictory: one signal says keep this URL, the other says drop it. Decide which outcome you want and use one signal.
Do I need a canonical on every page?
Every indexable page should have exactly one. That includes product, collection, article and homepage URLs.