Why Isn't My New Website Showing Up on Google? Find the Cause in 7 Steps
If your new website isn't on Google, search site:yourdomain.com first. No results means Google hasn't indexed you yet, so inspect your homepage in Google Search Console and read the exact status it reports. On a new site the usual culprits are a crawl that hasn't happened yet or a leftover noindex tag or robots.txt rule. Fix the cause, request indexing once, and expect days to a few weeks before pages appear.
- Search site:yourdomain.com first. No results is an indexing problem. Results without traffic is a ranking problem.
- Inspect your homepage in Google Search Console. The status it shows names the cause.
- Leftover staging settings (a noindex tag, an X-Robots-Tag header, Disallow in robots.txt) are a classic launch-day blocker.
- If your content only appears after JavaScript runs, render it on the server.
- Submit a sitemap, link every page from your homepage or navigation, and request indexing once.
- Google's own docs put a new site at roughly a week to a few weeks, with no guarantee.
#Step 1: Run a site: search
Open Google and search site:yourdomain.com (no space after the colon). Then search the exact URL of a page you care about, like site:yourdomain.com/pricing.
Here's how to read the result:
- No results at all: Google hasn't indexed your site. This is an indexing problem, and the rest of this guide is for you.
- Some pages show, others don't: partial indexing. Note which pages are missing and inspect those in step 2.
- Your pages show, but not for the searches you care about: you're indexed, and it's a ranking problem (content, intent and links). Our website launch checklist covers that side.
Treat site: as a smoke test, not a count: Google says the operator "doesn't necessarily return all the URLs that are indexed." Its Page indexing help even suggests sites under 500 pages start with site: searches before opening the full report.
#Step 2: Inspect the URL in Google Search Console
If site: came back empty or patchy, open Google Search Console. It's free, and it's where Google tells you, URL by URL, why a page isn't indexed.
- Add your site. A Domain property covers every subdomain plus http and https, but needs DNS verification. A URL-prefix property covers one exact prefix and offers more verification methods.
- Paste your homepage URL into the inspection bar at the top.
- Read the verdict. "URL is on Google" means indexed and eligible to appear. "URL is not on Google" means it won't appear in results, and the report explains why.
- Click Test live URL to check the current page rather than the last crawl.
Add the property today: Google says data collection starts as soon as a property is added, and data "should begin to appear" within a few days. The fields worth reading:
| Field | What it tells you | Red flag |
|---|---|---|
| Page fetch | Whether Google could get the page from your server | Anything other than a successful fetch |
| Indexing allowed? | Whether a noindex rule was found | It reports noindex |
| User-declared canonical | The canonical URL your page declares | A different URL, set by accident |
| Google-selected canonical | The URL Google picked as the main version | Not the URL you wanted indexed |
| View tested page | Raw HTML, HTTP headers, JavaScript console, screenshot | Blank screenshot or missing text |
#Step 3: Match the status to its cause
Every URL Google knows but hasn't indexed gets a reason, shown in URL Inspection and site-wide in the Page indexing report. These are Google's current names, from the Search Console help center in September 2026.
| Status | What Google means | What to do |
|---|---|---|
| Discovered - currently not indexed | Google knows the URL but rescheduled the crawl | Link to it from crawled pages, keep it in the sitemap, wait |
| Crawled - currently not indexed | Google read it and chose not to index it for now | Improve or merge the page (step 7) |
| URL marked 'noindex' | Google found a noindex directive | Remove the meta tag or header (step 4) |
| URL blocked by robots.txt | robots.txt stops Googlebot fetching it | Remove the Disallow rule (step 4) |
| Duplicate without user-selected canonical | Google sees a copy and picked another URL | Declare a canonical or make the page distinct |
| Duplicate, Google chose different canonical than user | Google disagrees with your canonical | Check the pages really match; align redirects and links |
| Page with redirect, Redirect error | The URL redirects, or the redirect loops or breaks | Nothing for a deliberate redirect; otherwise redirect straight to the final URL |
| Soft 404 | Looks like a "not found" page but returns 200 | Return a real 404, or add real content |
| Server error (5xx), 401, 403 | Google couldn't access the page | Fix hosting errors, remove login walls on public pages |
#Discovered - currently not indexed
Google says it "wanted to crawl the URL but this was expected to overload the site; therefore Google rescheduled the crawl." On a small new site, treat it as a priority problem: link the page from your homepage and navigation, keep it in the sitemap, and give it time.
#Crawled - currently not indexed
Google fetched the page and chose not to index it. It "may or may not be indexed in the future; no need to resubmit this URL for crawling." Google doesn't say why, so look at the page itself (step 7).
#noindex and robots.txt together
If robots.txt blocks a page, Google never sees its noindex tag, and the URL can still be indexed from links elsewhere (flagged as "Indexed, though blocked by robots.txt"). To keep a page out, use noindex and let Google crawl it. To get a page in, remove both.
#Duplicate and canonical statuses
Typical new-site duplicates are http and https, www and non-www, trailing-slash variants, and your host's default subdomain next to your custom domain. Redirect every variant to one version with a 301, point rel="canonical" at it, and link internally only to that version. Google calls redirects and canonical tags strong signals, but still treats them as hints.
#Step 4: Remove leftover blocks from staging
Telling search engines to stay away while you build is sensible. Forgetting to undo it at launch is the problem. Check three places.
The robots meta tag. View source on your homepage (not Inspect Element) and search for noindex. This is what you're hunting for:
<meta name="robots" content="noindex">Also search for googlebot, since <meta name="googlebot" content="noindex"> targets Google only. On WordPress, the Settings > Reading > Discourage search engines from indexing this site box outputs a noindex, nofollow tag. Untick it.
The X-Robots-Tag header. noindex can also arrive as an HTTP header, which never shows in page source:
curl -sI https://yourdomain.com/ | grep -i x-robots-tagHosts do this on purpose for non-production URLs. Vercel, for example, documents that it adds X-Robots-Tag: noindex to every preview deployment and to outdated production deployments. That's correct behaviour, but it means you should share your production domain, never a preview link.
robots.txt. Open yourdomain.com/robots.txt. This blocks your whole site:
User-agent: *
Disallow: /A launch-ready version for most small sites:
User-agent: *
Allow: /
Sitemap: https://yourdomain.com/sitemap.xmlAfter editing, open the robots.txt report in Search Console settings to see which version Google has, and request a recrawl there if it's stale. Google generally caches robots.txt for up to 24 hours.
#Step 5: Check the HTML before JavaScript runs
Some sites send a nearly empty HTML shell and build the page in the browser. Google renders pages in a headless Chromium browser before indexing, but its own JavaScript guide still says server-side or pre-rendering "is still a great idea because it makes your website faster for users and crawlers, and not all bots can run JavaScript." If you want AI assistants to read your pages too, don't assume their crawlers run your scripts (see can AI crawlers read your website).
How to check:
- Run
curl -s https://yourdomain.com/ | head -100, or use view-source. If your headline and copy aren't in that HTML, your content depends on JavaScript. - In URL Inspection, run Test live URL, then View tested page, and compare the HTML and screenshot with what visitors see.
Three JavaScript traps that block indexing:
- noindex removed by a script. If the initial HTML says noindex, Google "may skip rendering and JavaScript execution," so a script that removes the tag later may never run for Google. Ship the correct tag in the server HTML.
- Links that aren't links. Google can only crawl a link if it's an
<a>element with anhref. Pages reachable only through buttons with click handlers may never be found. - Soft 404s in single-page apps. If every URL returns 200 and "not found" is drawn by JavaScript, expect soft 404s. Redirect to a URL that returns a real 404, or add noindex to error views.
The fix, if your content isn't in the HTML: render public pages on the server or at build time. Most modern frameworks, such as Next.js, Nuxt, SvelteKit and Astro, can do this.
#Step 6: Make every page findable
Google finds pages through links and sitemaps. A new site has no inbound links, so your own signals carry the weight.
- Submit a sitemap. Google says sitemaps help when "your site is new and has few external links to it." Submit it in the Sitemaps report and add a
Sitemap:line to robots.txt. List only canonical, indexable pages as absolute URLs. Google ignorespriorityandchangefreq. - Request indexing for your homepage. Google's help center calls this the best first step for a new website, because crawling spreads from there. There's a daily quota, and Google says requesting the same URL repeatedly "won't get it crawled any faster."
- Link every important page from somewhere crawlable. Your homepage and main navigation should reach every page you want indexed within a click or two. Pages that exist only in the sitemap are prime candidates for "Discovered - currently not indexed."
- Get a few genuine external links. Google lists "your site isn't linked to by other sites on the web" as a frequent reason sites get missed, and warns against paying for links. Real listings and mentions help discovery. See how to get your first 10 backlinks and our list of startup and SaaS directories.
#Step 7: Give Google a reason to index the page
If a page is crawlable and findable but still "Crawled - currently not indexed," look at the page itself. Patterns that show up on new sites:
- Thin pages. A features page that repeats the homepage, a blog with three short posts, a pricing page with one line.
- Near-duplicates. Use-case or city pages built from one template with a word swapped. Google says duplicate content isn't a spam violation, but search engines "might waste crawling resources" on URLs you don't care about.
- Placeholder content. Template demo text, lorem ipsum, "coming soon."
Merge thin pages into fewer, fuller ones. Make each remaining page answer something no other page on your site answers. Add noindex to utility pages you don't need in search, like thank-you pages and internal search results. If you changed a page substantially, one indexing request is reasonable. Repeat requests don't help.
#Quick reference: symptom, cause, fix
| Symptom | Likely cause | Fix |
|---|---|---|
| site: returns nothing, launched days ago | Not discovered or crawled yet | Verify in Search Console, submit a sitemap, request indexing for the homepage |
| site: returns nothing, weeks after launch | noindex, robots.txt block, or no way in | Inspect the homepage; check meta robots, X-Robots-Tag and robots.txt |
| Homepage indexed, inner pages missing | Weak internal links, orphan pages | Link every page from the homepage or navigation; list them in the sitemap |
| "Indexing allowed?" reports noindex | Staging setting or SEO plugin left on | Remove the tag or header, test live, request indexing |
| Live test screenshot is blank | Content rendered only by JavaScript | Server-side render or pre-render public pages |
| Google indexed the wrong version | www, http, slash or host-subdomain variants | 301 to one version, align canonicals and internal links |
| Indexed but no traffic | A ranking problem, not indexing | Better content, intent match, links |
#How long indexing really takes
Google doesn't promise a timeline, but its documentation gives ranges (checked September 2026):
| Situation | What Google's docs say |
|---|---|
| A new page or site | "It can take a week or so for Google to start crawling and indexing" |
| Google noticing a new site at all | "It can take a few weeks" |
| After asking for a recrawl | "Crawling can take anywhere from a few days to a few weeks" |
| After Request indexing | "Indexing typically takes only a day or so, but can take much longer in some cases" |
| After clicking Validate fix | "Validation typically takes up to about two weeks" |
| Judging whether SEO changes worked | You likely want to "wait a few weeks" |
None of these is a guarantee. Google states plainly that requesting a crawl "does not guarantee that inclusion in search results will happen instantly or even at all." Our rule of thumb: if your homepage still isn't indexed two to three weeks after launch, with a sitemap submitted and indexing requested, stop waiting and hunt for a blocker.
#How to confirm you're fixed
- The live test passes. Test live URL says the URL is available to Google, the fetch succeeded, indexing is allowed, and the screenshot shows your real content.
- Request indexing once for each fixed URL.
- Validate the fix. In the Page indexing report, open the issue and click Validate fix, once. Google's tip: filter the report by a sitemap of just your important pages first, since smaller validations finish faster.
- Re-inspect after a few days. You're looking for "URL is on Google."
- Run site: again, then watch Performance. Impressions in the Performance report mean you're appearing. Clicks come later, with ranking work.
#Bonus: Bing Webmaster Tools and IndexNow
Bing runs its own index, and setting it up takes minutes.
- Import from Search Console. On the My Sites page of Bing Webmaster Tools, choose Import and sign in with Google. Bing's announcement says imported sites are verified automatically.
- Use IndexNow. IndexNow lets you ping search engines when a URL is added, updated or deleted. You host a key file (8 to 128 characters of letters, numbers and dashes) at your root, then send changed URLs. Submissions are shared with every participating engine.
https://api.indexnow.org/indexnow?url=https://yourdomain.com/new-page&key=your-keyAs of September 2026, indexnow.org lists Microsoft Bing, Naver, Seznam.cz, Yandex and Yep as participants. Google isn't one, so IndexNow complements Search Console rather than replacing it. Bing's setup page lists built-in support in platforms like Wix, Shopify and major WordPress SEO plugins, and in Cloudflare via Crawler Hints. A 200 response means received, not indexed.
#Common mistakes
- Fixing the wrong problem. Rewriting copy when the page isn't indexed, or chasing indexing when it's indexed and just not ranking.
- Using robots.txt to hide a page. Google may still index the URL. Use noindex.
- A dirty sitemap. Redirects, noindexed pages and non-canonical URLs send mixed signals.
- Using noindex to handle duplicates. Google's canonicalization docs recommend against it because noindex blocks the page from Search completely. Use redirects and canonical tags.
#FAQ
#How do I check if Google has indexed my website?
Search site:yourdomain.com on Google for a quick yes or no, then inspect specific URLs in Google Search Console. URL Inspection tells you whether a page "is on Google" and, if not, the exact reason. The site: operator doesn't always show every indexed URL.
#Why does Search Console say "Discovered - currently not indexed"?
Google found the URL but hasn't crawled it yet. Its help center says the crawl was rescheduled, usually to avoid overloading the site. On a small new site, the practical fix is to link to the page from your homepage and navigation, keep it in your sitemap, and wait.
#Why is my page "Crawled - currently not indexed"?
Google fetched the page and decided not to index it for now, and says there's no need to resubmit. It doesn't give a reason, so check the page for thin, near-duplicate or placeholder content. Improve or merge it, link to it internally, and give it time.
#Does submitting a sitemap guarantee indexing?
No. Google says a sitemap doesn't guarantee that every item in it will be crawled and indexed. It helps Google discover URLs, especially on new sites with few external links, but indexing still depends on access and page quality.
#Can Google index a site built with React or another JavaScript framework?
Yes. Google renders JavaScript in a headless Chromium browser before indexing. It still recommends server-side rendering or pre-rendering because it's faster and not all bots can run JavaScript. Make sure noindex tags and links are correct in the initial HTML.
#How long does it take for a new website to show up on Google?
Google's documentation says it can take a week or so to start crawling and indexing a new site, and a few weeks to notice one at all. After a Request indexing, it's typically a day or so but can be much longer. None of this is guaranteed.
#Final recommendation
Work in order and stop at the first thing that explains the problem: site: search, URL Inspection, then the status it reports. A new site that isn't crawled yet needs a sitemap, internal links and one indexing request. A staging leftover takes ten minutes to fix. Only after both are ruled out is it worth rewriting content.
If you'd rather not check every tag and header by hand, Verdy's free audit reads your homepage and crawls about a dozen pages for indexability, robots.txt, canonical, sitemap and structured data problems, and can connect Search Console read-only. It doesn't replace Search Console; our Verdy vs Google Search Console comparison explains when to use which, and our roundup of free website analyzers covers other options.
Want every crawl and indexing blocker on your site in one list? Run a free Verdy audit.
Run a free auditPrices, plans and platform rules change. Anything current in this guide was checked on September 28, 2026; confirm on the vendor's own site before you buy.