"Why is my site not indexed?" almost always has a specific, findable cause. Indexing is a chain: a bot has to discover the URL, be allowed to crawl it, be allowed to index it, be able to render the content, and judge it worth keeping. Break any link and the page vanishes from search.
Work through these causes in order. The first few are the most common and the fastest to fix.
1. Noindex tags
The single most common cause. A <meta name="robots" content="noindex"> tag or an X-Robots-Tag: noindex response header tells search engines to keep the page out of the index. These often survive from staging environments or get applied site-wide by a misconfigured plugin or template.
Check the rendered HTML and the response headers, not just the source.
Search your templates and CMS settings for noindex.
Remove it only where indexing is actually intended.
2. Robots.txt blocks
robots.txt controls crawling. A Disallow rule stops bots from fetching the page at all. Critically, a disallowed page cannot show its noindex tag, because the bot never reads the page, so combining the two backfires.
Confirm important sections are not under a Disallow.
Remember: robots.txt blocks crawling, meta-robots blocks indexing. Use the right tool.
If you want a page fully out of the index, allow crawling and use noindex, not disallow.
3. Canonical conflicts
A canonical tag tells search engines which URL is the master version of similar content. When canonicals point to the wrong URL, or every page canonicalizes to the homepage, search engines drop the "duplicate" pages from the index.
Each page should either self-canonicalize or point to a genuine primary version.
Watch for CMS defaults that canonicalize paginated or filtered URLs incorrectly.
Make sure canonical, sitemap, and internal links all agree on the same URL.
4. Crawl budget and discovery
For large sites, search engines allocate a finite crawl budget. If bots burn it on low-value URLs (faceted navigation, session parameters, endless filter combinations, redirect chains), your important pages get crawled late or not at all.
Consolidate redirect chains into single hops.
Block or parameter-handle low-value URL variations.
Keep an accurate, current sitemap and link important pages internally.
Small sites rarely have a crawl-budget problem; do not over-optimize for it.
5. JavaScript rendering
If your content only appears after JavaScript executes, search engines have to render the page to see it, which they do on a delay and not always completely. Content that depends on client-side rendering can be crawled but come back empty.
Check what the crawler actually sees after render, not just the raw HTML.
Prefer server-side rendering or static generation for content you need indexed.
Make sure primary content and internal links exist in the initial HTML where possible.
6. Quality and duplication
Sometimes the page is perfectly crawlable and the engine simply chooses not to index it. Thin, duplicated, or near-empty pages get filtered as "crawled, not indexed" or "discovered, not indexed."
Ensure each indexable page has substantial, distinct content.
Merge or noindex thin variants rather than letting them dilute the site.
Give the engine a reason to store the page.
AI-crawler indexing
In 2026, showing up in AI answers is a separate concern from training crawlers, and the distinction matters.
| Bot | Role | Blocking effect |
|---|---|---|
| GPTBot, ClaudeBot | Training crawlers | Blocking does not remove you from AI answers |
| OAI-SearchBot, Claude-SearchBot | AI search indexers | Blocking removes you from those AI answers |
| Googlebot, Bingbot | Search indexers | Blocking removes you from search and AI Overviews |
| PerplexityBot | Answer engine crawler | Blocking removes you from Perplexity answers |
Practical takeaways:
- Blocking training crawlers (GPTBot, ClaudeBot) protects content from model training without hurting your presence in AI answers.
- The bots that decide whether you appear inside an AI answer are the search indexers, so do not block those unless you mean to disappear.
- Consider an llms.txt file, an AI-friendly index of your most important pages, to help answer engines prioritize your authoritative content for retrieval.
- Decide access per bot in robots.txt rather than applying one blanket rule.
A troubleshooting checklist
Confirm the page is not noindex (HTML and headers).
Confirm robots.txt does not disallow it.
Confirm the canonical points to the right URL.
Confirm the content renders without requiring JavaScript the crawler skips.
Confirm the page is linked internally and in the sitemap.
Confirm the content is substantial and distinct.
Request indexing and check the URL inspection status.
Run them in order. The moment one check fails, you have likely found your cause.
FAQ
Why does Google say "crawled, currently not indexed"?
The page was fetched but the engine chose not to store it, usually a quality or duplication signal. Strengthen the content, tighten internal links, and remove near-duplicate variants.
What is the difference between crawling and indexing?
Crawling is fetching the page. Indexing is storing it so it can appear in results. A page can be crawled and still not indexed, but it cannot be indexed without being crawled.
How long does indexing take for a new page?
Anywhere from hours to weeks, depending on site authority, crawl frequency, and internal linking. Strong internal links and a current sitemap speed it up.
Does blocking GPTBot stop me appearing in ChatGPT?
No. GPTBot is a training crawler. The bot that pulls pages into ChatGPT's answers is OAI-SearchBot, a separate indexer. Block one without affecting the other.
Can a canonical tag deindex my page?
Yes. If a page canonicalizes to another URL, the engine may drop it in favor of the canonical target. Point canonicals only at genuine primary versions.
Do I need an llms.txt file?
It is optional but increasingly useful. It gives AI answer engines a curated map of your most important pages, which can help them prioritize your authoritative content.
Find out exactly why your pages are not indexed. A free SEO AEO Specialist crawl (€0, up to 50 pages) surfaces noindex tags, robots blocks, canonical conflicts, and render issues in one pass, including how AI crawlers see your site. Grab a one-time report for €9, or monitor a domain for €19/mo. Start free at SEO AEO Specialist or explore the full SEO audit hub.
SEO Audit vs AEO Audit: Why You Need Both in 2026 | SEO AEO Specialist
See where you stand
SEO AEO Specialist runs a free AI-visibility audit and hands you the exact fixes. One-off report €9, unlimited €19/mo.
Run your free audit →