noindex is the right way to keep a page out of search — and one of the most dangerous tags in SEO when it ends up where it shouldn't. Here's when to use it, when it silently kills rankings, and how to catch a stray one fast.
noindex tells search engines: crawl this page if you like, but don't put it in search results. It's a precise tool for excluding pages from the index without hiding them from users.
You can apply noindex two ways: a meta robots tag in the page head (<meta name="robots" content="noindex">) or an X-Robots-Tag: noindex HTTP header (useful for non-HTML files like PDFs). Either way, search engines that crawl the page will drop it from their index. Crucially, the page must be crawlable for noindex to work — if it's blocked in robots.txt, Google can't see the tag, so it may stay indexed. Use robots.txt for crawling and noindex for indexing; they are not interchangeable.
The line between a smart noindex and a costly one.
Thank-you and order-confirmation pages, internal search-results pages, thin tag/filter/pagination pages that add no unique value, staging or duplicate utility pages, and private account or admin areas. These are pages users may need but that would clutter or dilute your presence in search. noindex keeps them accessible while out of the index.
If two URLs are duplicates and you want their ranking signals combined onto one, use a canonical tag, not noindex. noindex removes a page entirely; canonical consolidates it. Mixing them — a noindex plus a canonical to another URL — sends conflicting signals.
This sounds obvious, but it's the single most common SEO disaster, because noindex usually arrives by accident via a template or global setting, not a deliberate page-level choice. The next section covers exactly how that happens.
How a single tag deindexes a whole site — and the check that stops it.
Most sites are built with shared templates. If a noindex tag lands on a template — a staging-environment "noindex everything" rule that ships to production, a CMS visibility toggle left on, a plugin default, or a developer's leftover — it doesn't deindex one page. It deindexes every page using that template at once: a whole blog, a whole product category, sometimes the entire site. The cruel part is the delay. Nothing breaks visibly; the pages load fine. Then over the following days, as Google re-crawls and honours the tag, rankings and traffic collapse — and by the time someone notices the traffic drop, the cause is buried days in the past.
The defence is monitoring for change. An audit that flags pages which became non-indexable since the last crawl turns a silent, delayed catastrophe into an alert the same day the tag ships. Run a crawl after every deploy that touches templates, and the stray noindex never gets the chance to do real damage.
noindex keeps a page out of the index but allows crawling. robots.txt disallow blocks crawling but does not remove a page from the index — and worse, it stops Google seeing a noindex tag you add later. To remove a page from search, allow crawling and add noindex. Use robots.txt to manage crawl load, not to deindex.
noindex,follow keeps the page out of search but still lets link equity flow through its outbound links — useful for pagination or utility pages you want excluded but still want passing authority onward. noindex,nofollow excludes the page and stops following its links. The audit distinguishes both, since the wrong one can cut off internal link flow.
It takes effect the next time Google crawls the page and processes the tag — anywhere from hours to weeks depending on how often the page is crawled. To speed up removal of an important page, request indexing or use the removal tool in Search Console. The same delay is why an accidental noindex is so dangerous: the damage lands days after the mistake.
Free to start. Get alerted when any page becomes non-indexable since your last crawl.
Start my free audit