Blog BasicSEO →
SEO Basics

Why Your Page Isn't on Google: Indexing Problems and Fixes

Five things keep a page out of Google, and Search Console tells you which one you have in about two minutes. Here is what each reason means and how to fix it.

BasicSEO · · 4 min read

Illustration of a small robot on a path stopped at a locked violet gate, with an open door on a browser-shaped building behind it.

If your page isn't on Google, the cause is usually one of five things: it's telling search engines to stay out, it's blocked from being crawled, it points to a different page as the real one, Google hasn't found it, or Google found it and decided not to index it. Google Search Console tells you which, for free, in about two minutes.

Don't change anything until you know which one you have. The fixes are different, and a couple of them make things worse if you apply them to the wrong problem.

First, confirm the page is really missing

Searching for your business name and not seeing the page doesn't prove much. Instead, search Google for site:yoursite.com/your-page. If the page comes up, it's indexed, and your problem is ranking rather than indexing. That's a different job.

If nothing comes up, open Google Search Console, paste the full URL into the inspection bar at the top, and read the result. It tells you whether the URL is on Google, and if not, it gives a reason. The Page indexing report in the same tool lists those reasons across your whole site. The sections below follow its wording.

Excluded by 'noindex' tag

The page has an instruction telling search engines not to list it. It's either a meta tag in the <head>, like <meta name="robots" content="noindex">, or an X-Robots-Tag header sent by the server.

This is the most common accident on new sites. A staging site is set to noindex so that it stays private, and the setting survives the launch. In WordPress, check Settings, then Reading, for "Discourage search engines from indexing this site". On Wix, each page's SEO settings have a toggle that lets search engines index the page. SEO plugins also have per-page controls.

Remove the instruction, then ask for indexing again from the inspection tool. BasicSEO will flag a noindex on any public page in under 30 seconds, which helps when you want to test several templates at once.

Blocked by robots.txt

Your robots.txt file, at yoursite.com/robots.txt, asks crawlers to stay away from certain paths. A line like Disallow: / blocks the whole site, and it often gets left over from development.

There's a trap here. Blocking crawling isn't the same as preventing indexing. A blocked page can still appear in results if other sites link to it, usually with no description. And Google can't see a noindex on a page it isn't allowed to fetch. So if you want a page out of Google, let it be crawled and use noindex. If you want it in, remove the block.

BasicSEO's indexability check looks at both the noindex tag and your robots.txt rules, so you can see them together.

Alternate page with proper canonical tag

The page says another URL is the main version, and Google is respecting that. If this is a filtered or sorted version of a real page, it's working correctly and there's nothing to fix.

It's a problem only when the canonical tag points somewhere it shouldn't. A common mistake is a template that sets every page's canonical to the homepage. View the page source and search for rel="canonical". On a page you want indexed, the tag should point at that page's own URL. This often appears alongside duplicate title tags, since both come from one page living at several addresses.

If the report says "Duplicate without user-selected canonical", Google decided on its own that your page repeats another one. Add a canonical tag to say which you prefer, or make the two pages properly different.

Discovered, currently not indexed

Google knows the URL exists but hasn't fetched it yet. On a new or small site this is often just a matter of time. Help it along by making the page easy to find:

  • Link to it from pages that are already indexed, using words that describe it. A page nothing links to is hard for crawlers to reach and hard for Google to rate as important.
  • List it in your sitemap, then submit the sitemap under Sitemaps in Search Console.
  • Request indexing from the inspection tool for your most important pages. There's a limit on these requests, so don't spend them on every URL.

Crawled, currently not indexed

This is the frustrating one. Google fetched the page and chose not to include it. There's no setting to change, because it's a judgment about the page.

Read the page as a stranger would. Is it thin? Does it repeat something else on your site, or something a thousand other sites already say? Does it have a clear purpose, stated in the title and description? Improve the page or merge it into a stronger one, then request indexing again. Asking again without changing anything rarely helps.

Some pages don't deserve to be indexed, and that's fine. Google doesn't promise to index everything, and tag archives or near-empty pages may be better off left out.

A quick order to work through

  1. Run the site: search, then inspect the URL.
  2. Fix any noindex or robots.txt block. These are quick to fix, and nothing else matters until they're gone.
  3. Check that the canonical tag points to the page itself.
  4. Add internal links and include the page in your sitemap.
  5. Improve the content if Google crawled the page and passed on it.

If this comes up during your first SEO audit, deal with it before anything else on your list, because a page that can't be indexed gets nothing from a better title.

How long does it take?

There's no fixed timeline. After you remove a block and request indexing, an important page can show up within days, while others take a few weeks. Look at the inspection tool rather than repeating searches, since it reports what Google has recorded for that URL. Once it says the page is on Google, the job shifts from getting found to being worth clicking, and that's where titles and descriptions come back in.

SEO basicsindexingrobots.txt

Share this

Fix this next