Join our community of websites already using SEOJuice to automate the boring SEO work.
See what our customers say and learn about sustainable SEO that drives long-term growth.
Explore the blog →TL;DR: Publishing an HTML file only makes it available on your server. Before Google stores it, the URL must return 200, permit crawling and indexing, identify the appropriate canonical, contain distinct content, and be discoverable through links or a sitemap. Fix those gates first. Then use Google Search Console’s URL Inspection tool to request indexing and verify the result.
| Indexing gate | What Google needs | Common failure | First fix |
|---|---|---|---|
| Server response | HTTP 200 OK | 4xx, 5xx, or soft 404 | Serve a working page with real content |
| Crawl access | Googlebot can fetch the URL | Blocked by robots.txt | Remove the relevant Disallow rule |
| Index permission | No noindex directive | Meta robots or X-Robots-Tag says noindex | Remove noindex, verify it live, then request indexing |
| Canonicalization | The page is the preferred version | Canonical points elsewhere | Use a self-referencing canonical when appropriate |
| Content | Useful, distinct HTML content | Thin, empty, or near-duplicate page | Improve or consolidate the content |
| Discovery | Links and sitemap references | Orphan page | Add internal links and include it in the XML sitemap |

The most important constraint comes directly from Google Search Central:
“Google doesn't guarantee that it will crawl, index, or serve your page, even if your page follows the Google Search Essentials.”
Google adds that “Indexing isn't guaranteed; not every page that Google processes will be indexed.” There is no submission button that overrides this decision. You can make the page accessible, easy to discover, technically coherent, and worth storing. Google still decides whether it enters the index.
The useful mental model is crawl, render, index, then serve. These are separate stages, not synonyms. If you want the deeper mechanics, our guide to how Google indexing works follows the complete pipeline.
Google does not have a central registry of every page published on the web. It discovers URLs by revisiting known pages, following links, and reading sitemaps. Googlebot then requests the URL and downloads the available resources.
This is why an HTML file can load perfectly for you and remain invisible to Google. The server knows where it is; Google may not. An internal link and an XML sitemap entry provide routes to the page.
I start with discovery because developers often test availability and stop there. I have done it too: upload a static page, open the URL, call the release finished, then realize nothing on the site actually links to it.
Google says it renders pages during crawling and runs JavaScript using a recent version of Chrome. For a plain or server-rendered HTML page, the primary content is already in the response. That removes one potential failure point: Google does not need client-side JavaScript to construct the main document.
That is an advantage, not an indexing guarantee. Static HTML can still carry a noindex header, declare the wrong canonical, return a soft 404, or sit three sitemap files away with no internal links. Simple rendering does not rescue bad indexing signals.
During indexing, Google analyzes the text, images, title element, alt attributes, and other page signals. It also evaluates duplication and chooses a canonical URL from similar versions.
A successful crawl proves only that Google could fetch the document. Google may then select another canonical or decide the page does not offer enough distinct value to store separately.
Indexing is admission, not visibility.
Ahrefs analyzed roughly 14 billion pages in its Content Explorer database and found that 96.55% received no traffic from Google; another 1.94% received between one and ten monthly visits. That measures pages in Ahrefs’ index, not Google’s complete index, so it should not be misquoted as a Google-wide figure. It still demonstrates the difference between being stored and being competitive.
Run these checks before requesting indexing. Otherwise, you are asking Google to revisit the same unresolved failure.
The intended page should return a successful 200 response. A 4xx response says the resource is unavailable; a 5xx response says the server failed to provide it. Neither gives Google a healthy document to index.
Also inspect soft 404s. These URLs return 200 but resemble empty, broken, or “not found” pages. Google may treat them as errors. A missing resource should return 404 or 410; an indexable URL needs substantive content.
Do not rely only on what the browser displays. A polished error template can hide a failing response, while an ugly-looking page may return perfectly valid HTML (headers usually settle the argument).
A noindex directive can appear in two places:
A noindex can live in the HTML or in the HTTP response, and Google obeys either:
<!-- In the page head -->
<meta name="robots" content="noindex">
# Or as an HTTP response header (same effect)
X-Robots-Tag: noindex
Google obeys noindex after it crawls the page. Check both the source and response headers, particularly after moving from staging to production.
When Lida and I migrated seojuice.io to seojuice.com in January 2026, one of our first checks was the live X-Robots-Tag response on each template, not just the visible meta tag. Domain moves already introduce redirects, canonicals, and discovery changes; silently carrying a staging header into production would have made the rest irrelevant.
Remove noindex before requesting another crawl. Asking Google to index a URL that still refuses indexation is precise but pointless.
Robots.txt controls crawling. If a path is disallowed, Googlebot cannot fetch the HTML, inspect its content, or see a page-level noindex directive.
The distinction matters: robots.txt is not a reliable removal mechanism. A blocked URL discovered through links can still appear as a URL-only result because Google knows the address without being allowed to fetch its contents. If you need to keep a page out of the index, allow crawling and use noindex.
For an accidental Disallow rule, our free robots.txt generator helps create and validate a cleaner file. It fixes crawl instructions; it does not force inclusion in Google.
If a page declares rel="canonical", it should normally point to itself unless it genuinely duplicates another URL. A canonical pointing elsewhere tells Google that the other address is the preferred version.
Google can choose a different canonical from the one you declare. The tag is a strong signal, not a command. Check Search Console’s user-declared and Google-selected canonicals rather than assuming the source tag won.
If canonicalization feels slippery, this explanation of what a canonical URL is covers the practical cases. Old URLs may instead need redirects; our 301 vs 302 redirects comparison explains that decision.
The immediate question is not how many words the page contains. It is whether this URL deserves to exist separately from the other URLs on the site.
A template that swaps one city, service, or keyword can remain a near-duplicate. The same is true of empty product shells and tag archives that repeat snippets available elsewhere. Adding another 300 generic words does not repair the underlying duplication (I wish this were calculable as a word-count threshold, but it is not).
Improve what is unique: original instructions, specifications, comparisons, examples, first-hand evidence, or information that satisfies a distinct intent. If the page cannot justify itself, consolidate it with the stronger URL.
Link to the new page from relevant URLs Google already visits, such as a homepage, category hub, documentation index, or related article. Use anchor text that explains the destination.
An orphan page has no internal links pointing to it. A sitemap can disclose the URL, but it does not show how the page fits into the site’s information structure. From what we see across sites running SEOJuice, orphaned and weakly linked pages are among the most persistent discovery problems. Not exotic technical failures. Just pages nobody connected to anything.
SEOJuice continuously auto-applies relevant internal links on a live site. It does not inject pages into Google’s index. It creates crawl paths and reduces the repetitive work of finding disconnected content, which is the useful level of automation for a two-person team like ours.
List canonical, indexable URLs in the XML sitemap and submit it through Google Search Console. Google recommends sitemaps when you want many pages indexed.
A sitemap is a discovery feed, not an approval list. The listed URL still needs a valid response, crawl access, index permission, coherent canonical signals, and worthwhile content. Think of the sitemap as directions to the door, not the key.
Google’s URL Inspection documentation says, “Indexing can take up to a week or two.” It also states that submitting a request does not guarantee appearance in the Google index and that there is a daily request limit.
Google Search Advocate John Mueller gave a broader range of “several hours to several weeks,” according to Search Engine Land’s reporting on Google’s June 2021 AskGooglebot guidance. He advised publishers to submit a sitemap, be patient, and remember that indexing does not guarantee ranking.
The range is broad because this is not a deterministic publishing queue. Once the technical checks pass and the page has useful discovery paths, waiting can be the correct action (not satisfying, I know, but more useful than pressing Request Indexing for the sixth time).
Paste the exact URL into Search Console’s URL Inspection tool. “URL is on Google” means it is indexed. “URL is not on Google” means it is not currently indexed.
The main report shows the most recently indexed version, not necessarily the page now served by your site. Test Live URL performs a fresh fetch but does not add the page to the index. After removing noindex, for example, the live test may pass while the indexed report still reflects the older blocked version.
The Page Indexing report groups excluded URLs by reason. This is more useful than inspecting pages individually when a template, directory, or deployment has created the same problem across hundreds of URLs.
Look for clusters. A sudden set of noindex exclusions suggests a shared template or header. Duplicate-canonical growth may point to parameters or URL variants. A large “discovered” group deserves a review of site capacity and low-value URL volume; on larger sites, crawl budget optimization becomes relevant.
A search such as site:example.com/page is a quick sanity check, not an authoritative index report.
Google states that “The site: operator doesn't necessarily return all the URLs that are indexed under the prefix specified in the query.” If the result is absent, use URL Inspection before concluding that the page is excluded.
| Status | Meaning | What to do next |
|---|---|---|
| Excluded by noindex | Google found and obeyed a noindex directive | Remove it, verify the live response, then request indexing |
| Blocked by robots.txt | Google cannot fetch the HTML | Allow crawling for that path |
| Discovered, currently not indexed | Google knows the URL but has not fetched it | Check site capacity, links, sitemap inclusion, and low-value URL volume |
| Crawled, currently not indexed | Google fetched the page but did not store it | Improve distinct value and resolve duplication or canonical conflicts |
| Duplicate or alternate canonical | Another URL was selected as canonical | Review declared canonicals, redirects, and duplicate versions |
| Soft 404 | The URL returns 200 but resembles an empty or missing page | Add substantive content or return a real 404 or 410 |
The most useful distinction is between “discovered” and “crawled.” Discovered means Google knows the URL but has not fetched it. Google’s documented explanation says this commonly occurs when crawling was expected to overload the site, so Google rescheduled it. Internal links and URL quality still matter operationally, but they are not Google’s only stated cause.
Crawled means Google already fetched the page and chose not to store it for now. Google’s Page Indexing documentation says there is “no need to resubmit this URL for crawling.” Inspect the content, duplication, and canonical choice instead. Editing the page is harder than clicking a button, which is probably why I still have to remind myself of this.
The word “currently” matters. Neither status is necessarily permanent.
No SEO product can guarantee HTML indexing. Useful automation works below that promise: finding blockers, connecting pages, and making site-wide fixes consistently.
SEOJuice continuously auto-applies internal links, meta titles and descriptions, schema markup, and image alt text to live sites. Its audit can surface noindex directives and robots.txt blocks. These are concrete improvements to discovery and indexability, not an “index now” service.
If orphan pages and accidental directives keep recurring, the SEOJuice free plan lets you test that workflow without a credit card. Google retains the indexing decision; we automate the repetitive on-site work around it.
Make sure it returns 200, has no noindex directive, is crawlable, uses the correct canonical, and contains distinct content. Add it to the XML sitemap, link to it internally, then use Search Console’s URL Inspection tool to request indexing.
Use URL Inspection in Google Search Console. “URL is on Google” means indexed. The site: operator is only a rough check because Google says it does not necessarily return every indexed URL.
There is no guaranteed timeline. John Mueller said indexing can take several hours to several weeks. Search Console documentation says requested indexing can take up to a week or two.
Google fetched the page but chose not to store it for now. Review whether it provides distinct value, duplicates another page, or points to a different canonical. Google says there is no need to resubmit it merely for crawling.
Not reliably. Robots.txt blocks crawling, but a blocked URL discovered through links can still appear without its contents. To prevent indexing, allow Google to crawl the page and provide a noindex directive.
No. Google can discover pages by following links. A sitemap is still the cleanest way to disclose canonical URLs at scale, and Google recommends submitting one when you want many pages indexed.
no credit card required