My website is not showing up on Google: 7 causes and how to check each one
By Carlos Alberto Cardona B.· 10 min read
If your website isn't showing up on Google, it's almost always one of seven causes, and Search Console checks the first three for free. Maybe Google doesn't know the page, hasn't crawled it, or crawled it without keeping it. The other four: robots.txt blocks it, it carries noindex, Google receives an empty page, or the canonical points elsewhere.
The essentials
- What it is
- The seven reasons a page doesn't appear in Google, in the order I check them on a site I've never seen before.
- Why it matters to you
- “Not showing up” can mean Google doesn't know the page, knows it and didn't keep it, or kept it and shows it far down. Each one is fixed in a different place.
- What to do today
- Run the page through URL Inspection in Search Console and write down the reason it gives. Then give your AI assistant the first prompt in this article.
“I'm not showing up on Google” is the message I get most, usually after weeks of waiting. It happened to me too: the first site I worked on looked complete, and Google received 24 to 35 words per page. I measured it with Screaming Frog, without JavaScript, on July 18, 2026; the before and after are in the React app case study.
A page can be missing because Google doesn't have it, or because Google has it and doesn't show it for that search. Google's own description of how Search works separates crawling (visiting the page), indexing (storing it) and serving into three stages. The fix is different at each one.
A masterpiece is no use if it stays hidden. These are the seven reasons a page stays hidden, in the order I check them, which is the order that saves you an afternoon.
First: is it not ranking, or is it not indexed?
These aren't the same question, and the answers live in different places. Not ranking means Google has the page but doesn't show it for your search; not indexed means Google doesn't have it at all. The quick check is the site: operator, which Google warns doesn't necessarily return every indexed URL.
Search for site:your-site.com/the-page. If the page comes back, it's indexed and your problem is ranking. If nothing comes back, it probably isn't indexed, and nothing you write on that page will help until that changes.
The one-minute check for whether your page is indexed is in Checks, with a prompt for your assistant.
These are the seven causes, in the order I check them, and where you check each one:
| Cause | Where you check it |
|---|---|
| 1. Google doesn't know the page exists | URL Inspection and your sitemap |
| 2. Discovered, but not crawled yet | Page Indexing report |
| 3. Crawled, and Google chose not to index it | Page Indexing report |
| 4. It's blocked in robots.txt | your-site.com/robots.txt and URL Inspection |
| 5. It carries a noindex tag | View page source (search for “noindex”) and URL Inspection |
| 6. Google receives an empty page | View page source, or the tested page in URL Inspection |
| 7. The canonical points somewhere else | URL Inspection: your declared canonical vs the one Google picked |
Where do I start? The first prompt for your AI assistant
“Not showing up” can mean three different things: Google doesn't know the page, knows it and didn't keep it, or kept it and shows it far down. Each one is fixed in a different place, so the first step is knowing which of the three is yours.
Before you write to your assistant, collect three facts from your browser:
Search Google for
site:your-domain.com. It's a hint, not an exact count.Search, in quotes, for a sentence of 8 to 10 words that only appears on that page.
In Search Console, inspect the address with the URL Inspection tool and write down the reason shown in the result's “Page indexing” section.
My page doesn't show up on Google. This is what I observed:- Address: [ ]- site:my-domain.com: [several pages / only the home page / nothing]- Exact sentence in quotes: [my page came up / another one did / nothing]- URL Inspection: [message]- Reason in “Page indexing”: [reason, “I didn't find it” or “I don't have access”]Guide for deciding:- “URL marked ‘noindex’”: check whether a noindex tag got left behind.- “Crawled - currently not indexed”: check what Google receives in the first response; then the title, the headings and the internal links.- “Discovered - currently not indexed”: check the internal links, and the sitemap against what Google kept.- “Duplicate, Google chose different canonical than user”: check the title, the description and the canonical.- A made-up address shows the home page: check whether the site returns a real 404.Tell me what to check first and what next, and why, using only what I told you. If you need more information to decide, tell me what's missing.Rules: quote the exact text you found. If something can't be seen from the browser, write “not verifiable from the browser”. Give me an ordered list: what to check · why it goes in that place · which of my facts supports it. If none of my facts supports it, say which one is missing instead of guessing. Don't make up traffic data or promise rankings.
Each line under “Guide for deciding” leads to a check with its own prompt:
1. Google doesn't know the page exists
A URL that nothing links to and that's in no sitemap is, for practical purposes, invisible. Google finds pages by following links and by reading sitemaps; if neither path reaches your page, it was never a candidate.
Fix: link to it from a page that's already indexed, and make sure it's in your sitemap. Then use URL Inspection to request indexing, remembering that requesting isn't the same as getting.
What almost all of us do first is request indexing again and again. I request it with AI for this site's new pages too. On October 16, 2026, the daily quota in Search Console ran out on the third request.
2. Discovered, but not crawled yet
In the Page Indexing report this shows up as “Discovered - currently not indexed”. Google knows the URL and hasn't fetched it yet. Its own explanation is that, typically, crawling it then was expected to overload the site, so it rescheduled.
On a small or new site it usually resolves itself. If it stays there for months, I check how long the server takes to respond. I also check whether the site generates many low-value URLs competing for the crawler's attention.
3. Crawled, and Google chose not to index it
“Crawled - currently not indexed” is the hardest one, because nothing is broken. Google fetched the page, read it and decided it wasn't worth keeping.
In my experience this means one of three things. The page repeats another page of yours, repeats what a hundred other sites say, or is a template with almost no content of its own. None of those is fixed by a technical change.
Discovered or crawled, currently not indexed: what's the difference, and what do you do?
Both statuses end in “currently not indexed”, which is why they get mixed up, but they happen at different moments. With “Discovered - currently not indexed”, Google hasn't visited the page yet; with “Crawled - currently not indexed”, it already visited and chose not to keep it. If your Search Console is in Spanish, they read “Descubierta: actualmente sin indexar” and “Rastreada: actualmente sin indexar”.
| Item | Discovered - currently not indexed | Crawled - currently not indexed |
|---|---|---|
| Did Google visit the page? | No: it knows the URL and rescheduled the visit | Yes: it visited and didn't keep it |
| What Google says | That typically, crawling it then was expected to overload the site | That it may or may not be indexed in the future, with no need to resubmit it for crawling |
| What I check first | That pages already indexed link to it from the text, how long the server takes to respond, and whether the site generates useless URLs | What Google received: whether the text arrives in the HTML, and whether the page says something your other pages don't already say |
| What doesn't fix it | Requesting indexing again and again | Resubmitting the same page without changing it |
And resubmitting the sitemap? A sitemap helps Google learn about URLs, and in both statuses Google already knows yours.
Google also writes that submitting a sitemap is merely a hint: it doesn't guarantee Google will download it or use it for crawling. What changes the status is what Google finds when it arrives, not the list.
On sites built with React or an AI builder, “Crawled - currently not indexed” deserves a look before anything else. If Google received a near-empty page, it had nothing to keep. How to check that on Lovable or Base44 is in the single page application SEO guide.
4. It's blocked in robots.txt
Open your-site.com/robots.txt in a browser and read it. Google's robots.txt documentation is clear that the file controls crawling, not indexing. A blocked page can still appear in results if other sites link to it, but with no description, because Google can't read it.
And if you blocked a whole section by mistake, Google knows those URLs exist and can't understand what they say. That's the worst of both states.
If you've gotten this far without finding the cause, your page is still hidden. Every week like that is a week in which someone searching for what you sell finds someone else.
For the three causes left, Search Console may give you the reason, but the source is in the code Google receives. Checking that code, from what's public and without asking you for access, is the first thing I do in the free diagnostic.
5. It carries a noindex tag
A meta robots noindex tag, or an X-Robots-Tag HTTP header with the same value, tells Google not to index the page. It's the clearest way to keep something out of Search, and the easiest one to leave behind by accident.
Without a terminal: open the published page, not the editor, view its source and search for “noindex”. The HTTP header version doesn't show up there; the terminal check below covers it.
For whoever runs your site: the terminal version
curl -sI https://your-site.com/the-page | grep -i x-robots-tagcurl -s https://your-site.com/the-page | grep -i "robots"→ nothing back from both means no noindex, header or tag
In my experience it's the most common cause on sites recently migrated or taken out of a staging environment. The tag protected the draft and nobody removed it.
On WordPress: the checkbox that hides your site
In WordPress the option lives in Settings > Reading > Search engine visibility. If “Discourage search engines from indexing this site” is checked, WordPress adds a noindex to every page. Uncheck it, save, and confirm in the published page's source that the tag is gone.
From the browser · 1 min
Whether a tag telling Google not to index it got left behind
Why it matters: A forgotten noindex tag keeps your page out of Google even if it looks perfect to you. It's an instruction written inside the page asking Google not to keep it.
Whether an instruction written in the page asks Google not to keep it. It tends to happen on sites just migrated or just taken out of a staging environment: the tag protected the draft and nobody removed it. It's one of the seven reasons a website doesn't show up on Google.
- 1.
Open the page that isn't appearing in Google.
- 2.
Right-click → “View page source”.
- 3.
Ctrl+F and search for
noindex. - 4.
If you use Search Console, open the Page indexing report and see whether that page is listed under “URL marked ‘noindex’”.
What comes out tells you which of these cases you're in.
Nothing comes up.
Not this one, then. What's left is ruling out the X-Robots-Tag header (the same instruction, sent by the server outside the code), which the page source doesn't show.
It appears inside
<meta name="robots".There it is. That page is asking Google not to keep it, and Google complies. Removing it is a one-line change.
It appears, but in the page text, inside a comment or inside a script.
It probably doesn't count. Check whether it's inside a real meta tag or only mentioned in the code.
Ask your AI assistant: the prompt to copy
Open it in your browser's side panel (Claude, Gemini or ChatGPT), with your page open, and replace what's in brackets. The rules at the end make it quote what it saw and say “not verifiable” instead of making things up.
Open these pages: [three addresses from your site, one per line].Does any of them have a “robots” tag with the value “noindex”? If you find it, quote the whole tag.This is what I found in “View page source”: [what you found, or write “it didn't appear”].Rules for this review:1. Quote the exact text you found. Don't paraphrase it.2. If something can't be seen from the browser, write “not verifiable from the browser.” Don't assume.3. Give me a table: element · what you found · fine / review / missing · why it matters in one sentence.4. Don't make up traffic, visits or rankings. Don't promise anything will rank higher on Google.5. If you can't open an address yourself, say so in the first line and work only with what I pasted. Don't describe a page you didn't see.
What this check does NOT prove: The same value can travel in the X-Robots-Tag HTTP header, which the browser doesn't show in “view source”. Seeing it takes the Network tab of the developer tools or a terminal. In Search Console, “Test live URL” → “View tested page” shows the HTTP headers.
When it's no longer a do-it-yourself job: Search Console lists the page under “URL marked ‘noindex’” and you can't find the tag in the code. The source is somewhere your platform doesn't let you look. I'll review your site for free and send it to you in writing.
6. Google receives an empty page
If your site is built with React, Vue or an AI builder, the crawler's first HTML may be just a title and an empty container. Google renders JavaScript in a second pass, once its resources allow. Its guide still calls server-side or pre-rendering a great idea, because not all bots can run JavaScript.
Another symptom of these apps: a URL that doesn't exist answers 200 with the home page. Google treats it as a soft 404 or as a duplicate. The fix is real HTML per route, which is the case study I documented.
No site yet, or about to rebuild yours? A website built for Google to read avoids this problem from day one. And if you haven't built it yet, start with how to build a website with AI.
7. The canonical points somewhere else
A canonical tag tells Google which version of a page you consider the real one. Google treats it as a strong signal, not an order: if other signals contradict it, it may pick a different one.
Templates and SEO panels are the usual culprits. A canonical copied across a template points every page at the home page, and Google may treat the rest as duplicates and leave them out.
I've seen it on a site I audit. On August 19, 2026, in the served HTML, 18 of its 19 pages declared the home page as canonical.
If Google went along with it, Search Console shows “Alternate page with proper canonical tag”. If it didn't, it shows “Duplicate, Google chose different canonical than user”.
A wrong canonical is worse than none. Without one, Google picks on its own; with a wrong one, you're asking it to drop your own page.
Where to see it: in URL Inspection, compare “User-declared canonical” with “Google-selected canonical.” If they don't match, that's your lead.
Why is my website not showing up on Google if it's indexed?
Then it isn't an indexing problem and none of the seven fixes above will move it. The page is competing and losing, which is a different job. Indexing isn't ranking: another page answers that search better or has more authority, and the fix is content and competition, not code.
Check two things before anything else. First, whether your page answers the same intent as the ones currently ranking. Second, whether two of your own pages compete for the same query.
On that second point, Neil Patel puts it plainly: “Because Google doesn't know which one to prioritize, they both lose ground.” How to avoid it from the start, with a keyword map, is in how to build a website with AI.
And if what's missing is your business on Google Maps, that doesn't depend on your website: it depends on your Google Business Profile.
Search Console shows what happens before the click. What happens after it, whether those visits turn into a contact, is measured in Google Analytics 4. My guide to Google Analytics 4 setup covers what to configure first.
If you don't know what to write, don't start with a keyword tool. Start with the questions your clients already send you by email or WhatsApp. They're the words people use to find you, and they usually fit on a page you already have.
Marcus Sheridan did this to save his pool company in the 2008 crisis: he answered his customers' questions on his website. He told the story at Content Marketing World in 2012, as PR News reported. His rule, “they ask, you answer,” fits in four words.
A real example is in my portfolio.
These are real questions my clients asked me, copied as they are, with no names or personal data: [paste between 5 and 15].These are the searches Search Console says I show up for (Performance → Queries): [paste the list, or write “I don't have access”].These are the pages on my site: [address and headline of each].Group the questions that ask for the same thing. For each group, tell me which of my pages already answers it, which could answer it with a new section, and which has no page at all.Rules: use my clients' words, not technical synonyms. Don't make up search volumes or promise rankings. If a question doesn't fit any group, set it aside instead of forcing it. If all you have for a page is its headline, write “judging by the headline, it seems to answer it” instead of “it answers it”. If you try to open one of my pages and can't, say so in the first line and work only with what I pasted.
How to get your website on Google: verify what it receives first
Before you change anything, check what Google receives from the published page, not from the editor: if Google can't read it, no other fix helps. The one that matters most on a JavaScript site is what the server hands the crawler before anything runs.
From the browser, the live test in URL Inspection shows you what Google can read of the published page. Your robots.txt and your sitemap open directly in the browser too.
If your site was showing up and suddenly stopped, open the “Manual actions” and “Security issues” reports in Search Console before all of this. Google says a manual action can mean pages ranked lower or omitted from search results without any visual indication. And the URL Inspection live test doesn't detect it.
If there is one, the fix isn't technical: you correct what the report points to and request a review.
Vanishing overnight happened even to an SEO publication. On November 30, 2018, Search Engine Land was out of Google for more than 12 hours: a system mistakenly flagged it as hacked. Google called it “a mistake in our systems — a false positive,” as Barry Schwartz reported on December 6.
For whoever runs your site: the terminal version
These commands ask for your page the way Googlebot does and show you what comes back:
curl -s -A "Googlebot" https://your-site.com/ | wc -wcurl -s -o /dev/null -w "%{http_code}" https://your-site.com/does-not-existcurl -sI https://your-site.com/sitemap.xml→ word count, a real 404, and a sitemap that answers 200
In Windows PowerShell 5.1, curl is an alias for Invoke-WebRequest and grep doesn't exist. Use the Git Bash versions.
If your page is indexed but loads slowly, start by measuring Core Web Vitals properly.
Does an llms.txt file help on Google? The short answer is no, and I explain why in what is llms.txt, and why Google doesn't use it. If you also want to show up in AI answers, continue with my guide on how to rank in AI Overviews.
Watch it explained, by the people who built it
Three short videos from Google's own channels. They're the same source the links above point to, in video form:
Help! Google Search isn't indexing my pages · Google Search Central, 5 minutes. Covers “discovered” and “crawled, currently not indexed”, which are causes 2 and 3 above.
How to read the Indexing Report · Google Search Central, 32 minutes, July 2026. Martin Splitt and John Mueller on when an unindexed page is a problem and when it isn't.
Frequently asked questions
Use URL Inspection in Search Console, which reads Google's own index for that exact URL and lets you test the live version. A site: search is a quick hint, but Google warns that it doesn't necessarily return every indexed URL.
The usual reasons are a robots.txt rule that blocks it or a site so new that Google hasn't discovered it yet. The third is a JavaScript site that hands the crawler an empty page. Each one is a section above, with the way to check it.
First make sure Google can crawl and index it: no robots.txt block, no noindex, and the content in the HTML it receives. Then it has to answer the search better than the pages already there; Google doesn't guarantee it will show any page.
Google says crawling can take anywhere from a few days to a few weeks, and that requesting it doesn't guarantee the page gets included. Meanwhile, track it in the Page Indexing report or with URL Inspection.
With “Discovered”, Google knows the URL but hasn't visited it yet; with “Crawled”, it visited and chose not to keep it. For the first, check internal links and the server; for the second, check what Google received and what the page adds. Resubmitting the sitemap fixes neither.
Sources
Article reviewed on October 18, 2026. Each date is the source's last published update.
See the 17 sources
- 01Help! Google Search isn't indexing my pages · Google Search Central · video
- 02How to read the Indexing Report · Google Search Central · video
- 03How Google Search works · Google Search Central
- 04The site: search operator · Google Search Central
- 05URL Inspection tool · Search Console Help
- 06Page Indexing report · Search Console Help
- 07Build and submit a sitemap · Google Search Central
- 08Introduction to robots.txt · Google Search Central
- 09Block indexing with noindex · Google Search Central
- 10JavaScript SEO basics · Google Search Central
- 11Consolidate duplicate URLs · Google Search Central
- 12Manual Actions report · Search Console Help
- 13Ask Google to recrawl your URLs · Google Search Central
- 14Settings Reading Screen (Search engine visibility) · WordPress.org Documentation
- 15Keyword Cannibalization: What It Is and How to Avoid It · Neil PatelMay 5, 2026
- 16To save his business, Marcus Sheridan became a pool reporter · PR News (Bill Miltenberg)September 6, 2012
- 17What we learned when Google deindexed our site for a day · Search Engine Land (Barry Schwartz)December 6, 2018
About the author. Carlos Alberto Cardona B., SEO specialist in Bogotá. I write what I measure, with every number next to its instrument and date, and I verify what AI executes myself.

