# Missing or wrong canonical tags

Source: https://www.fixreports.com/issues/canonical-tag-problems

A canonical tag names the preferred address of a page. Missing, it leaves search engines to choose among duplicates; pointing elsewhere, it can send your page’s signals to another URL.

## What it means
The canonical tag is <link rel="canonical" href="…"> in the <head>. It tells search engines which address to index when the same content is available at several, for example with tracking parameters, filters, or both www and non-www.

We flag pages without a canonical, and canonicals that point to a different domain.

## Why it matters
Google treats rel=canonical as a strong hint, not a command. Without it, Google picks a canonical itself; a canonical that points to another site asks Google to index that site’s page instead of yours.

Typical causes of wrong canonicals are a template that prints a fixed address, a site copied from staging with the old domain in it, or a mix of http and https or www and non-www.

## How to find it yourself
- View the page source and search for rel="canonical".
- In Search Console, URL Inspection shows the canonical you declared and the one Google selected.

## How to fix it on any website
1. Give every indexable page a canonical with its own absolute https address, in the exact form you want indexed.
2. Point duplicates (filtered, sorted or tracking versions) to the main page.
3. Remove canonicals that point to another domain unless you republish content that lives there.

## On Shopify
1. Shopify themes output a canonical with {{ canonical_url }} by default. If it’s missing or wrong, check theme.liquid for a hard-coded or duplicate canonical tag.

## On WordPress and WooCommerce
1. WordPress and SEO plugins add canonicals automatically. Check the plugin’s per-page canonical field for an address left from another site or staging.

## How to check the fix
- Run the meta tag checker: it says whether the canonical points to the page itself, another page or another site.

## How FixReports finds it
The SEO checker reads the canonical of every page it tests; the meta tag checker classifies it as this page, another page on your site, or another site.

## Frequently asked questions

### Does every page need a canonical tag?

It isn’t required, but a self-referencing canonical removes guesswork when the page is reachable at more than one address.

### Can I use a canonical instead of a redirect?

For pages people still need to reach, yes. For pages that moved, a 301 redirect is the clearer signal.

## Sources
- Google Search Central: How to specify a canonical URL: https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls
- Google Search Central: What is canonicalization: https://developers.google.com/search/docs/crawling-indexing/canonicalization
