If Google is not indexing your website, the problem is usually linked to crawl restrictions, indexing settings, poor site quality, or technical errors. In many cases, the fix is simpler than expected once the root cause is identified.
Publishing a page and waiting for Google to find it can be frustrating. Days turn into weeks. The page never appears in search results. Even searching the exact title returns nothing. Search Console shows “Discovered, currently not indexed” or “Crawled, currently not indexed,” leaving you wondering what went wrong.
Many website owners assume Google indexes every page automatically. It doesn’t. Google first needs to discover, crawl, evaluate, and decide if a page deserves a place in its index. If something interrupts that process, the page stays invisible in Google Search. Sometimes, Google indexed then removes the content.
The good news is that most indexing issues have documented causes and practical SEO solutions. In this guide, you’ll learn common reasons Google isn’t indexing your website and the fixes that can help get your pages into Google’s index faster.
- List of Issues Why Google Isn’t Indexing Your Website
- Server Error (5xx)
- Redirect Error
- URL Blocked by robots.txt
- URL Marked ‘noindex’
- Soft 404
- Blocked Due to Unauthorized Request (401)
- Duplicate, Submitted URL Not Selected as Canonical
- Blocked by Page Removal Tool
- Page Indexed Without Content
- Manual Action or Security Issue
- Server Throttling (HTTP 429 Too Many Requests)
- Not Found (404)
- Blocked Due to Access Forbidden (403)
- URL Blocked Due to Other 4xx Issue
- Crawled – Currently Not Indexed
- Discovered – Currently Not Indexed
- Alternate Page with Proper Canonical Tag
- Duplicate Without User-Selected Canonical
- Duplicate, Google Chose Different Canonical Than User
- Page with Redirect
- JavaScript Execution Timeout
- Frequently Asked Questions
List of Issues Why Google Isn’t Indexing Your Website
Here are the top issues why Google is unable to crawl and index webpages on your website:
Server Error (5xx)
Your server crashed or timed out when Google tried to open the page. That means your code broke, a database query hung, or your server simply ran out of memory. Google couldn’t load the HTML, so it gave up and left.
How to Fix It: Check your server logs (error.log) around the exact time Google attempted the crawl to see what script threw an error. Fix the bug, increase your PHP/memory limits, or upgrade your hosting if traffic is maxing out your CPU. Once the page loads normally without crashing, hit “Request Indexing” in Search Console.
Redirect Error
Google got stuck in a redirect loop or hit a dead end. This happens when Page A redirects to Page B, but Page B redirects back to Page A, or when you stack 4 or 5 redirects in a row instead of sending the user straight to the final URL.
How to Fix It: Clean up your redirect rules. Every old URL should redirect directly to the new live page in one single jump (a 301 redirect). Strip out any circular redirects so the browser and Google can actually reach a real page.
URL Blocked by robots.txt
Your site has a robots.txt file telling Googlebot, “Do not cross.” Somewhere in that file, you have a rule like Disallow: /your-page/, so Google obeys and doesn’t crawl it.
How to Fix It: Open your [site.com/robots.txt](https://site.com/robots.txt) and look for the line blocking that URL path. Delete or edit that line. If you actually do want to keep this page hidden from search, take away the robots.txt block and add a noindex tag to the page instead.
URL Marked ‘noindex’
Google opened the page, but found a tag in the HTML code (or server headers) explicitly saying noindex. This often happens when developers launch a site and forget to turn off the “discourage search engines” setting from their staging build.
How to Fix It: Search your page source for noindex. If you’re on WordPress, uncheck “Discourage search engines from indexing this site” in Settings > Reading, or toggle off the noindex setting in your SEO plugin (Yoast, Rank Math, etc.).
Soft 404
Your page tells human users “Sorry, this page doesn’t exist” or displays an empty screen, but your server tells Google “200 OK” (meaning everything is fine). Google catches this discrepancy and calls it out as a fake page.
How to Fix It: If the page is dead or the product is permanently gone, set your server to return a real 404 status code. If the page is supposed to be live, put actual content on it, text, images, descriptions, so Google doesn’t think it’s a blank stub.
Blocked Due to Unauthorized Request (401)
Google hit a password screen or a pop-up asking for user login details. Because Googlebot doesn’t log in or store passwords, it gets locked out.
How to Fix It: If this is a public page, remove the password wall or basic HTTP authentication. If it’s a private page (like an admin dashboard or user profile), ignore this, it shouldn’t be indexed anyway.
Duplicate, Submitted URL Not Selected as Canonical
You explicitly submitted this URL in your sitemap and marked it as canonical, but Google disagreed and chose a different canonical URL instead.
How to Fix It: Decide which version of the page you want indexed. If this submitted URL is the true primary page, ensure all internal links point to it, align all canonical tags to it, and reduce content overlap with the alternate version Google chose.
Blocked by Page Removal Tool
Someone in your Search Console account used the Removals tool to temporarily hide this page from Google Search results.
How to Fix It: Go to Search Console > Removals. Check the list of active temporary removals and click “Cancel request” if the page was hidden by accident or is ready to be shown again.
Page Indexed Without Content
Google indexed the URL, but couldn’t read or extract any readable text from the page when crawling it. This usually happens with broken JavaScript execution, cloaking scripts, or PDF/media files without text.
How to Fix It: Test the page in the Search Console URL Inspection Tool and check the “Rendered HTML” tab. Ensure your critical body content is visible in the raw HTML response and not completely hidden behind client-side JavaScript that fails to execute.
Manual Action or Security Issue
Your site was flagged by Google’s human review team for violating Webmaster Guidelines (e.g., spam, paid links, thin content) or flagged for hosting malware/phishing content.
How to Fix It: Check the Manual Actions and Security Issues tabs in Search Console. Clean up the violating content or hack, then click “Request Review” to have Google re-evaluate your site.
Server Throttling (HTTP 429 Too Many Requests)
Your web server or CDN (like Cloudflare) is getting overwhelmed by crawl requests and is serving Googlebot a 429 Too Many Requests error to save bandwidth.
How to Fix It: Check your server logs and hosting resources. Increase your server capacity, tweak caching rules, or adjust your crawl rate settings in Search Console so Googlebot doesn’t crash or overload your server.
Not Found (404)
Google tried to visit a link that doesn’t exist on your server. This usually happens when you delete an old page, change a URL without setting up a redirect, or someone else web-links to a broken URL on your site.
How to Fix It: If there’s a new, equivalent page on your site, set up a 301 redirect from the old URL to the new one. If the page was permanently deleted and has no replacement, leave it as a 404. Google will eventually stop trying to crawl it.
Blocked Due to Access Forbidden (403)
Your web server or security firewall (like Cloudflare) actively blocked Googlebot from accessing the page. It usually happens when firewall rules accidentally mistake Googlebot for a malicious scraper or attack.
How to Fix It: Check your security plugins, firewall rules, or CDN settings. Make sure you aren’t blocking Googlebot’s IP range or blocking requests based on user-agent strings.
URL Blocked Due to Other 4xx Issue
This is a bucket for weird browser/client errors that aren’t 401, 403, or 404. The most common culprit is a 400 (Bad Request), meaning the URL was formatted wrong or had weird characters in it that the server couldn’t parse.
How to Fix It: Run the URL through the URL Inspection tool in Search Console to see what exact HTTP status code your server returned. Fix the malformed URL or correct your server logic handling those requests.
Crawled – Currently Not Indexed
Google crawled the page, read everything on it, but decided it wasn’t worth adding to search results. This usually means the content is too short, written poorly, or repeats stuff already on your site.
How to Fix It: Make the page actually useful. Add original information, expand the copy, fix formatting, and add internal links pointing to this page from your main menu or blog posts to signal that it’s important.
Discovered – Currently Not Indexed
Google knows the page exists (it saw it in your sitemap or found a link to it), but hasn’t gotten around to crawling it yet. Google usually pauses here so it doesn’t overload your host with too many requests at once.
How to Fix It: Make sure your server isn’t loading super slow. Keep your sitemap updated, link to the page internally from active pages, and if it’s super urgent, paste the link into Search Console’s URL Inspection tool and click “Request Indexing.”
Alternate Page with Proper Canonical Tag
This page is just a duplicate or alternative version of another page (like a mobile view or a print version). You already have a canonical tag telling Google to index the main desktop version instead.
How to Fix It: Don’t fix anything. This is working exactly as it should. Google indexes your main page and ignores this alternative version.
Duplicate Without User-Selected Canonical
You have two or more pages on your site with the exact same content, but you didn’t tell Google which one is the “real” one. Google picked one for you and ignored this one.
How to Fix It: Pick the main URL you want people to find in search. On all the duplicate pages, add a canonical tag in the HTML head pointing to that main URL: <link rel=”canonical” href=”[https://example.com/main-page/](https://example.com/main-page/)”>.
Duplicate, Google Chose Different Canonical Than User
You put a canonical tag on the page pointing to URL A, but Google ignored your tag and picked URL B instead. This happens when the two pages aren’t actually identical, or when all your internal links point to URL B anyway.
How to Fix It: If you want Google to respect your choice, make sure the two pages have near-identical content. Then check your internal links, sitemap, and redirects to ensure they all point to your preferred canonical URL, not the one Google picked.
Page with Redirect
This URL just forwards users to another link. Google doesn’t index URLs that only exist to redirect somewhere else; it indexes the final destination instead.
How to Fix It: If the redirect is intentional, do nothing. If you actually want this specific URL indexed, remove the redirect code so the URL loads its own real content.
JavaScript Execution Timeout
Googlebot fetched the initial HTML skeleton, but your client-side JavaScript took too long to load or crashed before rendering the actual page content. To Google, the page appears completely blank.
How to Fix It: Implement Server-Side Rendering (SSR) or Dynamic Rendering so Googlebot receives fully populated HTML right away, rather than relying strictly on client-side JavaScript execution.
Frequently Asked Questions
Why is Google not indexing my website?
Google may not index a website because of crawl errors, a noindex tag, blocked pages in robots.txt, poor-quality content, duplicate pages, server issues, or because the site is still new and hasn’t been crawled yet.
How long does Google take to index a new website?
A new website can be indexed within a few days, but it may also take several weeks. The timeline depends on factors such as crawlability, website quality, backlinks, internal linking, and how often Google visits the site.
Does submitting a URL in Google Search Console guarantee indexing?
No. Submitting a URL in Google Search Console only asks Google to crawl the page. Google still reviews the content and decides if it meets its quality standards before adding it to the search index.
Why does Google crawl my page but not index it?
Google may crawl a page but decide not to index it if the content is thin, duplicated, outdated, or offers little value compared to similar pages already in its index.
Can a robots.txt file stop Google from indexing my website?
Yes. If the robots.txt file blocks Googlebot from crawling important pages, Google may not have enough information to index them. However, blocked URLs can still appear in search results if Google discovers them through external links or other sources.