Canonical and noindex together: two instructions that cannot both be followed

noindex asks Google to drop a page. A canonical pointing elsewhere asks Google to treat the page as a copy of another URL and pass its signals there. Together they conflict, and you cannot predict which Google will follow. Choose one: canonical for duplicates, noindex for pages that should not be in search.

The combination that matters is noindex plus a canonical to a different URL. noindex with a self-referencing canonical is not a conflict; the canonical is simply redundant there.

What it looks like

Before

html
<meta name="robots" content="noindex, follow">
<link rel="canonical" href="https://example.com/mugs/">

After

html
<!-- duplicate of /mugs/: consolidate -->
<link rel="canonical" href="https://example.com/mugs/">

<!-- or, not for search at all -->
<meta name="robots" content="noindex, follow">

Why the pair is unreliable

A canonical is a statement of equivalence: this page and that page are the same thing. If the two are equivalent and one is marked noindex, there is a reading in which the directive belongs to the whole group. Google has said over the years that it generally picks the canonical signal in this situation, but that the mix is contradictory and best avoided. Its documentation is direct about the related practice: it does not recommend noindex as a way of steering canonical selection within a site, and names rel="canonical" as the preferred tool.

There is a slower effect too. A page that stays noindexed for a long time is crawled less and less, so its canonical hint and its outgoing links are seen less often. Whatever consolidation you hoped for fades.

Find pages with both

On a single URL:

code
curl -s https://example.com/mugs/?orderby=price | grep -ioE '<meta[^>]*name=.robots.[^>]*>|<link[^>]*rel=.canonical.[^>]*>'
curl -sI https://example.com/mugs/?orderby=price | grep -i x-robots-tag

If the output shows noindex and a canonical whose href is not the URL you requested, the page is affected. Remember the header: a noindex sent as X-Robots-Tag conflicts with a canonical tag in exactly the same way.

Templates to check first on WordPress sites: filtered and sorted product listings, paginated archives, internal search results, tag archives, print or AMP variants, and translated pages. These are where plugins and custom code most often apply both "to be safe".

Which one to keep

Keep the canonical, remove noindex, when the page is a variant. Sorted and filtered listings, URLs with tracking parameters, printer-friendly versions and near-identical product variants should consolidate into the main URL. Canonical does that and transfers link signals. noindex would throw them away.

Keep noindex, make the canonical self-referencing or absent, when the page is unique but unwanted. Thank-you pages, account pages, internal search results and thin archives are not duplicates of anything. There is no "original" to point at.

Use a redirect when the page should not exist. If nobody needs to visit the variant, a 301 is clearer than either tag.

A quick test: would you be content for a searcher to land on the canonical target instead of this page, for the same query? If yes, it is a duplicate; use canonical. If the question makes no sense, it is not a duplicate; use noindex.

Making the change in WordPress

In Hydrogen SEO the two settings sit together in the editor's SEO Settings sheet: Canonical URL and, under Robots Meta, No Index. For an affected post, either clear the custom canonical or switch off No Index. For a whole type, the Noindex switches are under Hydrogen SEO → Robots; see robots meta settings.

Some built-in behaviour is already consistent and needs no action: Hydrogen SEO marks search results and the 404 page noindex, follow and prints no canonical on them, while paginated archives get a canonical to their own paged URL and stay indexable.

If the conflicting tag comes from another plugin or theme code, for example a filter plugin that adds noindex to every URL with a query string, change that plugin's setting; you will not find it in your SEO plugin.

Check each page ends up with one clear instruction

Repeat the curl commands after purging caches. The acceptable outcomes are: canonical to another URL and no noindex; noindex and a self-referencing canonical; or noindex and no canonical. In Search Console, a variant fixed with canonical should eventually appear as "Alternate page with proper canonical tag", and a page fixed with noindex as "Excluded by 'noindex' tag". Both are healthy statuses.

Common questions

Is noindex with a self-referencing canonical a problem?

No. The page says "do not index me" and "I am my own canonical", which are compatible. Many sites output exactly that on noindexed pages.

Which signal wins when both are present?

There is no documented guarantee. Google has indicated it tends to follow the canonical, but treats the combination as conflicting. Remove the ambiguity instead of relying on a tendency.

Should paginated pages be noindexed and canonicalised to page one?

Neither. Google's guidance is that each page in a paginated series should have its own canonical URL and remain crawlable.

Can noindex on a duplicate harm the original page?

In principle the noindex could be associated with the canonical group. It is rare, but it is the reason the combination is discouraged.