Why isn’t my page showing up on Google?
If one page is missing from Google, start with the causes you can confirm on the page itself in a minute: a noindex instruction, a robots.txt rule, a canonical tag pointing somewhere else, an error status or redirect, or content that only appears after JavaScript runs. If none of those apply, the reason is usually on Google's side (the page hasn't been crawled yet, or Google chose not to index it), and no outside tool can see that.
First, confirm the page is really missing
The reliable answer is in Google Search Console: paste the URL into URL Inspection and it tells you whether the URL is on Google, and if not, why. Without Search Console, searching site:example.com/your-page gives a rough idea, but Google says the site: operator doesn't list everything, so treat an empty result as a hint, not proof.
Six things on the page that can keep it out of Google
These are mechanical: each one either is or isn't present, and each can be checked from outside.
- A noindex instruction. A
<meta name="robots" content="noindex">tag, or anX-Robots-Tag: noindexHTTP header, tells search engines not to list the page. The header version is invisible in the page source. See Excluded by ‘noindex’ tag. - A robots.txt rule. A
Disallowline that matches the URL stops Googlebot from fetching it at all. See Blocked by robots.txt. - A canonical tag pointing elsewhere. If the page says another URL is the main version, Google will usually index that one instead. Common after copying a page or moving from staging. See Alternate page with proper canonical tag.
- An error status or a redirect. A page that answers 404, 410 or a 5xx error isn't indexed, and a page that redirects is replaced by its destination.
- Nothing leads to it. A page that no other page links to and that isn't in your sitemap can take a long time to be found. The Sitemap Checker tells you whether this page is listed.
- The important parts only appear after JavaScript. Google can render JavaScript, but a page whose title, description, canonical or text are added by script is harder to process reliably. Our checkers read the raw HTML without running JavaScript, so if they report a missing title or canonical that you can see in your browser's inspector, your site is adding it with script.
Check the page-level causes in one pass
The Website Pre-Publish Checker fetches the page and reports the HTTP status and redirects, noindex in both the meta tag and the HTTP header, the canonical and whether the canonical URL itself loads, and whether robots.txt lets Googlebot crawl the URL. It also checks the title, description and everything else a pre-publish check covers.
Sitemap listing is a separate, site-level check: run the Sitemap Checker for that.
If the page passes all six
Then nothing on the page is telling Google to stay away, and the remaining causes are ones only Google can see. Search Console will usually name them:
- Discovered, currently not indexed. Google knows the URL but hasn't crawled it yet. Common for new pages and new sites.
- Crawled, currently not indexed. Google fetched the page and decided not to index it for now. Google doesn't give a specific reason; duplication with other pages and thin content are common explanations, but nobody outside Google can confirm which applies.
- A manual action or a site-wide problem. These appear in Search Console under Security & Manual Actions.
What you can do in that situation: make sure the page is in your sitemap, link to it from pages that are already indexed, and use Request indexing in URL Inspection. None of these guarantees indexing or says when it will happen.
Settings that commonly cause it
In WordPress, Settings → Reading → Discourage search engines from indexing this site adds a noindex, nofollow robots meta tag to every page (since WordPress 5.3). It is often switched on during development and forgotten at launch. Most site builders and SEO plugins also have a per-page "hide from search engines" setting that does the same for one page; if the checker finds a noindex you didn't write by hand, look there first.