How search engines crawl and index
The three-stage pipeline - crawl, index, serve - and the controls that decide whether a page enters it at all.
Crawling: how URLs are discovered
A search engine keeps a queue of URLs waiting to be fetched. It learns about them from links on pages it already knows, from sitemaps you submit, and from redirects. The crawler fetches a URL, reads the response, and follows the links it finds. Nothing else exists as a discovery mechanism - a page with no links and no sitemap entry is effectively invisible.
# robots.txt - must be served at the root of the host
User-agent: *
Disallow: /admin/
Disallow: /search?
Allow: /
Sitemap: https://example.com/sitemap.xmlrobots.txtcontrols crawling, not indexing: a disallowed URL can still appear in results when other sites link to it.- Blocking a page in
robots.txtalso stops the crawler from ever reading anoindextag on that page, so the tag has no effect. - Spend crawl budget where it matters: block faceted search URLs, internal result pages and staging hosts so real content is fetched first.
- A sitemap is a hint about URLs and priority, never a guarantee of indexing.
noindex (and let the crawler reach it). If you want to save server load, use robots.txt. Choose one deliberately - combining both achieves neither.Indexing: what actually gets stored
After fetching, the engine renders the page much like a browser does, extracts the visible text plus the metadata in the head, and writes it into a huge inverted index. Client-side JavaScript is rendered too, but it is queued separately and can be delayed - content that exists only after a script runs is indexed later and less reliably than content in the HTML.
<head>
<title>Wireless Headphones Guide - Buyer Checklist</title>
<meta name="description" content="How to choose wireless headphones: battery, codecs, comfort and noise cancelling.">
<link rel="canonical" href="https://example.com/guides/wireless-headphones">
<meta name="robots" content="index, follow">
</head>| Index status | What it usually means |
|---|---|
| Indexed | Eligible to appear in results (not a ranking guarantee) |
| Excluded by noindex | Deliberate removal - the tag is respected |
| Discovered - currently not indexed | Queued but never crawled; often low-value or duplicate content |
| Crawled - currently not indexed | Fetched and judged not worth storing; usually thin or duplicate |
| Duplicate, Google chose a different canonical | Two URLs say the same thing and the signals were not consolidated |
| Blocked by robots.txt | Never fetched, so never evaluated |
Serving: how a result is chosen
Ranking happens per query, not per page. The same URL can rank first for one phrasing and be absent for another, and results are personalised by language, location, device and history. There is no single knob that lifts a site; there are signals that consistently correlate with visibility.
- Topical match: does the page answer the query, at the right depth and in the right format?
- Links: how many other sites point at it, and how trusted those sites are.
- Freshness: matters a lot for news and prices, barely at all for definitions.
- Page experience: mobile usability, intrusive interstitials and Core Web Vitals.
- Clarity: one clear topic per URL, and a title that reads like an answer.
Practical consequence: write for one intent per page and let each page be the obvious answer to that intent. Pages that try to cover five different intents usually rank for none of them.
FAQ
How long until a new page is indexed?
Do I need a sitemap if my site is small?
Related
Last refreshed 2026-09-18.