Canonicalized URL Is Noindex Nofollow: How to Fix the Conflict
- February 25, 2023
- Indexation, Robots Directives

This check fires when a page points its canonical tag at a different URL while also carrying a noindex,nofollow robots directive. You are telling Google two incompatible things at once — "the real version lives over there, consolidate signals onto it" and "drop this page entirely and don't trust its links" — and a crawler that gets mixed messages tends to pick the one you least wanted.
The two signals, and why they fight
A cross-domain or cross-URL canonical is a consolidation instruction. It says: this page is a duplicate or a variant, so fold its ranking equity into the target and index the target instead. A noindex is a suppression instruction: remove this URL from the index and don't show it, full stop. The two cannot both be honored on the same page. If the page is dropped from the index, there is nothing left to consolidate — Google has no indexed entity to carry the canonical relationship. If the canonical is honored, the noindex was pointless. And here is the part that bites people: Google treats noindex on a canonicalized page as a strong hint that you actually want the target deindexed too, because it interprets your duplicate cluster as sharing signals. That is the opposite of what most people intend.
Here is a real failing pattern pulled off a paginated product page:
<link rel="canonical" href="https://example.com/shoes/running/">
<meta name="robots" content="noindex, nofollow">The canonical says "index /shoes/running/ instead of me." The robots tag says "index nothing here and follow nothing." Google's rendering pipeline sees both, and John Mueller has said publicly that mixing them makes Google essentially ignore the canonical, because a noindexed page is a weak canonical candidate on either side of the relationship. You lose the consolidation you were trying to buy.
Decide the one thing you actually want
There are only two legitimate intentions, and each has exactly one correct implementation.
| Your real goal | Canonical tag | Robots meta | Why |
|---|---|---|---|
| Consolidate this variant into another URL (keep equity) | Points to the target | index, follow (or omit — index/follow is the default) | Google can honor the canonical and pass signals; the page stays crawlable so the canonical is discoverable |
| Remove this page from search entirely | Self-referencing (points to itself) or removed | noindex (keep follow unless you have a reason to drop link equity) | A clean, unambiguous suppression signal with no conflicting canonical |
| Both — a duplicate you also want hidden | This does not exist as a coherent goal. Pick one. If it is a true duplicate, canonicalize and let it stay indexable. If it is junk, noindex it and drop the cross-URL canonical. | ||
Notice the second row keeps follow. Slapping nofollow on top of noindex throws away the crawl paths out of that page for no benefit on the vast majority of sites. Unless you have a specific reason, noindex, follow is the saner deindex directive.
How to detect it
- Screaming Frog: crawl the site, then open the Directives tab and filter for
Noindex. Cross-reference against the Canonicals tab — sort by "Canonical Link Element 1" and look for any noindexed URL whose canonical does not equal its own address. Frog also flags "Canonicalised" URLs; the overlap of that set with the noindex set is your problem list. - GSC URL Inspection: paste the URL into Search Console. Under Indexing, check the "User-declared canonical" versus "Google-selected canonical," and read the "Page indexing" verdict. When you see "Excluded by 'noindex' tag" and a user-declared canonical pointing elsewhere, you are looking at the exact conflict.
- View Source / rendered HTML: open the raw source (Ctrl+U) and grep for both
rel="canonical"andname="robots". Then check the rendered DOM too — plugins and tag managers sometimes inject a second robots tag after render that the raw source doesn't show. - HTTP headers: a
noindexcan also arrive via theX-Robots-Tagresponse header, not just the meta tag. Run a header check (curl -Ior a browser's Network panel) so you don't miss a header-level directive contradicting an on-page canonical.
How to fix it
Work backward from intent. First answer: do I want this URL in Google or not?
If you want it consolidated and indexable, remove the robots restriction and keep the canonical:
<link rel="canonical" href="https://example.com/shoes/running/">
<!-- robots meta removed; index,follow is the default -->If you want it gone, drop the cross-URL canonical and make it self-referencing (or remove it), and keep a clean noindex:
<link rel="canonical" href="https://example.com/this-exact-url/">
<meta name="robots" content="noindex, follow">Then verify the fix reached Google: re-inspect in Search Console and request indexing (or, for a deindex, confirm the "Excluded by noindex" status sticks after the next crawl). Deindexing is not instant — the page has to be recrawled for the change to register, so don't also block it in robots.txt, or Google can't see the new directive at all.
Common mistakes
The classic own-goal is a caching or SEO plugin set to noindex an entire post type (say, "attachments" or "tags") while a separate canonical rule still injects cross-URL canonicals. Each setting made sense alone; together they collide. Another is a staging environment's blanket noindex getting pushed to production alongside canonicals copied from the live templates. And a subtle one: canonicalizing a filtered/faceted URL to its clean parent while also noindexing the filter — if the filter is a genuine duplicate, let the canonical do the work and keep it indexable; you don't need both.
FAQ
Does Google ever honor both a canonical and a noindex on the same page?
No. It resolves the conflict itself, and its choice usually favors dropping the page — which can bleed into deindexing the canonical target too, since Google treats the pair as a duplicate cluster. You lose control of the outcome. Remove the conflict so you decide, not the algorithm.
Is noindex, nofollow ever the right call?
Rarely, and never in combination with a cross-URL canonical. On its own, noindex, nofollow makes sense for something like a private thank-you page you want neither indexed nor crawled onward. See the noindex-and-nofollow-together check for when each directive earns its place.
What if the canonical points to itself but the page is noindexed?
That is not this conflict — a self-referencing canonical plus noindex is a clean, legitimate way to deindex a unique page. This check specifically flags a canonical pointing to a different URL combined with noindex.
I fixed the tags but the page is still gone. Why?
Removal and re-inclusion both wait on a recrawl. If the URL is also disallowed in robots.txt, Google literally cannot fetch the page to see your updated directive — unblock it first. Our robots.txt reference covers why a blocked page keeps its old directives.
Should I use nofollow when I deindex?
Usually not. noindex, follow lets Google keep discovering and passing equity through the page's links while the page itself stays out of the index. Reach for nofollow only when you have a concrete reason to sever those crawl paths.
For the mechanics behind each tag, the meta robots and X-Robots-Tag reference and the canonical tags reference are the two documents worth bookmarking before you touch a template.
Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.
About SEO ProCheck
Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.
Work With Me
Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.







