Overview
Crawl budget is the number of URLs Googlebot will fetch from a site in a window, set by crawl capacity (how much the server can take) and crawl demand (how much Google wants to recrawl). Google’s guide says most sites do not need to worry about it. On large or fast-changing sites it can be the bottleneck between publish and rank.
Check whether crawl budget applies to you
Google’s guide names three cases, and calls the thresholds rough estimates, not exact limits.
- About 1 million or more unique pages with content that changes about weekly.
- About 10,000 or more unique pages that change daily.
- Many URLs reported as “Discovered, currently not indexed” in Search Console.
Below that, spend engineering time on content and internal-linking instead. E-commerce, classifieds, and UGC sites with parameter explosions are the usual candidates.
Block low-value URL spaces in robots.txt
Google recommends robots.txt over noindex for URLs you do not want crawled, because Google still requests a noindex page, which wastes crawling time.
User-agent: *
Disallow: /search?
Disallow: /*?sort=
Disallow: /*?filter=
Disallow: /cart
Disallow: /account/
Sitemap: https://example.com/sitemap.xml
- Block faceted navigation with unbounded combinations, internal search results, session-ID URLs, carts, and account pages.
- Put staging behind authentication. A staging
robots.txtalone does not keep URLs out of the index. Disallowstops crawling, not indexing; a blocked URL linked from elsewhere can still appear. A blocked URL also cannot shownoindexor a canonical. Never combine the two on one URL.
Use noindex for index control, not crawl control
noindex,follow removes a crawlable page from the index while letting crawlers follow its links. Use it for thank-you pages, thin author or tag archives, and internal-only pages. See pagination-and-facets for facets.
Consolidate duplicates before tuning anything
Shipping fewer URLs is the cheapest win.
- Merge or delete tag pages that duplicate category pages, and 301 one set to the other.
- Pick one canonical for multi-URL content and 301 the rest. A canonical is a hint; a 301 is stronger for truly equivalent URLs. See technical.
- Return real 404 or 410 for permanently removed pages, and fix soft 404s (200 responses saying “no results”).
- Remove long redirect chains. See redirects.
- Consolidate or delete thin pages with no real intent.
Signal freshness with accurate <lastmod>
Google uses <lastmod> to schedule recrawls only when it is consistently accurate, so set it on real content changes, never the build time. Pair the sitemap with indexnow for Bing. See sitemaps-deep.
Keep the server fast and watch Crawl Stats
Google lowers its crawl rate when it sees 5xx errors, 429 responses, or slow responses, and raises capacity when the server answers quickly. It publishes no fixed millisecond threshold. Supporting 304 Not Modified saves fetches.
Search Console’s Crawl Stats report (Settings > Crawl stats) is the ground truth.
- Total crawl requests per day, against how much you publish.
- Response codes: mostly 200, and a
5xxspike needs fixing. - File types: a high ratio of image and CSS crawls to HTML means budget goes to assets.