Glossary · Canonical URL
What is a canonical URL? How to tell Google which page is the main one
What a canonical URL is
A canonical URL is the address search engines treat as the main version of a page when the same or nearly the same content can be reached at more than one address. The search engine indexes and shows that one, and adds the signals from the copies to it.
Duplicates are rarely on purpose. The same page can often be reached with and without "www", over http and https, with and without a trailing slash, with tracking tags, with sort and filter options, and as a print version. To a crawler, each is a separate URL until something says otherwise.
The canonical tag, a link element with rel="canonical" in the head of the page, is how you say which version you prefer. It states a preference, and search engines treat it as one.
How to set a canonical URL, and how much each method counts
Google lists several methods. They work best together and cause trouble when they contradict each other.
| Dimension | What it is | Weight | Use it when |
|---|---|---|---|
| 301 redirect | The old address permanently sends visitors and crawlers to the new one. | Strong | Nobody needs to reach the copy any more, such as http to https, or an old URL after a site move. |
| rel="canonical" in the HTML | A link element in the page head naming the preferred URL. | Strong | Both versions must stay reachable, such as a product page with sort or tracking tags. |
| rel="canonical" HTTP header | The same statement, sent in the server response instead of the HTML. | Strong | The file isn’t a web page, such as a PDF that copies a web page. |
| Sitemap inclusion | Listing only the preferred URLs in your XML sitemap. | Weak | Always, as a supporting signal. On its own it rarely settles anything. |
| Internal links | Linking to the same version everywhere on your site. | Supporting | Always. A site that links to one version and names another as canonical is arguing with itself. |
Canonical tag mistakes that cost you pages
Most canonical problems aren’t dramatic. A template sets the wrong value once, and it repeats on every page built from it.
- Every page names the homepage as its canonical
- Usually a template setting nobody changed. It asks search engines to treat every page as a copy of the homepage, and if they believe it, your other pages stop showing up.
- The canonical points to a URL that redirects or shows an error
- A canonical should name a live page that loads normally. Pointing it at a redirect or a 404 sends opposite signals, and the search engine will usually ignore the tag.
- Every page in a series names page one as its canonical
- Page two of a category lists different products from page one, so it isn’t a copy. Google’s advice is to let each page in a series name itself; pointing them all at page one can hide items listed further in.
- A canonical and a noindex on the same page
- One says "index that other URL instead", the other "don’t index this". Using both confuses them. Use a canonical to merge copies and noindex to keep a page out of search completely.
- The canonical only appears after JavaScript runs
- Google can read a canonical added by JavaScript, but only after loading the page fully, and a raw-HTML canonical that differs from the loaded one is a contradiction. Put it in the HTML the server sends.
How to see which version Google chose
Search Console’s URL Inspection tool shows two values for any indexed page. The user-declared canonical is what your tag says. The Google-selected canonical is what Google decided. When they match, there’s nothing to do.
When they differ, the indexing report shows "Duplicate, Google chose different canonical than user". Treat that as a question about your own signals: which version your internal links and sitemap point to, whether a redirect points the other way, and whether the pages are different enough that neither is a copy.
BOOSTD is built to read the canonical on every page it checks and confirm it is still correct after any change it makes; a wrong canonical or accidental noindex makes it undo the change automatically. The free checkup already checks whether your pages set a canonical at all.
Questions about canonical URLs
Is a canonical tag an instruction Google has to follow?
No. Google calls rel="canonical" a strong signal, not a rule. It weighs the tag alongside redirects, sitemaps, internal links and whether the pages are true copies, and can choose a different URL.
If you need a URL to stop showing, a permanent redirect is the stronger tool, as long as nobody needs to reach the old address.
Should every page have a canonical tag pointing at itself?
It’s good practice, but not required. A self-referencing canonical removes doubt when people reach the page with tracking tags or different capital letters, and costs nothing.
What matters more is that it’s correct: a full URL, pointing to a page that loads normally (status 200), matching the version you link to across your site.
Can a canonical point at a page on another domain?
Yes. Google supports cross-domain canonicals, which is how a publisher that syndicates an article can point the copy back to the original. It’s still a signal, and the pages need to be mostly the same.
References
Sources for canonical url
The official documents and research this page is based on. Platform rules change, so check the source before you act on a detail.
Last updated · Published by Zubair Afzal, responsible editor
Start here
Check whether your pages set a canonical
The Free checkup reads a sample of your public pages, reports how many set a canonical URL and runs the other technical checks it can do from outside your site.
Rather check it yourself? Try our free SEO tools