
“We’re not ranking” and “Google can’t see the page” get treated as the same complaint constantly, but they describe two different problems. Ranking is a competition: your page already lives in Google’s index and gets judged against every other page chasing the same query. Indexing is the gate before that competition even starts - whether Google decided your page belongs in its library at all. A page that isn’t indexed cannot rank for anything, no matter how well it’s written or how carefully the keywords are chosen. Diagnosing the wrong problem burns weeks of content work on a page Google was never going to show.
Crawl, index, and rank are three separate jobs
Each term describes a distinct stage in how a page reaches a search result, and mixing them up leads to the wrong fix.
- Crawl - Googlebot discovers a URL (through a link, a sitemap, or a redirect) and fetches its content.
- Index - Google decides the page is worth storing and adds a usable version of it to the search index.
- Rank - for a specific query, Google chooses whether that indexed page deserves a position, and where.
A page can be crawled and still rejected from the index - Google visited it and decided not to keep it. It can also be indexed and still sit on page twelve, which is a ranking problem, not an indexing one. Confusing the two means you might spend a month improving content on a page Google never even stored.
How Googlebot actually finds your pages
Discovery mostly happens through links: internal links from other pages on your site, external links from elsewhere, and entries in your XML sitemap. Brand-new pages with no internal links pointing to them, buried four clicks deep in navigation, or launched without being added to the sitemap can sit undiscovered for weeks even on an otherwise healthy site. Crawl budget - how much attention Googlebot is willing to spend on your domain - also matters more on very large sites, where thin or duplicate pages compete with the pages you actually want crawled.
The most common blockers that keep pages invisible
Most indexing problems trace back to a handful of repeat offenders:
- A noindex meta tag or X-Robots-Tag header left on from a staging environment.
- robots.txt rules that accidentally disallow an important folder or the whole site.
- Login walls, soft 404s, or thin duplicate URLs that look low-value to Google.
- Canonical tags pointing to a different URL by mistake, telling Google to index that one instead.
- Content that only renders after heavy client-side JavaScript, which some crawl passes handle poorly.

A real example: the staging noindex nobody remembered
A common pattern we see during site migrations: the development team builds the new site on a staging subdomain with a blanket noindex directive, so search engines don’t index half-finished pages. The site launches, DNS points the domain at the new build, everything looks fine to visitors - but the noindex tag was baked into the template and nobody removed it for production. Weeks later, organic traffic quietly disappears. Nothing “broke” visibly; the pages simply asked Google not to index them, and Google obliged. This is why a post-launch indexing check should be standard practice, not an afterthought.
How to check indexing status in Search Console
Google Search Console’s URL Inspection tool is the most reliable way to check a specific page. “URL is on Google” means it’s indexed and eligible to rank. “Discovered - currently not indexed” means Google knows the URL exists but hasn’t crawled it yet, often due to crawl budget or low perceived priority. “Crawled - currently not indexed” means Google fetched the page and chose not to store it, usually a quality or duplication signal. A site:yourdomain.com/path search in Google is a rough public sanity check, not a substitute for a proper audit - it can show stale or partial results.

For a site-wide view, the Page indexing report (under the Indexing menu) groups every excluded URL by reason: Duplicate without user-selected canonical, Blocked by robots.txt, Crawled - currently not indexed, and several others. Clicking into a reason lists every affected URL at once, which is far faster than inspecting pages one by one, and it’s usually the first place worth checking after a migration or a sudden traffic drop.
Mistakes that waste time when chasing indexing
- Clicking “Request indexing” repeatedly without fixing the underlying cause - it doesn’t force Google to index a page it has already rejected.
- Treating every “Discovered - currently not indexed” page as a bug, when for a huge or brand-new site it can simply be a queue.
- Polishing copy and keywords before confirming the page can be indexed at all.
- Ignoring the Page indexing report in Search Console until traffic has already dropped.
A practical checklist before you publish
- Check the page’s meta robots tag and any X-Robots-Tag header for a leftover noindex.
- Check robots.txt for a Disallow rule that covers the page’s path.
- Confirm the canonical tag points to the page itself, not somewhere else.
- Add at least one internal link from an already-indexed page so Googlebot can find it.
- Update the XML sitemap and use URL Inspection to request indexing once the above is clean.
At Killer Click we treat indexation as step zero of SEO, not a footnote. Content, links, and on-page optimisation only start paying off once a page is actually eligible to appear - so on every launch and migration we run an indexing check before we ever talk about rankings.