Site removed from Google? How to find the cause, step by step
If your site has been removed from Google, the cause is usually something you can find within an hour: a noindex that reached production, a robots.txt that blocks everything, a manual action, a removal request, or a server or domain that stopped answering. Work through the checks below in order, because the early ones are quick and catch most cases.
Confirm it with site: and URL Inspection
Search site:example.com in Google. What matters is whether the homepage and key pages appear at all. If nothing comes back, the whole site is out. If some pages show, you're looking at a partial problem, usually one template or one section.
Then open Search Console, paste the homepage into URL Inspection and read two lines: whether the URL is on Google, and the reason if it isn't. Run the live test too. The indexed result tells you what Google saw last time, the live test what it would see now. Our guide on how to check if a page is indexed covers the other methods.
Look for noindex in the HTML and in the headers
The most frequent cause is a noindex directive. Check the source for <meta name="robots" content="noindex"> or a googlebot meta tag with the same value. On WordPress, open Settings > Reading: the "Discourage search engines from indexing this site" checkbox adds exactly that tag, and it often gets ticked on staging and carried over at launch.
The directive can also arrive as an HTTP header, which you won't see in the source:
curl -sI https://example.com/ | grep -i x-robots-tag
If that returns X-Robots-Tag: noindex, the server, a plugin or a CDN rule is adding it. The noindex tag guide explains how Google handles both forms.
Read robots.txt
Open /robots.txt and look for Disallow: / under User-agent: * or User-agent: Googlebot. A blanket Disallow stops crawling. Pages already in the index can hang on for a while with no description in the snippet, then fade out.
A page blocked in robots.txt also can't show Google its noindex, so lift the block first if you ever need to deindex something on purpose.
Check Manual actions, Security issues and Removals
In Search Console, open Security & Manual actions. A manual action for spam, or a security issue such as hacked content or malware, can take pages or the entire site out of results. Once it's fixed, you request a review from the same screen.
Then open the Removals tool. Anyone with full access to the property can hide URLs for about six months, and a request on the bare domain prefix hides everything under it. If you find a request nobody remembers making, cancel it.
Canonicals pointing to another domain
A rel="canonical" on every page pointing to a different host (staging, an old domain, a copy of the site) asks Google to index that other URL instead. URL Inspection shows the user-declared canonical next to the Google-selected one. If Google's choice sits on another domain, start there.
Server errors, DNS and an expired domain
If Googlebot gets 5xx errors for days, it slows down and then drops URLs. Crawl stats, under Settings in Search Console, breaks responses down by status code, so a run of 5xx is easy to spot. A firewall that blocks Googlebot while letting browsers through does the same damage, and it shows up as 403s.
Last, check the domain. An expired registration or a broken DNS record means Googlebot can't reach the site at all. Run an RDAP or WHOIS lookup and confirm the expiry date and nameservers. The domain expiry monitoring article covers what happens after a domain lapses.
Once the cause is fixed, request indexing for the homepage and a few key URLs in URL Inspection and resubmit the sitemap. Recovery takes from days to weeks, and nothing forces it faster.
Spotting the on-site causes before Google reacts
Deltio watches for most of these causes on each client site, before Google drops anything. Its SEO scanner reads the meta robots tag and the X-Robots-Tag header on every URL and compares each scan with the previous one, so a page switching to noindex triggers an email or Slack alert. A changed robots.txt arrives with a diff of the lines added and removed. Uptime is checked every 10 minutes, domain expiry is read via RDAP with a warning at 30 days, and SSL alerts come 30 days and 1 day before the certificate expires.
Deltio doesn't read Search Console, so manual actions, security issues and removal requests stay in your GSC routine. Starter costs £24 a month, or £20 billed annually, and you can try it free for 14 days.
Frequently asked questions
- How long does it take for a site to come back on Google after fixing the problem?
- It depends on how quickly Google recrawls the pages. Requesting indexing for key URLs in URL Inspection and resubmitting the sitemap speeds up discovery, but there is no guaranteed timeline. Small sites often return within days, while large sites or long outages can take several weeks.
- Can a competitor get my site removed from Google?
- Not through the Removals tool in Search Console, which only verified owners of a property can use. Google's public Refresh Outdated Content tool only updates results for pages that have already changed or gone. Legal removal requests exist, but Google reviews them before acting.
- Does the site: operator show every indexed page?
- No. The number of results for a site: search is a rough estimate and can vary from one query to the next. Use it to see whether a site or section appears at all, and rely on the Page indexing report in Search Console for counts.
- Why is my site still on Bing but gone from Google?
- Bing follows the same robots.txt and noindex directives, so a gap between the two often points to something specific to Google. Typical candidates are a manual action, a removal request in Search Console, or a server or firewall rule that treats Googlebot differently from other crawlers.
- Does Deltio tell me when a site drops out of Google?
- Deltio doesn't check Google's index or read Search Console. It alerts on the on-site causes of deindexing: a noindex in the meta robots tag or X-Robots-Tag header, robots.txt changes, downtime, and upcoming SSL or domain expiry.