
This check fires when a URL carries a noindex directive but Search Console still reports impressions and clicks for it. On the surface that reads like a bug in Google. It usually is not. Noindex is a request that only takes effect once Google recrawls the page and sees the tag, so there is always a window where a page is marked noindex in your code but still sitting in the index from its last successful crawl. The interesting question is whether you are looking at normal lag or a genuine conflict that will keep the page indexed indefinitely.
What "noindex gets traffic" actually means
A noindex directive tells search engines to drop a page from their index. You deliver it one of two ways: a meta robots tag in the HTML head, <meta name="robots" content="noindex">, or an HTTP response header, X-Robots-Tag: noindex. Both are equally valid. The key detail people forget is that the directive is processed at crawl time. Google has to fetch the page, render it, and read the tag before it will act. Until that happens, the old indexed version stays live and can keep ranking.
So a page that gets traffic despite a noindex is Google telling you: "I have this URL in my index from an earlier crawl, and I have not yet processed your removal request." If you added the tag last week, that is expected. If the tag has been there for two months and the page is still ranking, something is stopping Google from seeing or trusting it.
Why it matters
Two reasons, pulling in opposite directions. First, if you genuinely want this page gone, the traffic is a symptom that your removal is not sticking, and you need to fix the underlying block. Second, and this trips people up more often, the traffic is a hint that maybe you noindexed something you should not have. I have seen a category page, a high-converting comparison page, and an entire paginated archive get noindexed by a careless plugin setting or a staging config that shipped to production. The page kept ranking for a while, revenue looked fine, and then the recrawl landed and the traffic fell off a cliff. If a noindexed URL is bringing in real clicks, confirm that killing it is actually what you want before you help Google along.
The recrawl lag versus real conflict decision
How to detect and diagnose it
Start with the one tool that gives you Google's own view: the URL Inspection tool in Search Console. Paste the URL, look at the indexing status, and use "Test live URL" to see what Googlebot fetches right now. This tells you whether Google currently sees the noindex tag and when it last crawled the page. If the live test shows the noindex but the indexed version does not reflect it yet, you are in lag territory.
- Screaming Frog: crawl the URL and check the Directives tab. Confirm the meta robots value and the
X-Robots-Tagheader. Run "Render" mode if the tag is injected by JavaScript, because a raw fetch will miss it. - Server logs: confirm Googlebot is actually reaching the URL and getting a 200. If the page returns a 200 but is blocked in robots.txt, Google cannot read the noindex at all.
- curl:
curl -sI https://example.com/pageshows response headers so you can catch anX-Robots-Tagthat contradicts the meta tag, or vice versa. - Sitebulb: flags indexability conflicts across the whole site so you can see if this is one page or a pattern.
The classic conflicts that keep a noindex from working
| Conflict | What happens | Fix |
|---|---|---|
| Blocked in robots.txt | Google never crawls the page, so it never reads the noindex, so the URL stays indexed | Unblock in robots.txt so Google can crawl and see the tag |
| Tag injected by JavaScript only | Raw HTML has no noindex; only the rendered DOM does. Slower to be picked up, sometimes missed | Serve noindex in the raw HTML or the HTTP header |
| Contradictory directives | Meta tag says noindex, header says index (or two meta tags disagree). Google may pick the wrong one | Make every signal say the same thing |
| Stale CDN or page cache | Googlebot is served an old cached copy without the tag | Purge the cache, confirm the live fetch shows the tag |
| Just added, not recrawled | Nothing is wrong. Google has not returned since you added the tag | Wait, or use Removals for something urgent |
How to fix it, step by step
- Decide if you actually want it gone. If the traffic is valuable, the right fix might be to remove the noindex, not enforce it. Do this first.
- Confirm the tag is really there. Use URL Inspection "Test live URL" and a raw
curl -sI. Check both the meta robots tag and theX-Robots-Tagheader. - Rule out a robots.txt block. This is the single most common reason a noindex fails. A blocked page cannot be crawled, so the tag is never read. Allow crawling.
- Kill any conflicting signals. One page, one clear directive. Remove contradictory tags and headers.
- Purge caches. Make sure Googlebot gets the current version, not a stale CDN copy.
- Speed it up if urgent. Use the Removals tool in Search Console for a temporary block while the recrawl catches up. It is not permanent, but it hides the page fast.
- Wait and recheck. After Google recrawls, the impressions should decay to zero. Recheck in URL Inspection after a couple of weeks.
What good looks like
A clean noindexed page returns a 200, is crawlable (not blocked in robots.txt), and serves a single unambiguous noindex directive that Googlebot can read on fetch. Within a few weeks of the last crawl, its impressions in Search Console trend to zero and it drops out of the index. There is no contradicting X-Robots-Tag, no JavaScript-only tag, and no stale cache in the way.
- Confirm you truly want the page out before enforcing noindex
- Keep noindexed pages crawlable so Google can read the tag
- Serve one consistent directive in HTML or the HTTP header
- Use URL Inspection to see Google's live fetch
- Give it a few weeks after the last crawl before you worry
- Block a noindexed page in robots.txt and expect it to deindex
- Rely on a JavaScript-only noindex tag
- Ship contradictory meta and header directives
- Panic on day three and assume Google is broken
- Deindex a revenue page just because a check flagged it
FAQ
How long until a noindexed page drops out of the index?
Should I add noindex and a robots.txt block together?
Can I force removal faster?
Is meta robots or X-Robots-Tag better?
Conflicting noindex directives, stale caches, and robots.txt blocks are exactly the kind of thing a proper crawl surfaces before they cost you traffic. Our audit maps every indexability conflict on your site and tells you which ones to fix first.
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.
Subscribe to our newsletter!
Recent Posts
- Can AI Crawlers Actually Read Your Site? I Measured 400 of the Biggest September 5, 2026
- The Pre-Publish Quality Gate for AI-Assisted Content August 6, 2026
- AGENTS.md vs llms.txt vs llms-full.txt: Which Agent File Does What July 18, 2026







