The noindex that shipped with a release
A short note from live work. The most expensive technical SEO fault we keep meeting is not decay. It is a single tag that rides along with a normal deployment, and nobody looks for it because nothing looks broken.
Three times this year, in three different companies, the same thing. A team ships a release. Templates get rebuilt, a framework gets upgraded, or a staging environment gets promoted. Somewhere in the change, a noindex tag that belonged to staging comes along for the ride. The site works. Users see nothing wrong. Search engines quietly drop the affected pages over the following weeks.
I am writing this down because every one of those teams had good engineers and a decent QA process, and none of them caught it. The fault is not a skills problem. It is a visibility problem: a robots tag is invisible to everyone except a crawler.
Key takeaways
- A stray noindex on a money-page template removes whole sections of a site from search in weeks, and nothing on screen looks wrong.
- It arrives with releases, not with time. Framework upgrades, template rebuilds and staging promotions are the usual carriers.
- The detection takes four minutes per release and belongs in the deployment checklist, not in a quarterly audit.
In this article
How it happens
Staging environments are noindexed for good reasons. The tag is usually set in one of three places: an environment variable that the layout reads, a meta tag hard-coded into a template while someone was testing, or a header set at the CDN for the staging hostname. Each of those has a way of surviving the trip to production.
- The environment variable is copied to the new production config during a platform change, because the config was copied wholesale.
- The hard-coded tag is in a template that nobody expected to ship, and then a refactor moves that template into the main layout.
- The CDN rule matches on a path rather than a hostname, and the path exists in production too.
In one case the tag only applied to a category template. The home page and the articles were fine, which is why the traffic chart did not fall off a cliff. It sagged. Someone blamed seasonality. Two months later the category pages were gone from the index, and with them most of the non-branded revenue.
Why nobody sees it
Nothing in the normal release process reads the head of the document the way a crawler does. Visual QA passes. Automated tests pass, because they test behaviour, not metadata. Analytics keeps counting the visitors who are already there. Search Console will tell you eventually, under ‘Excluded by noindex tag’, but nobody opens that report on release day.
The delay is what makes it expensive. By the time the drop is visible in revenue, several more releases have shipped, and the person investigating has to work backwards through all of them.
The four-minute check
We now put five lines in every client’s release checklist, and we run the same five ourselves before we deploy anything. They take about four minutes by hand and a few seconds when scripted.
Fetch one page from each money template on the live hostname
Home, a category, a product, an article, a landing page. Use curl or the browser’s view-source, not the rendered DOM.
Check for noindex
In the meta robots tag and in the X-Robots-Tag response header. Both. The header is the one people forget.
Check the canonical
It should point at the production hostname, not staging, and not at a different page.
Check robots.txt
Diff it against the last known good version. A staging robots.txt that disallows everything is a classic.
Confirm the main content is in the server HTML
If the product grid or the article body only exists after a script runs, the page is a shell to a crawler.
The bottom line
- The fault is common, silent and expensive, and it is carried by releases.
- Read the head of one page per template after every deployment: robots meta, X-Robots-Tag, canonical, robots.txt, server-rendered content.
- Turn the check into a build test if you can. Checklists get skipped; tests do not.
How this guide was put together
- An anonymised pattern from three engagements in 2026. Details that could identify a client have been removed; the mechanism is described as observed.
Sources
Founder of Lucidens. A decade of organic-search practice across English-, French- and Arabic-speaking markets, with a particular interest in measurement and in how answer engines choose their sources.
Related capabilities
- Technical SEO
Crawlability, rendering, performance and indexation, engineered so nothing you publish is lost.
Related case studies
- Turning an existing ecommerce site into an organic growth channel
Improving search visibility and building a stronger path from Google discovery to commercial outcomes.
Related research
- How to Run a Prompt Panel for AI Citations
There is no Search Console for ChatGPT, Perplexity or AI Overviews. A prompt panel is the closest thing to one: a fixed set of buyer questions, asked the same way every month, with every cited source written down. Here is how we build and run ours.
- SEO for SaaS: Build a Growth Engine, Not a Blog
Most SaaS companies treat organic as a blog with a signup button. The ones that grow from it build a page system around what buyers are trying to do, measure signups rather than sessions, and let the product itself earn links. A practical guide to doing that.
- The Technical SEO Audit Checklist for 2026
A prioritised, testable checklist for auditing crawlability, indexation, rendering, architecture, performance and structured data, with what to fix first, how to prove each fix, and how often to repeat it.
Shipping a release or a migration soon?
We write the checks into your deployment process and verify the first few releases with your engineers.