Why isn’t Google indexing my pages?
Google tells you, page by page, in Search Console. Most pages that aren’t indexed sit at “Discovered, currently not indexed”: Google knows the page exists and has no crawl of it on record, which we read as coming down to links and the site’s authority.
IndexedMe checks every page in your sitemap with Google’s URL Inspection API and sorts the ones Google left out by the reason it gives, with the fix for each.
It tells you why a page isn’t indexed. It can’t make Google index it. Only Google decides that, and no tool can press Search Console’s “Request indexing” button for you.
What IndexedMe can’t do
Google has no API for the “Request indexing” button in Search Console. IndexedMe tells you which pages are worth requesting and why, and you press the button yourself. When the reason is the whole site’s authority, requesting pages changes little, and the report says so.
The reasons Google gives, and what fixes each
Search Console reports around 25 different states for pages it hasn’t indexed. They come down to these causes.
Google has no crawl date for these pages
Search Console says: “Discovered - currently not indexed”, “URL is unknown to Google”
Google has the URL on its list but has no crawl date for it. Google says it usually put the crawl off to avoid overloading the site; on a small site the likelier reason is that the site doesn't yet earn many crawls. Search Console calls this "Discovered, currently not indexed", and sometimes reports the same page as "URL is unknown to Google". One URL can flip between the two answers minutes apart, so IndexedMe counts them together.
What fixes it: Request indexing for your most important pages, a batch a day: on mastersofseo.com, all 9 pages requested were crawled that same day. For the rest of the site, link to these pages from pages Google already crawls, starting with your homepage, and earn links from other sites. Resubmitting your sitemap does little, because Google already has the URLs.
Google crawled these pages and chose not to index them
Search Console says: “Crawled - currently not indexed”
Google fetched the page, read it and decided it wasn't worth keeping. That's a judgement on the page itself.
What fixes it: Work on the page. Give it something the pages already ranking don't have: depth, first-hand detail, a clear reason to exist. Merge thin pages that cover the same thing, and check it isn't a near-copy of another page on your site.
These pages tell Google to leave them out
Search Console says: “Excluded by 'noindex' tag”, “Submitted URL marked 'noindex'”
The page carries a noindex instruction, in a robots meta tag or an X-Robots-Tag header, and Google is doing as it's told.
What fixes it: If you want the page in Google, remove the noindex. SEO plugins set it per post type or per page, so look there first. If you meant it, take the page out of your sitemap so the two signals agree.
Google indexes a different URL for these pages
Search Console says: “Alternate page with proper canonical tag”, “Duplicate without user-selected canonical”, “Duplicate, Google chose different canonical than user”
Google treats the page as a copy of another URL and indexes that one instead.
What fixes it: Often this is right, for example a filtered or tracking version pointing at the real page. Check the URL Google chose. If it's the wrong one, point the canonical tag at the page you want and make the pages less alike. Keep only canonical URLs in your sitemap.
robots.txt stops Google fetching these pages
Search Console says: “Blocked by robots.txt”
A Disallow rule in your robots.txt matches these URLs, so Googlebot won't fetch them.
What fixes it: Remove or narrow the rule. If you want a page kept out of Google, use noindex, and let robots.txt allow the fetch, or Google never sees the noindex.
These URLs redirect
Search Console says: “Page with redirect”, “Redirect error”
The URL sends Google somewhere else, so Google indexes the destination, if anything.
What fixes it: List the final URL in your sitemap and link to it directly. For a redirect error, follow the chain yourself: loops, and chains of several hops, are the usual cause.
Not found, or empty enough to look it
Search Console says: “Not found (404)”, “Soft 404”
The page returns a 404, or it's so thin that Google treats it as a missing page (a soft 404).
What fixes it: If the page is gone, take it out of the sitemap and fix the links to it. If it's meant to exist, a soft 404 usually means little content, or an error message served with a 200 status.
Google got an error loading these pages
Search Console says: “Server error (5xx)”, “Blocked due to access forbidden (403)”, “Blocked due to unauthorized request (401)”, “Blocked due to other 4xx issue”
Googlebot tried to fetch the page and your server answered with an error or refused it.
What fixes it: Check your server logs for Googlebot's visits, then any firewall or bot protection. Cloudflare rules, login walls and 403s for unknown user agents all keep Googlebot out.
A real scan: mastersofseo.com
mastersofseo.com is James Burfield’s SEO research site. Its sitemap is valid and Google last downloaded it on 23 September 2026. IndexedMe scanned it on 25 September 2026:
- Pages in the sitemap
- 87
- Indexed
- 4
- No crawl date
- 83
- Any other reason
- 0
None of the 83 unindexed pages had a crawl date in Google’s records. The server log showed Googlebot had fetched 16 of them, and Google’s records show no crawl for any of them. Our reading is a site-wide authority problem (Ahrefs, a third-party estimate, put its Domain Rating at 0.8 that week), so the long-term fix is links from other sites and internal links to the deeper pages.
16 days later, on 11 October 2026, IndexedMe checked again. 13 of 88 pages were indexed: the 4 from before, plus all 9 pages put through Search Console’s Request indexing on 27 September, each crawled the day it was requested. None of the other 75 had a crawl date in Google’s records. The full story is in the guide to Discovered, currently not indexed.
“Discovered, currently not indexed” and “URL is unknown to Google” are the same answer
Search Console can report the same page as “URL is unknown to Google” one minute and “Discovered, currently not indexed” the next. On mastersofseo.com we scanned all 87 pages three times on 25 September 2026. On a single pass, about 2 in 3 first answers for the unindexed pages said “unknown”. Across the three scans, 79 of the 83 unindexed pages said “unknown” at least once and only 23 said it every time, roughly what chance alone produces. Every time a second answer differed, it was “Discovered”.
So a page moving between the two hasn’t changed. Google has no crawl date for the URL, and IndexedMe counts both labels as one. The exception is a site whose sitemap Google hasn’t downloaded yet, where “unknown” can be literally true. IndexedMe checks when Google last downloaded your sitemap and warns you if it never has. More in the guide to URL is unknown to Google.
Measured by James Burfield with IndexedMe on mastersofseo.com, 25 September 2026.
How a scan works
- You connect Search Console. IndexedMe asks Google for read-only access and nothing else.
- It reads the sitemaps you’ve submitted in Search Console and lists every page in them.
- It asks Google’s URL Inspection API about each page. Google takes about 6 seconds a page and allows 2,000 checks a day for each property, so 100 pages take a couple of minutes and a 10,000-page site takes at least 5 days.
- It sorts the pages Google left out by reason, shows the fix for each and links every page to its own inspection in Search Console.
What’s read, what’s stored and how to delete it is in the privacy policy.
Who built it
IndexedMe is built by James Burfield, an SEO consultant who has worked in search since 1999 and runs SEOBurf, an independent consultancy in Somerset. He built it to answer the indexing question for his own sites first, which is where the numbers on this page come from. LinkedIn.
Questions
Can IndexedMe get my pages indexed?
No. Only Google decides what goes in its index, and it offers no API for the Request indexing button. IndexedMe reads Google's verdict on each page, explains it and says what fixes it. For pages worth requesting, it links straight to the page in Search Console so you can press the button yourself.
Is it safe to connect my Search Console?
IndexedMe asks Google for read-only access to Search Console and nothing else, not even your email address. It can't change settings, submit sitemaps or see any other Google data. Disconnecting in the app deletes your scans, and you can also remove access at any time from your Google account's security page.
What does Discovered, currently not indexed mean?
Google says it knows the URL exists, usually from your sitemap or a link, and hasn't crawled it yet. Google says it usually put the crawl off to avoid overloading the site; on small sites, low authority is the likelier cause. Request indexing worked on our test site: all 9 pages requested on 27 September 2026 were crawled that day.
What does Crawled, currently not indexed mean?
Google fetched and read the page, then decided not to keep it. That's a judgement on the page itself: too thin, too close to another page, or less useful than what already ranks. Improve the page first, then request indexing once. Requesting it unchanged asks Google to repeat a decision it has already made.
How many pages can IndexedMe check?
Google allows 2,000 URL inspections a day for each Search Console property, shared with any other tool connected to the same property. IndexedMe checks up to that limit, then carries on after the allowance resets at midnight Pacific time, which is 8am in the UK for most of the year.
Why does IndexedMe count fewer pages than Search Console?
Search Console counts every entry in your sitemaps, so a page listed twice counts twice. IndexedMe checks each URL once. On mastersofseo.com, Search Console showed 88 submitted and the sitemaps held 87 different URLs, because the homepage appeared in two of them.
Find out what Google says about every page on your site.
Check my site