How to Remove Pages from Google's Index (Deindexing)

The decision-tree guide to deindexing — noindex, 404/410, the Removals tool, password protection, and canonicals. Why robots.txt doesn't remove pages.

First published: Jul 3, 2026 · Last updated: Jul 26, 2026 · Advanced
demand #5 in Indexing#19 in How Search Works#114 in Technical SEO#151 on the site
1 evidence signal on this page

Deindexing is getting a URL out of Google's results, and there's no single delete button — the method depends on whether you own the page, whether removal is temporary or permanent, and whether the content should still exist. The one thing everyone gets wrong: a robots.txt Disallow does NOT deindex a page (it blocks crawling, not indexing — the URL can still get indexed via links, and Google can't see a noindex rule on a page it can't crawl), and combining robots.txt with noindex actively backfires. The GSC Removals tool is emergency triage only (~6 months) — pair it with a permanent method: noindex (keep the page live, hide from search), 404/410 (delete it), password protection (block access), or a canonical (consolidate duplicates). Robots.txt IS the sanctioned way to remove images. If you don't own the page, Google splits it in two: stale/removed content goes through the Refresh Outdated Content tool, while personal or sensitive information goes through Google's separate 'Remove your personal information from Google' troubleshooter. This hub links down to noindex, the removals tool, robots.txt, and the 404/410 status codes.

TL;DR — DeindexingDeindexing means getting a URL to stop appearing in Google's search results. There's no single delete button — the right method depends on whether you own the page, whether removal is temporary or permanent, and whether the content should still exist. has no single button — the method depends on ownership, temporary vs. permanent, and whether the content should survive. The accuracy spine: a robots.txt Disallow does not deindex a page (it blocks crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor., not indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.; the URL can still be indexed via links, and Google can’t see a noindex on a page it can’t crawl), and combining robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. with noindex backfires. The GSCA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. Removals toolA Google Search Console feature for verified owners to manage how their URLs appear in Search. A Temporary Removal hides a URL for about six months — it does not delete the page from the index. is emergency triage only (~6 months) — pair it with a permanent method: noindex (keep live, hide from search), 404/410 (delete), password protection (block access), or a canonical (consolidate duplicates). Robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. is the sanctioned way to remove images. Non-owners split into two tools depending on the problem: stale/removed content uses Refresh Outdated Content; personal or sensitive information uses Google’s separate “Remove your personal information from Google” troubleshooter. Nothing but the Removals toolA Google Search Console feature for verified owners to manage how their URLs appear in Search. A Temporary Removal hides a URL for about six months — it does not delete the page from the index. is instant — every permanent method waits on a recrawlCrawl frequency is how often a search engine comes back to re-fetch a page it already knows about. Popular pages that change often get refreshed many times a day; stable pages can go weeks or months between crawls — and you influence it indirectly, not by setting a dial..

What “deindexing” actually means (and what it doesn’t)

There’s no “delete from Google” button, and that’s the first thing to internalize. Deindexing is a situation-dependent task, and the situation is defined by three questions: do you own the page, do you want it gone temporarily or permanently, and should the content itself still exist for users. Get those three straight and the right method usually falls out on its own.

It’s also worth separating two tracks up front:

  • Emergency track — you need something hidden fast (a leaked URL, exposed personal info). The Removals tool (if you own the property) or the Refresh Outdated Content tool (if you don’t) buys you time.
  • Permanent track — the actual fix: noindex, delete (404/410), password- protect, or canonicalize. This is what has to be applied during or immediately after the emergency step, because the emergency tools all expire.

The core myth: robots.txt does not remove pages from Google

A noindex rule can work only when the crawler is allowed to fetch the page and see it. Source: Google Search Central

Both paths start with a page that contains a noindex directive. When crawling is allowed, the crawler fetches the page, reads noindex, and can remove the URL from results after processing. When robots.txt blocks crawling, the crawler cannot see noindex, so the URL may remain in search results.

© Patrick Stox LLC · CC BY 4.0 ·

This is the load-bearing teaching point of the entire topic, so it gets the most space.

Crawling and indexing are different systems

robots.txt is a crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. directive. noindex is an indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. directive. The two are decoupled, and that decoupling is the whole story. Google can index a URL it never crawled (if the URL is discoverable through links), and it can never see a noindex rule on a URL it’s blocked from crawling. Evidence for this claim Blocking crawling with robots.txt is not a reliable way to remove a URL from Google Search. Scope: Google Search; a blocked URL can still be indexed without content when Google discovers it elsewhere. Confidence: high · Verified: Google Search Central: Introduction to robots.txt

Google’s own docs on noindex state it flatly: “If the page is blocked by a robots.txt file or the crawlerA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. can’t access the page, the crawlerA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. will never see the noindex rule, and the page can still appear in search results, for example if other pages link to it.” And the reason: “We have to crawl your page in order to see <meta> tags and HTTP headers.”

I’ve written this same point in my own words in the Indexed, though blocked by robots.txt piece: if you block a page from being crawled, Google may still index it because crawling and indexing are two different things — and unless Google can crawl a page, it won’t see the noindex meta tag and may still index it because it has links.

What Google’s removal docs say, verbatim

Google’s “Remove a page hosted on your site from Google” doc is unambiguous. Its guidance for permanent removal lists three sanctioned methods — remove/update the content, password-protect the page, or add a noindex tag — and then says directly: “Don’t use robots.txt as a way to block your page."

"Indexed, though blocked by robots.txt” — the Search Console symptom

If you’ve tried the robots.txt approach, you’ve probably seen the Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. status “Indexed, though blocked by robots.txtA Google Search Console Page Indexing status: the URL was excluded from indexing because your robots.txt disallows crawling it. Usually intentional and benign — robots.txt blocks crawling, not indexing..” That label describes exactly this phenomenon: a URL Google has indexed (usually because it found the URL via links) despite being disallowed from crawling it. In my Ahrefs write-up I break down four distinct causes of that status — a genuine robots.txt crawl block, an intermittent/caching block, a user-agent-specific block, and an IP-based block — so it’s worth diagnosing rather than assuming. (Confirm the exact current label wording in a live Search Console property before quoting it — Google occasionally adjusts the UI text.)

Why combining robots.txt disallow with noindex backfires

This is the single most common self-inflicted failure. If you want a page gone and you add a noindex tag and a robots.txt disallow, you’ve guaranteed the noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. never works. Google’s robots meta tag docs are explicit: “If a page is disallowed from crawling through the robots.txt file, then any information about indexing or serving rules will not be found and will therefore be ignored. If indexing or serving rules must be followed, the URLs containing those rules cannot be disallowed from crawling.”

The rule of thumb: if you want a page removed, leave it crawlable and add noindex. Only consider blocking it in robots.txt after it’s confirmed dropped — and even then, robots.txt won’t stop it resurfacing via link-based indexing.

A quick history lesson: the 2019 noindex-in-robots.txt deprecation

There used to be an unofficial noindex: directive you could put inside robots.txt. It was never an official standard, was inconsistently honored, and Google formally retired even its unofficial handling. From Google’s note on unsupported rules in robots.txt (Gary Illyes, July 2019): “we’re retiring all code that handles unsupported and unpublished rules (such as noindex) on September 1, 2019.” In my own Ahrefs coverage I’ve made the same point: while Google used to unofficially support noindex in robots.txt, it was never an official standard and they’ve now formally removed support. Gary was characteristically blunt about the directive on the way out, calling it something that “sticks out like a nun in a mosh pit.”

Emergency removal: the Search Console Removals tool

When something needs to be hidden now, the Removals tool is the fast lever. Google: “For quick removals, use the Removals tool to remove a page hosted on your site from Google’s search results within a day.” John Mueller has confirmed that for verified owners it works very quickly.”

But it is emergency triage, not a fix, and the docs are blunt about its two limits:

  • It’s temporary. “Requests made in the Removals tool last for about 6 months.” The Search Console Help version says the same: “A successful request lasts only about six months.” Evidence for this claim Search Console's Removals tool temporarily blocks a URL from Google Search and is not a permanent removal method. Scope: Google Search Console verified properties; permanent removal requires a separate lasting method. Confidence: high · Verified: Google Search Console Help: Removals tool and SafeSearch Reporting Tool
  • It doesn’t stop crawling or truly remove anything. “Blocking a URL does not prevent Google from crawling your page, only from showing it in Search results.”

So without a permanent method applied in parallel, the page can return once the window expires. Use the Removals tool to buy time, then apply noindex, delete the page, or password-protect it during that window.

Bing’s equivalent

Bing has a parallel Block URLs tool, and this time the exact wording is confirmed. Bing Webmaster ToolsMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility.’ own interface text for the feature: “This feature allows you to block a URL from appearing in the Bing search results. This block will remain in place for maximum of 90 days. If the URL still returns a 200 OKHTTP 200 OK is the standard 2xx success status code, meaning the server received, understood, and fulfilled the request and is returning the resource. It's the code every page you want indexed should return — but a 200 alone doesn't guarantee Google will index the page. code when visited by our crawler after 90 days, it will reappear in our search results.” Bing also warns you 8 days ahead of a block expiring so you can renew it, and there’s no cap on how many times you can re-block the same URL. In my own Ahrefs piece I noted the comparison in my own words: the temporary effect lasts about six months in Google, while Bing’s equivalent lasts about three months (90 days). Bing’s separate help article on permanent removal (delete + status code, or NOINDEX) is a client-rendered page I still couldn’t extract verbatim text from, so its IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it.-submission recommendation stays paraphrased below.

Permanent method #1 — noindex (meta tag / X-Robots-Tag)

noindex is the most effective way to remove a URL from the index when crawling is allowed. It tells search engines not to list the page while the page stays live for users and direct visitors. As I’ve put it: a noindex meta robots tag or X-Robots-Tag header response will tell search engines to remove a page from the index.

Two implementations:

  • Meta tag in the HTML <head>: <meta name="robots" content="noindex">.
  • X-Robots-Tag HTTP header — for non-HTML files like PDFs where there’s no <head>. Google: “Any rule that can be used in a robots meta tagThe robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen. can also be specified as an X-Robots-TagThe X-Robots-Tag is an HTTP response header that carries the same indexing and serving directives as the robots meta tag (noindex, nofollow, nosnippet, and the rest). Because it lives in the header rather than the HTML, it's how you control indexing for non-HTML files like PDFs, images, and videos..”

The one requirement that trips everyone up: the page must stay crawlable. If it’s blocked in robots.txt, Google never sees the tag. Mueller’s two-step model via Search Engine Journal is the clean mental frame: first make sure Google can access the page (if it’s blocked by robots.txtA Google Search Console Page Indexing status: the URL was excluded from indexing because your robots.txt disallows crawling it. Usually intentional and benign — robots.txt blocks crawling, not indexing., the noindex won’t be seen), then add the noindex tag.

Use it when: the page should stay live for users (or direct/logged-in access) but shouldn’t appear in search — thank-you pages, internal search results, filtered/faceted variants, thin archive pages.

Permanent method #2 — delete the content (404/410)

If the content genuinely shouldn’t exist anymore, delete it and return a 404 (Not Found) or 410 (Gone). Google: both status codes “mean that the page does not exist, which will drop such URLs from Google’s index once they’re crawled and processed.” In my own words: the page will be removed from the index shortly after it’s re-crawled.

404 vs 410: both work. 410 is a marginally more explicit, slightly faster “gone forever” signal, but the practical difference is small — see the dedicated 404-vs-410 comparison for the nuance. The catch with this method: you can’t keep the page live for users while returning a 410. If people still need the page, that’s a noindex job, not a delete job.

Use it when: the content is genuinely retired and no one needs it anymore.

Permanent method #3 — password protection / login walls

Locking a page behind authentication is the most airtight removal. Google: “Password-protect your page. Limiting access to your page enables the right users to view your page, while preventing GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. and other web crawlers from accessing it.” From the 2019 blog post: hiding a page behind a login will generally remove it from Google’s index (unless you use subscription/paywall markup).

Its two advantages: it blocks all crawlers across all search engines (not just Google), and it’s not link-defeatable the way a robots.txt block is. Its trade-off: it blocks all users without credentials too — so it’s for genuinely private content, not pages you still want the public to reach.

Use it when: the content is sensitive/private and only authenticated users should ever see it.

A canonical tagA rel=\"canonical\" annotation — in the HTML <head> or an HTTP Link header — that tells search engines which URL is the preferred version of duplicate or near-duplicate content. is not a removal tool, and conflating the two causes real damage. CanonicalizationHow search engines pick one canonical URL among duplicates and consolidate signals onto it. is consolidation: when you have genuine duplicate or near-duplicate URLs, rel="canonical" tells Google which one to treat as the representative version and folds ranking signals onto it. Both URLs stay live and crawlable.

Critically, Google specifically advises against using noindex to manage which duplicate is canonical within a site: “We don’t recommend using noindex to prevent selection of a canonical page within a single site, because it will completely block the page from Search.” In other words: if the problem is “two URLs for the same content, keep one,” use a canonical. If the problem is “this page shouldn’t be in search at all,” use noindex. Different problems, different tools.

Use it when: you have real duplicate URLs and want signals consolidated onto one — not as a substitute for noindex on a page you simply don’t want indexed.

Removing images specifically — the exception to the myth

Here’s the one place the robots.txt myth flips: for images, robots.txt genuinely is Google’s sanctioned removal method. Google’s image removal docs: “To prevent images from your site appearing in Google’s search results, add a robots.txt file to the root of the site that hosts the image.” The example:

User-agent: Googlebot-Image
Disallow: /images/dogs.jpg

Why does this work for images when it fails for pages? Because Google Images indexing depends primarily on crawling the image file itself, which robots.txt directly blocks — whereas ordinary web-page indexing can happen from link discovery alone, without crawling. That’s the resolution to what looks like a contradiction: the myth is specifically about pages, not images. Use the Googlebot-Image user-agent to remove an image from Google Images specifically, or the general Googlebot user-agent to remove it from all Google surfaces.

There’s also an X-Robots-Tag alternative for images: “Alternatively, you can remove images hosted on your site from Google’s search results by adding the noindex X-Robots-Tag to the HTTP response headers of the images you want to remove” — but in that case you must allow crawling the image URLs so Googlebot can extract the rule (same crawl-to-see-the-rule logic as pages). Google notes the two methods have the same effect, so implementing both doesn’t make sense — pick one.

If you don’t own the page — two different tools, for two different problems

Everything above assumes you control the page. If you don’t, Google splits this into two separate paths depending on what’s wrong — and picking the wrong one wastes the emergency-track time you don’t have.

The page’s content is stale or already gone, but Google’s snapshot hasn’t caught up. Use the Refresh Outdated Content tool. Google: “Use the Refresh Outdated Content tool to have Google update search results for pages or images that no longer exist, or pages that have deleted important (sensitive or critical) content.” The key constraint: it only works if the content is already gone or significantly changed on the live page. It can’t force removal of content a site owner still wants live — it just prompts Google to update its results to match the current reality of a page. It requires a login but not Search Console verification.

The problem is personal or sensitive information, and the page may still be live. Google’s own current guidance routes this case differently. The doc this article leans on for permanent-removal methods says, verbatim, in its “if you don’t own the page” callout: “If you don’t own the page, see Remove your personal information from Google instead.” That’s a separate troubleshooter built for personal-information removal requests — doxxing, exposed IDs or financial info, non-consensual explicit imagery, and similar categories — and it’s the path Google points to first, not Refresh Outdated Content, when what’s exposed is about you rather than merely outdated. (This is per the currently live version of Google’s removal-information page, last updated 2025-12-10 per its own footer — Google may keep adjusting exactly how it signposts these two paths, so re-check before treating this as permanent.)

If it’s genuinely just outdated/removed content and not a personal-information matter, Refresh Outdated Content remains the right non-owner tool.

Decision framework — which method for which situation

Your situationUseNot
Page should stay live for users, just not in searchnoindex (crawlable)robots.txt
Content is genuinely retired / should stop existing404 or 410noindex
Sensitive/private, only authenticated users should see itPassword protectionnoindex alone
Two+ real duplicate URLs, keep onerel="canonical"noindex
Emergency — hide it today (you own it)Removals tool → then a permanent methodrobots.txt
Stale/removed content, you don’t own the pageRefresh Outdated Content toolanything else
Personal/sensitive info, you don’t own the page”Remove your personal information from Google”Refresh Outdated Content
Remove an imagerobots.txt (Googlebot-Image disallow)page-level noindex habits

See the Decision Trees tab for an interactive walkthrough.

How long does deindexing actually take?

None of the permanent methods are instant — all of them wait on Google recrawling the URL to see the change (whether that’s the noindex tag or the 404/410 status). That’s precisely why the Removals tool exists: it’s the only genuinely fast lever (within a day, per Google’s docs), which is what makes it the emergency option despite being temporary. If a page you noindexed is still appearing, per Google it’s “probably because we haven’t crawled the page since you added the noindex rule.” Requesting indexing/recrawl in URL Inspection can nudge it along.

Where this fits

This page is the practical hub tying the indexing cluster together. For the directives themselves, the individual deep dives — noindex, meta-robots, x-robots-tag, robots-txt, the removals-tool, canonicalization, and the 404-vs-410 / 410-gone status codes — each go further. For the whole pipeline (discovery, crawling, renderingTurning HTML, CSS, and JavaScript into the final visual page and DOM., indexing, serving), see the How Search Works clusterSearch works in three stages — crawling, indexing, and serving (ranking). A page has to clear each one to appear in results: getting crawled doesn't mean you're indexed, and getting indexed doesn't mean you rank.. And when a robots.txt block did leave a page indexed, the Indexed, though blocked by robots.txt write-up is the direct troubleshooting companion.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.