7 Common Reasons Google Isn't Indexing Your Pages
Google usually skips indexing a page because of a noindex tag, a robots.txt block, a canonical pointing elsewhere, thin/duplicate content, crawl budget limits, server errors, or the page being orphaned with no internal links or sitemap entry.
If a page isn't showing up in Google at all, it's not a ranking problem — it's an indexing problem, and the cause is almost always technical rather than about content quality alone. Below are the seven reasons this happens most often, in order of frequency, along with how to confirm each one and fix it.
- A single misplaced
noindextag can remove an entire page — or an entire site section — from Google's index overnight. - Robots.txt disallow rules block crawling before Google ever sees your content, including any noindex tag on the page.
- Sites with 10,000+ pages routinely lose crawl budget to thin or duplicate URLs, delaying indexing of new content by weeks.
- "Crawled - currently not indexed" in Google Search Console is now one of the most common status messages for thin or duplicate content.
- Orphan pages with zero internal links are frequently never crawled again after the first discovery, even if they were indexed once.
What does it mean when Google isn't indexing a page?
It means the page either hasn't been crawled yet, was crawled but excluded from the index, or was crawled and later dropped. Indexing is the process by which Google stores a page's content in its database so it can appear in search results; a page can exist, load perfectly in a browser, and still be completely invisible to Google if it never clears this step. You can confirm the exact status for any URL using the URL Inspection tool in Google Search Console, which reports one of several states: "Indexed," "Crawled - currently not indexed," "Discovered - currently not indexed," or "Excluded by noindex tag."
What are the 7 most common reasons Google isn't indexing your pages?
The seven causes below account for the vast majority of indexing issues seen across small business and mid-size sites. Most sites have more than one of these active at once.
1. A noindex tag is present on the page
A <meta name="robots" content="noindex"> tag or an equivalent X-Robots-Tag HTTP header tells Google directly not to index the page. This is deliberately added on staging sites, thank-you pages, or filtered category pages — but it frequently survives a site migration or CMS update and ends up live on pages that should rank. Check the page source or the URL Inspection tool for the "noindex" flag before assuming any other cause.
2. Robots.txt is blocking Googlebot from crawling the page
A disallow rule in robots.txt stops Googlebot from even requesting the page, which means it can never see whether the page has a noindex tag or valuable content. This is common after developers forget to remove a blanket Disallow: / rule used during staging. Test any URL against your robots.txt file directly in Search Console's robots.txt tester.
3. A canonical tag points to a different URL
The rel="canonical" tag tells Google which version of a page is the "master" copy when duplicates exist; if it points to another URL, Google will typically index that URL instead and ignore this one. This happens often with faceted navigation, printer-friendly pages, and parameter-based URLs (like ?sort=price) that all canonicalize to a single main page.
4. The content is too thin or too similar to other pages
Google increasingly declines to index pages it judges as low-value duplicates — near-identical product descriptions, boilerplate location pages, or pages under roughly 150-200 words with little unique information. This is the leading cause behind the "Crawled - currently not indexed" status in Search Console.
5. Crawl budget is being spent elsewhere
Crawl budget is the number of URLs Googlebot is willing and able to crawl on a given site within a given timeframe. On large sites with tens of thousands of URLs, budget gets consumed by faceted filters, session IDs, and duplicate parameter pages, leaving fewer crawls available for new or updated important pages — sometimes delaying their discovery by 2-4 weeks or longer.
6. Server errors or slow response times during crawling
If Googlebot repeatedly hits 5xx server errors, timeouts, or response times above roughly 2-3 seconds, it will crawl the site less often and may abandon indexing attempts on affected pages. Check the "Crawl stats" report in Search Console for spikes in server errors or average response time.
7. The page is orphaned or missing from the sitemap
An orphan page has no internal links pointing to it from anywhere else on the site, which makes it far harder for Googlebot to discover through normal crawling. Pages left out of the XML sitemap face the same problem — they're invisible unless Google stumbles onto them through an external backlink.
How do you check which of these issues is affecting your pages?
Run the URL Inspection tool on the specific URL first — it will usually name the exact cause (noindex, canonical mismatch, crawl error, etc.) rather than making you guess.
- Open Google Search Console and paste the URL into the URL Inspection tool.
- Read the "Coverage" status: Indexed, Excluded, or Discovered but not crawled.
- If excluded, check the specific reason Google lists (noindex, canonical, duplicate, crawl anomaly).
- View the page source or rendered HTML to confirm meta robots tags and canonical tags manually.
- Check robots.txt at yourdomain.com/robots.txt for disallow rules affecting the URL path.
- Review the Crawl Stats report for server errors or slow response times site-wide.
- Use a site: search (site:yourdomain.com/page-path) to confirm whether the page is currently in the index.
How do you fix each of these indexing issues?
Fix the root technical cause first, then request re-indexing — simply requesting indexing without fixing the underlying issue rarely works more than once.
| Cause | How to detect it | How to fix it |
|---|---|---|
| Noindex tag | Page source / URL Inspection | Remove the tag, then request indexing |
| Robots.txt block | robots.txt tester in GSC | Remove or narrow the disallow rule |
| Wrong canonical | Page source / URL Inspection | Set canonical to self-reference the correct URL |
| Thin/duplicate content | "Crawled - not indexed" status | Expand content, merge or delete duplicates |
| Crawl budget waste | Coverage report volume vs. total pages | Block low-value URL parameters, reduce duplicate paths |
| Server errors | Crawl Stats report | Fix hosting/response time, monitor uptime |
| Orphan pages / missing sitemap | Site crawl vs. sitemap comparison | Add internal links, update XML sitemap |
Once you've corrected the technical issue, the next step is deciding what to prioritize — a single misconfigured canonical tag can silently exclude hundreds of pages, while an orphan page might only need one internal link to get crawled again. If you want a quicker way to see which of these seven issues is actually affecting your site right now instead of checking each one manually, running a free site analysis will surface indexing blockers, robots.txt conflicts, and thin-content pages in one pass.
Indexing issues are only one piece of the puzzle, though — a page can be perfectly indexed and still fail to rank. For the full picture of what stops pages from performing in Google, see the complete guide to why your website isn't ranking on Google.
How do you prevent these indexing issues from happening again?
Set up recurring checks rather than one-time fixes, since noindex tags, canonical errors, and orphan pages tend to reappear after CMS updates, migrations, or new page templates. Review Search Console's Coverage and Crawl Stats reports monthly, audit robots.txt after every site migration, and require new pages to include at least one internal link from an existing indexed page before publishing.
Perguntas frequentes
Veja por que seu site não tem a visibilidade que merece
Analise seu site gratuitamente e veja suas 3 principais oportunidades de conteúdo.
Análise gratuita do site →