Why Is My Page Not Indexed? A Step-by-Step Diagnosis

Page not indexed by Google? Work through noindex, canonicals, robots.txt, soft 404s, duplicates and quality issues in the right order to find the real cause.

By the MakeItFlow team 9 min read
Share LinkedIn X Facebook WhatsApp
Why Is My Page Not Indexed? A Step-by-Step Diagnosis

If your page is not indexed, the cause is usually one of six things: a noindex tag, a canonical pointing to another URL, a robots.txt block, an error or soft 404 response, duplication with another page, or Google deciding the page isn't worth indexing yet. Check them in that order, starting with Search Console's URL Inspection tool.

The order matters. Technical blocks are quick to confirm and quick to fix, while quality problems take longer. Many people spend weeks rewriting content when the real cause was a leftover noindex tag from the staging site. This guide gives you a diagnostic flow that rules out the simple causes first.

Key takeaways

  • Start with URL Inspection in Search Console, which tells you whether Google can't index the page or has chosen not to.
  • Technical blocks such as noindex, a canonical pointing elsewhere, robots.txt rules and error status codes are the quickest to find and fix.
  • A noindex tag only works if robots.txt lets Google crawl the page and see it.
  • If the page is technically fine but still not indexed, the cause is usually duplication, thin content or weak internal links.

First, confirm the page really isn't indexed

Don't rely on a site: search alone. It's useful for a quick look but isn't a complete or reliable index check. Use Google Search Console:

  1. Paste the full URL into the URL Inspection bar at the top.
  2. Read the headline: "URL is on Google" or "URL is not on Google".
  3. If it's not on Google, expand Page indexing to see the reason, the last crawl date, the canonical Google selected and whether crawling and indexing were allowed.

Our guide on how to check if a page is indexed covers the three methods in more detail, including the Page indexing report for whole-site checks.

The two kinds of "not indexed"

Every reason in Google's Page indexing report falls into one of two groups:

  • Google can't index it. Something technical stops it: a noindex rule, a robots.txt block, a redirect, an error code. These are your fault (or your theme's) and you can fix them directly.
  • Google has chosen not to index it. The page is technically fine, but Google has picked a different URL as the canonical, considers it a duplicate, or hasn't judged it worth indexing yet. These need better signals or better content.
Search Console reason Group What it means
Excluded by 'noindex' tag Can't A meta robots tag or X-Robots-Tag header says noindex
Blocked by robots.txt Can't Googlebot isn't allowed to crawl the URL
Not found (404) Can't The URL returns 404
Server error (5xx) Can't The server failed when Google requested it
Blocked due to unauthorised request (401) Can't The page needs a login
Page with redirect Can't The URL redirects; only the target can be indexed
Soft 404 Chose not to The page returns 200 but looks like an error or empty page
Alternate page with proper canonical tag Chose not to Your canonical points elsewhere and Google agreed
Duplicate without user-selected canonical Chose not to Google sees it as a duplicate and picked another URL
Duplicate, Google chose different canonical than user Chose not to You set a canonical, Google overruled it
Crawled – currently not indexed Chose not to Google fetched it and decided not to index it for now
Discovered – currently not indexed Chose not to Google knows the URL but hasn't crawled it yet

The diagnostic flow

Work through these steps in order. Stop when you find the cause. Our free indexability checker runs most of the technical checks (status code, robots meta, X-Robots-Tag, canonical and robots.txt) on one URL in a single pass, which makes steps 1 to 4 much faster.

Step 1: Does the page return a 200 status?

A page must return 200 OK to be indexed. Check for:

  • 404 or 410. The URL doesn't exist, or the link has a typo.
  • 5xx errors. The server is failing, sometimes only for Googlebot or only under load.
  • 3xx redirects. The URL redirects somewhere else, so Google indexes the destination instead. Make sure your internal links and sitemap point to the final URL.
  • 401 or 403. The page is behind a login or a firewall rule. Security plugins and CDN bot protection sometimes block Googlebot by mistake.

Use the HTTP status checker to see exactly what comes back, including every hop in a redirect chain.

Step 2: Is there a noindex rule?

Check two places:

<!-- In the HTML head -->
<meta name="robots" content="noindex">
# In the HTTP response headers
X-Robots-Tag: noindex

Common causes: WordPress's "Discourage search engines from indexing this site" setting left on after launch, an SEO plugin set to noindex a post type or taxonomy, a staging site copied to live with its settings, or a header added at server level that nobody remembers. The header version is easy to miss because it doesn't appear in the page source.

Step 3: Does robots.txt block the URL?

A Disallow rule stops Google crawling the page. Google's noindex documentation points out a trap here: if robots.txt blocks a page, "the crawler will never see the noindex rule." So:

  • If you want a page out of Google, allow crawling and use noindex.
  • If you want it in Google, make sure no rule blocks it.

Test the exact URL in the robots.txt tester. Wildcard rules like Disallow: /*? often block more than intended. Our guide to noindex vs robots.txt disallow explains when to use each.

Step 4: Where does the canonical point?

Look for <link rel="canonical" href="..."> in the head. If it points to a different URL, you're telling Google the other URL is the main version and this one shouldn't be indexed separately.

Common mistakes:

  • Every page canonicalised to the home page by a broken template.
  • Canonicals pointing to the http:// or www version when the site uses another.
  • Paginated or filtered pages all canonicalised to page one when they have unique content.
  • A canonical to a URL that redirects, returns 404 or is itself noindexed.

If Search Console says "Google chose different canonical than user", Google disagrees with your tag. Usually that's because the pages are too similar, or because internal links, sitemaps and redirects all point to the other version. See canonical tags explained.

Step 5: Is it a soft 404?

A soft 404 is a page that returns 200 OK but looks like an error or has almost no content: an empty category, an out-of-stock product with nothing else on it, a search results page with no results, or a "page not found" message served with the wrong status. Google treats it as an error page and won't index it.

Either add real content, return a proper 404 or 410, or redirect to a genuinely relevant replacement.

Step 6: Is it a duplicate of another page?

If the page is very similar to another URL on your site, Google indexes one and leaves the others out. Typical sources are:

  • Location pages that only swap the town name.
  • Product variants (size, colour) on separate URLs with the same description.
  • The same article available under several categories or tag URLs.
  • Tracking parameters creating copies of the same page.

Consolidate near-duplicates into one stronger page, or make each one substantially different. Where variants must exist, point their canonicals at the main version.

Step 7: Crawled or discovered, but not indexed

If the page passes every check above, you're in "chose not to" territory. These two statuses have their own guide: fixing crawled and discovered – currently not indexed. In short:

  • Crawled – currently not indexed usually means Google doesn't think the page adds enough value yet. Improve or merge thin content, and link to it from relevant, strong pages.
  • Discovered – currently not indexed usually means Google hasn't got round to crawling it. Check server speed, cut low-value URLs and strengthen internal links.

Quick-reference checklist

  1. URL Inspection says "not on Google". Note the reason.
  2. Status code is 200, with no redirect, login wall or firewall block.
  3. No noindex in the meta robots tag or X-Robots-Tag header.
  4. robots.txt allows the URL.
  5. Canonical is self-referencing (or deliberately points elsewhere).
  6. Page has real, unique content and isn't a soft 404.
  7. Page isn't a near-duplicate of another URL.
  8. Page is linked from at least one relevant, indexed page on your site.
  9. Page is listed in your XML sitemap, and the sitemap is submitted. Check that the sitemap lists the final, canonical URL.
  10. After fixing, use "Request indexing" once, then wait.

After you fix it

Requesting indexing in URL Inspection asks Google to recrawl the page. It doesn't guarantee indexing, and requesting it repeatedly doesn't help. For a fix that affects many URLs, use "Validate fix" in the Page indexing report instead.

Expect anything from a few days to a few weeks. If a whole site isn't appearing, rather than one page, check the site-wide basics first: robots.txt, a sitewide noindex, and whether the domain is verified in Search Console.

Make It Flow's free checks cover the technical side quickly. If you'd rather have indexing issues flagged automatically each week, that's the kind of workflow we build; talk to us if it would help.

FAQ

Why is my page not indexed when it's in my sitemap?

A sitemap tells Google a URL exists; it doesn't force indexing. If the page has a noindex tag, a canonical pointing elsewhere, a robots.txt block or an error status, Google won't index it. If it's technically fine, Google may still decide it's a duplicate or not valuable enough yet.

How long does it take for a new page to be indexed?

There's no fixed time. Pages on established, well-linked sites are often indexed within days, while new sites or pages with few internal links can take weeks. Linking to the new page from relevant indexed pages, including it in your sitemap and requesting indexing once all help.

Does "Request indexing" guarantee my page will be indexed?

No. It adds the URL to Google's crawl queue, and Google then decides whether to index it using the same criteria as any other page. If the page has a technical block or a quality problem, requesting indexing won't change the result. Fix the cause first, then request it once.

Can a robots.txt block stop a page being removed from Google?

Yes. If robots.txt blocks a URL, Google can't crawl it to see a noindex tag, so the URL can stay in results, sometimes with no description. To remove a page, allow crawling and add noindex, or return a 404 or 410 status.

Why does Google ignore my canonical tag?

A canonical tag is a hint, not a command. Google may choose a different URL if your internal links, sitemap or redirects point to another version, if the pages aren't actually duplicates, or if the canonical target has problems such as a redirect or noindex. Make every signal point to the same URL.

Will a page that isn't indexed hurt the rest of my site?

Usually not on its own. Unindexed pages simply don't appear in search. Large numbers of thin, duplicate or low-value URLs can waste crawling and make it harder for Google to find your important pages, so it's worth cleaning them up on bigger sites.

#page not indexed #google indexing #search console #technical seo

Written by the MakeItFlow team

We build the website audit these guides are based on. Every fact is checked against the primary sources listed above . How we research and check

Share LinkedIn X Facebook WhatsApp

Check your own site in 30 seconds

Run a free audit covering speed, SEO, DNS, email authentication and security headers — and get a prioritised fix list.

Weekly newsletter

One practical website fix, every week

New guides on speed, SEO, email deliverability and security — straight to your inbox. No spam, unsubscribe in one click.

Keep reading