One page, one address
Canonical Tags: How Google Picks One URL Among Duplicates, and How to Make It Pick Yours
A single pair of work boots on an online store can live at a dozen addresses: sorted by price, filtered by size, tagged by an email campaign, reached through two different categories. To a shopper it is one page. To Google it is a dozen, until someone says which one counts.
October 20, 2026 · 10 min read

The short answer
A canonical URL is the version of a page Google treats as the original when the same content appears at several addresses. You suggest it with a rel="canonical" link in the page's head or an HTTP header, backed by redirects, internal links and your sitemap. Google calls your choice a hint, not a rule, and may pick another URL when signals conflict.
On this page
- Why one page ends up with many addresses
- The signals Google weighs, and how much your vote counts
- Writing rel=canonical correctly: the tag, the header and the platforms
- Canonical mistakes that quietly remove good pages from Google
- Filters, sort orders and product variants on an online store
- Tag, redirect, noindex or nothing: picking the right tool
- Checking which URL Google actually chose
Why one page ends up with many addresses
Google defines canonicalization as "the process of selecting the representative" URL of a piece of content. It groups pages that are the same or nearly the same, picks the one it thinks most useful to searchers, and shows that one. The rest become duplicates, crawled less often and rarely shown.
Nobody sets out to build duplicates. They grow out of ordinary site features, and Google's own documentation lists the usual sources.
- Protocol and host variants: the http and https versions, with and without www.
- Site functions: category pages sorted and filtered a dozen ways, each with its own parameter string.
- Device variants: a separate mobile version of a page alongside the desktop one.
- Region variants: near-identical pages for the US and the UK in the same language.
- Accidents: a staging or demo copy of the site left open to crawlers.
Add tracking parameters from ads and email, trailing slashes, uppercase letters and printer versions, and a fifty-page site can expose several hundred URLs. Google says plainly that some duplication within a site is normal and does not break its spam policies. The cost is not a penalty. It is Google showing the wrong version, splitting links between copies, and muddying your reports. The technical SEO guide puts this in the context of crawling and indexing as a whole.
The signals Google weighs, and how much your vote counts
Google's canonical documentation, updated in July 2026, ranks the methods you control by influence. It also says the methods stack, so they work better together than alone, and that none of them is required: a site will likely do fine without declaring a preference at all.
| Signal | Weight Google gives it | Best used for |
|---|---|---|
| Permanent redirect (301 or 308) | Strong | Duplicates nobody needs to reach anymore, such as http or non-www |
| rel="canonical" link element | Strong | Duplicates that must stay live, such as filtered lists or tracking URLs |
| rel="canonical" HTTP header | Strong; web search only | PDFs and other files with no HTML head |
| Listing the URL in your sitemap | Weak | Reinforcing the choice across a large site |
| HTTPS over HTTP | Preferred by default unless something conflicts | Backing up an https migration |
| Membership in an hreflang cluster | Preferred | Language and region versions |
| Internal links | Google asks you to link to the canonical | Making every menu and body link agree with the tag |
Google's HTTPS preference has exceptions: an invalid certificate, insecure dependencies on the page, or a redirect from HTTPS back to HTTP. When signals disagree, Google's canonicalization page says your preference "is a hint, not a rule," and it decides. Most surprises come from that sentence. Redirects get their own guide, 301 redirects and SEO, because they are the strongest lever here.
Writing rel=canonical correctly: the tag, the header and the platforms
The HTML version is one line in the head of each duplicate, pointing at the preferred page: <link rel="canonical" href="https://example.com/work-boots">. For a PDF, send it as a response header instead: Link: <https://example.com/guide.pdf>; rel="canonical". Google's rules for the tag are short and strict.
- 1.It counts only in the head. A canonical in the body is ignored.
- 2.Use absolute URLs, scheme included. A relative path can resolve somewhere you did not intend.
- 3.Put a self-referencing canonical on the preferred page itself.
- 4.Choose one method per page, the tag or the header, because using both is more error prone.
- 5.Do not point the same page at different canonicals through different methods.
- 6.Put the tag in the HTML source and do not let JavaScript change it after load.
- 7.Never use a URL fragment (the part after #) as the canonical.
WordPress
Core prints a canonical on single posts and pages, and SEO plugins replace it with their own field. Two canonicals usually means a theme and a plugin are both writing one.
Shopify
Themes output the tag from a Liquid object called canonical_url, which holds the canonical URL for the current page. Check your theme's head file before adding a second one by app.
Next.js
Set alternates.canonical in a page's metadata. With metadataBase defined in the root layout, a relative path such as '/' is composed into a full URL; without it, a relative path fails the build.
Whatever the platform, view the page source and search for rel="canonical". There should be exactly one, it should be absolute, and it should match the URL you want in results. The meta tags guide covers the other lines that share the head with it.
Canonical mistakes that quietly remove good pages from Google
A canonical tag is a request to hide one page in favor of another. Point it the wrong way and Google obliges. Several of these come from a Google Search Central post on rel=canonical mistakes, published in 2013 and still on Google's site; the rest from its current documentation.
- Every page canonical to the home page. A theme setting or a hand-edited header applies one URL site-wide, and Google is asked to treat every service page as a copy of the home page.
- Pages 2, 3 and 4 canonical to page 1. Google's pagination guidance says not to do this; give each page in a series its own canonical, or the products on later pages may never be indexed.
- A category page canonical to a featured article. The category can drop out of results in favor of the post.
- A canonical pointing at a page that fails. The target should load with real content, not a 404, a soft 404, a redirect or a noindex. Google's 2013 post says to check that the target is not noindexed.
- Two canonicals pointing at different URLs. Google says it will likely ignore all of them.
- Using noindex or robots.txt to pick the winner between two versions. Google advises against both for canonicalization; noindex removes the page from Search entirely, and a blocked page's tag is never read. Blocking whole filter patterns, below, is a different job: keeping crawlers out, not choosing a version.
- Canonicals on syndicated articles. Google now says partners who republish your content should block it from indexing instead.
Hacked sites add a twist. Google warns that an attack can insert a cross-domain canonical or redirect pointing at spam, and its systems may then choose the malicious URL. If Search Console shows a canonical on a domain you do not own, treat it as a security problem first.
Filters, sort orders and product variants on an online store
Stores create duplicates faster than any other kind of site, because every filter combination is a new URL. Google's guidance on faceted navigation gives two routes, and the right one depends on whether filtered pages deserve to rank.
If filtered pages should not rank
- Block faceted URL patterns in robots.txt, the first option Google lists
- Or keep filters after a # in the URL, which Google generally ignores
- Canonical the filtered views to the less filtered version as a weaker fallback
- Keep internal links pointing at the clean category URL
If some filtered pages should rank
- Use the standard & separator between parameters
- Keep filters in one consistent order, with no duplicates
- Return a 404 for filter combinations with no products
- Give pages like "waterproof work boots" unique copy and a self-referencing canonical
For variants, Google's product variant guidance says a single-page product with color and size options should expose one canonical URL for the whole product group, while each variant stays reachable through its own URL parameters. Paginated category pages each keep their own canonical. Google no longer uses rel=next and rel=prev, though other engines may. The ecommerce SEO section covers store structure, and the ecommerce SEO audit turns these checks into a list. Building a store from scratch? Our ecommerce development work sets canonicals in code from day one.
Tag, redirect, noindex or nothing: picking the right tool
Most canonical trouble starts with the wrong tool. Use this as the tiebreaker.
| Situation | Use | Why |
|---|---|---|
| http, non-www or old domain versions | Permanent redirect | Nobody needs the old version; a redirect is the strongest signal |
| A page you retired and replaced | Permanent redirect | Visitors and links should land on the replacement |
| Tracking parameters from ads and email | Canonical tag | The URL must work for the campaign but should not rank |
| Filtered or sorted category views | robots.txt or canonical, per the split above | Depends on whether any filtered view deserves to rank |
| A PDF that duplicates a web page | Canonical HTTP header | Files have no head for the tag |
| Printer versions or session IDs | Canonical tag | Keeps one version in results without breaking the feature |
| A page that should not appear in Google at all | noindex | That is removal, not canonicalization |
| Close but distinct pages, such as two service areas | Nothing; make them different | They are not duplicates; Google may still cluster thin copies |
That last row deserves emphasis for local businesses. Town pages that differ only in the city name are the duplicates Google clusters most readily, and a canonical cannot fix pages that should not exist in the first place. Our guide to service area pages shows how to make each one earn its place.
Checking which URL Google actually chose
- 1
Inspect a key URL
Run it through URL Inspection in Search Console. Compare the user-declared canonical, which is what your tag says, with the Google-selected canonical. If they match, you are done with that page.
- 2
Do not rely on the live test for this
Google says the live test cannot predict whether a page will be chosen as canonical, because that is decided at indexing time. Read the indexed result instead.
- 3
Read the Page indexing reasons
"Alternate page with proper canonical tag" means Google honored your tag; Google says there is nothing to do. "Duplicate without user-selected canonical" means you gave no preference. "Duplicate, Google chose different canonical than user" means it overruled you.
- 4
Find the conflicting signal
When overruled, check whether internal links, the sitemap, redirects or hreflang point elsewhere, and whether the two pages are really different enough to stand alone.
- 5
Fix, then wait
Google says it may hold pages in a duplicate cluster for up to two weeks before re-evaluating. Request indexing for your most important URLs only, since requests are limited.
On a large site, do this by crawler rather than by hand. The free site audit checks SEO and content issues and emails a PDF, and the website health check catches page-level faults in seconds. Pages missing from Google entirely, rather than replaced by a twin, are a different problem covered in website not indexed by Google. If you would rather hand canonicals, redirects and the rest to someone who does this weekly, our SEO programs include it, priced on the SEO pricing page. Start from the top of the SEO guide to see where this fits.
Questions owners ask about SEO
Google says no method is required and most sites will do fine without declaring one. In practice, a self-referencing canonical on every indexable page is cheap insurance against tracking parameters and other accidental duplicates, and Google's own best practices recommend one on the preferred page. Just make sure it is absolute and matches the URL you want shown.
Because Google treats it as a hint. It overrules a tag when other signals disagree: internal links or the sitemap point at a different URL, a redirect conflicts, the pages are not really duplicates, or the tag is malformed, relative, duplicated or in the body. URL Inspection shows the URL Google selected so you can compare.
A 301 sends every visitor and crawler to the new URL, so the old one stops being reachable. A canonical tag leaves both URLs working and asks Google to show only one in results. Use a redirect when the duplicate has no reason to exist and a canonical when it must stay live, such as a filtered list. Our redirects guide covers the first.
Yes. Google announced support for cross-domain canonicals in 2009, and its current troubleshooting guide treats them as real signals, which is why hackers insert them. For a whole domain move, Google has long preferred permanent redirects. For articles syndicated to other publishers, Google now recommends that partners block indexing of the copy rather than rely on a canonical back to you.
No. Google's pagination guidance says not to use the first page of a series as the canonical. Give each page its own self-referencing canonical so the products or posts listed on later pages can be found and indexed.
Google says specifying a canonical helps consolidate signals, so links pointing at duplicate URLs count toward the preferred one. It does not publish how much transfers. Linking to the canonical URL yourself, in menus and body copy, removes the question for your internal links.
Keep reading
- Forwarding addresses301 Redirects and SEO: Which Redirect to Use, How to Set It Up, and How Not to Lose Rankings301 vs 302 vs 307 and 308, meta refresh and JavaScript redirects per Google, with setup for .htaccess, Nginx, WordPress, Shopify, Squarespace and Next.js.
- Under the hoodTechnical SEO: The Checklist That Decides Whether Google Can Read Your SiteTechnical SEO in plain English: robots.txt, sitemaps, canonicals, redirects, status codes, rendering and speed, plus a one-afternoon audit you can run free.
- SEO for online storesE-commerce SEO: How Online Stores Get Found for the Products They Actually SellE-commerce SEO from Google's own store documentation: site structure, category and product pages, filters, Shopify settings, feeds and AI shopping.
- Beyond your own siteOff-Page SEO: Links, Mentions, Reviews and the Twelve-Month Plan for a Small BusinessOff-page SEO for a small business: what links, mentions, reviews and profiles do, which off-page techniques Google calls spam, and a month-by-month plan.
- Two suites, one budgetAhrefs vs Semrush: Plans, Prices and Limits Side by Side, and Who Should Buy NeitherAhrefs vs Semrush compared on price, credits, rows, rank tracking, history and AI tracking as of October 2026: who should buy which, and who needs neither.
- Email list buildingHow to Build an Email List When Nobody Wants Another NewsletterHow a local business grows an email list: signup offers people want, forms that convert, consent that holds up, double opt-in, and why bought lists backfire.
- Everything in SEO GuideSee the section
Find out which URLs Google is really showing
Tell us what you are seeing in Search Console. We will compare your canonicals with Google's choices and reply with what is wrong and what fixing it involves.
Which of these sounds like you? (pick any)
Rather talk now? Call (210) 346-0848.