Search

Pages declare their canonical address

seo.missing-canonical

Why this matters

A canonical tag tells Google which address is the real one for a page. Without it, the same page reachable with a tracking parameter or a trailing slash can be treated as several competing pages.

Who fixes it

You can, usually

Roughly how long

Minutes

Care needed

Low risk to change

How to fix it

Add a self-referencing canonical tag to every page.

On your platform

WordPress

Yoast, Rank Math and SEOPress all add a self-referencing canonical to every page automatically, so a missing one usually means no SEO plugin is installed rather than a setting being wrong. Installing one fixes this across the whole site at once.

Shopify

Shopify's themes print this from `{{ canonical_url }}` in `theme.liquid`, so a missing tag means that line has been removed from the head — check there first. Note that Shopify deliberately points a product reached through a collection back at the plain product address, which is correct rather than a fault.

Drupal

The Metatag module has a canonical URL setting. Set it once on the content type using the token for the node's own address and it applies everywhere.

Joomla

The usual cause on Joomla is one article reachable through more than one menu item, which gives a single page several addresses. Tidying the menu structure is the real fix; an SEO extension can add the tag meanwhile, and Joomla's SEF URL settings decide which address it points at.

How we score it

Failing this check takes up to 8 points off your search score. It is a fact about your site rather than a measurement, so it reads the same on every scan until you change something.

Does your site pass this one?

This check runs on every scan, along with the other 106. Free, no account, and you see the evidence for each result.

Check my site

Other search checks

See all 107 checks