Search site:yourdomain.com and count what comes back. If the number is much smaller than the number of pages you have published, the problem is not that your pages rank badly. They are not in the running at all.
That is a better problem to have than it sounds, because indexing failures are usually technical, specific, and fixable in an afternoon. What they need is a diagnosis rather than a guess, and Search Console will give you one if you read the right report.
Crawled is not the same as indexed
Three separate things have to happen before a page can appear in search, and they fail for different reasons.
- Discovery. Google has to learn the URL exists, from your sitemap or from a link. A page linked from nowhere and absent from the sitemap is invisible.
- Crawling. Google requests the URL and gets the page. This is where robots.txt, server errors and slow responses stop things.
- Indexing. Google decides whether to store the page and show it. This is a judgement, not a guarantee, and it is where most WordPress sites actually lose pages.
The third step is the one people are surprised by. Google is under no obligation to index a page it has successfully fetched. If it judges the page to be thin, duplicated elsewhere, or not worth the storage, it will read it and move on.
Read the Page indexing report properly
In Search Console, open Indexing → Pages and look at the “Why pages aren’t indexed” table. Each row names a specific cause. They are not equally serious and they do not have the same fix, so the row is the diagnosis.
The ones that come up on WordPress sites, and what each actually means:
- Excluded by ‘noindex’ tag. The page is telling Google not to index it. Deliberate on a thank-you page, a disaster on a service page. Find the setting, do not add a plugin.
- Blocked by robots.txt. Google was refused the page. Note that this blocks crawling, not indexing — a blocked URL with links pointing at it can still be listed, with no description under it, which looks worse than being absent.
- Alternate page with proper canonical tag. Usually correct and not a problem. It means the page declares another URL as the real version. It becomes a problem when the canonical is wrong.
- Duplicate, Google chose different canonical than user. You said this URL was the original and Google disagreed. Almost always two pages that are too similar to justify both.
- Crawled — currently not indexed. Google fetched the page, read it, and decided against it. There is no setting to change. This is a quality and duplication verdict.
- Discovered — currently not indexed. Google knows the URL exists and has not bothered to fetch it yet. On a large site this points at crawl budget; on a small one it usually points at a slow server.
- Soft 404. The page returns a success status while looking empty — an archive with no posts, a search results page with no results, a category page containing nothing.
Two of those rows are worth more attention than the rest, because they are the two people most often misread.
“Crawled — currently not indexed”
This is the most common one on WordPress sites and the most frustrating, because nothing is broken. Google fetched the page successfully and chose not to keep it.
Requesting indexing again does not help. The page will be crawled again, judged the same way, and excluded again. The three things that do change the verdict:
- Stop competing with yourself. If four pages cover the same subject, Google keeps the best one. Merge them into one page and 301 the rest to it. Excluded pages usually come in clusters for exactly this reason.
- Link to it from somewhere that matters. A page reachable only from the sitemap is a page nothing on the site vouches for. Link it from a relevant article or from a page that already ranks, with words that describe it.
- Give it something the other pages do not have. A page assembled from the same information as five competitors’ pages has nothing to store. This is the uncomfortable one, and it is often the true answer.
“Discovered — currently not indexed”
Google has the URL in a queue and has not come to fetch it. On a site with fifty pages this should not happen, and when it does the cause is nearly always that the server is slow or unreliable enough that Google has throttled its own crawling.
Check the Crawl stats report in Search Console settings. If average response time is high, or the chart shows a wall of 5xx responses, the fix is a hosting and performance job rather than a content one — Google backs off a server it is hurting. On a store with thousands of URLs the same row means something different: the crawl is being spent on URLs that should never have existed.
Where the URLs come from that nobody wanted
WordPress and WooCommerce generate URLs continuously without being asked. On a large site these consume most of the crawling and push real pages into the queue behind them.
The usual sources: every tag archive, every author archive, every month of the date archive, image attachment pages on older installs, internal search result pages, and — the big one on stores — faceted filter URLs. A shop page with five filters and three sort orders produces thousands of distinct addresses, each of them a slightly reordered version of the same products.
Handle them deliberately: noindex the archive types you do not use, block internal search results in robots.txt, and set canonical tags on filtered URLs back to the unfiltered category. Then confirm the XML sitemap contains only URLs you actually want indexed. A sitemap listing four hundred pages when you have sixty is telling Google the wrong thing about the whole site.
The WordPress-specific causes, in checking order
- Settings → Reading. The “Discourage search engines” checkbox. Left on after launch, it is the single most common reason an entire site is missing.
- Your SEO plugin’s post-type rules. Check what is set to
noindex, one post type at a time. A rule applied to the wrong row removes a whole section of the site silently. - robots.txt. Fetch
/robots.txtand read every line. Security and caching plugins add rules here, and aDisallow: /left over from a staging setup blocks everything. - The canonical on the page itself. View source and check that the canonical URL is the page’s own address. Imported templates sometimes carry one from the site they were copied from.
- The sitemap. Open it. Confirm it lists the missing pages, returns 200, and is submitted in Search Console. A sitemap that 404s after a plugin change stops new pages being discovered entirely.
- Content that only exists after JavaScript runs. Google renders JavaScript, but later and less reliably than it reads HTML. If View Source shows an empty container where your text should be, that is a real risk on pages that were otherwise fine.
- Whether the site is infected. Compromised sites frequently inject cloaked pages and
noindexrules, or serve different content to Googlebot than to you. If pages vanished suddenly rather than never appearing, read how to tell if your WordPress site is hacked before anything else on this list.
For any single page, the URL Inspection tool at the top of Search Console settles it faster than all of this. It reports the crawl status, the canonical Google chose, the indexing verdict and the rendered HTML, for that exact URL. Use it before theorising.
What this cannot fix
- Indexing cannot be forced. There is no setting, plugin or submission that obliges Google to keep a page. Anyone selling guaranteed indexing is selling you something they do not control.
- Being indexed is not being ranked. Getting a page into the index puts it in the race. Where it finishes is a different question, covered in why your WordPress site isn’t ranking.
- We do not write the content. When the verdict is “crawled — currently not indexed” and the technical side is clean, the honest answer is that the page needs to be worth indexing. We will tell you that rather than bill for a fix that is not ours to make.
- Pages excluded for months do not return overnight. Once the cause is removed, re-crawling and re-evaluation take weeks. Fix it and leave it alone rather than changing something else every few days.
Questions we get asked
How long does Google take to index a new WordPress page?
Anything from a few hours to several weeks. An established site that publishes regularly and responds quickly tends to get new pages indexed within days. A new domain with few links can wait a month or more. If a page is still absent after four weeks, stop waiting and check the Page indexing report — there is usually a specific reason listed there.
What does “Crawled — currently not indexed” actually mean?
Google fetched the page, evaluated it and decided not to store it. Nothing is technically broken, which is why re-submitting it changes nothing. It nearly always means the page duplicates something else — on your site or on the wider web — or that nothing on your own site links to it in a way that suggests it matters. Merge duplicates, link to it properly, and give it something that is genuinely only on that page.
Does submitting a sitemap force indexing?
No. A sitemap helps with discovery — it tells Google which URLs exist and when they changed. It carries no weight in the decision to index. It is still worth getting right, because a sitemap full of tag archives and attachment pages describes a site with hundreds of near-empty URLs, which is not the impression you want to give.
Should I use the “Request indexing” button?
Once per page, after fixing a real cause, yes. Repeatedly, on the same unchanged page, no — it does nothing except make you feel busy. The button asks for a re-crawl; it does not appeal the indexing decision. If the page is unchanged, the second verdict will match the first.
Why did my pages disappear from Google after a redesign?
Three usual causes: the staging site’s “discourage search engines” setting went live with the design, URLs changed without 301 redirects, or the new templates carry canonical tags pointing at the wrong addresses. All three are quick to confirm — view source on a missing page, fetch robots.txt, and check Settings → Reading. All three are also quick to fix; the recovery afterwards is what takes weeks.
Can you find out why my pages aren’t indexed?
Yes, and that is what the free written audit is for. Send the URL through the contact form. Within two business days you get a written reply naming the specific cause, what we would change, what to ignore, and one fixed price if there is work worth doing. If the site is technically clean and the real issue is duplication or thin content, the audit says that instead — it is the more useful answer and it costs you nothing.

