New: The $100M AI Visibility Roadmap, built from 7,960 live pages and 197 A/B tests. Get it free →

Home / Blog / Crawl Budget SEO: What It Is and How to Diagnose It

Technical SEO · 10 min read

Crawl Budget SEO: What It Is and How to Diagnose It

What crawl budget actually is, Google's thresholds for when it matters, how a Shopify catalog multiplies its URLs and a step-by-step way to diagnose a real problem.

Robert Battle · Updated

Key takeaways
  • Crawl budget is the set of URLs Google can and wants to crawl, set by your server's crawl capacity limit and Google's crawl demand.
  • Google's guide targets sites with roughly 1 million+ pages changing weekly, 10,000+ pages changing daily or many URLs stuck in "Discovered, currently not indexed."
  • Google counts URLs, not products, so filters, variants and collection paths can multiply a store's crawlable inventory many times over.
  • If Google crawls pages but doesn't index them, the problem is quality or duplication, not crawl budget.
  • Crawling is not a ranking signal; the real cost of crawl waste is slow pickup of new products and stale prices.

In SEO, crawl budget is the number of URLs Google can and wants to crawl on your site in a given period. It is set by two things: the crawl capacity limit (how much crawling your server handles without slowing down) and crawl demand (how much Google wants to crawl, based on how many URLs it knows about, how popular they are and how often they change). Most stores never hit it, but large or fast-changing catalogs can, and the signs show up in Search Console long before rankings suffer.

This guide is the definition-and-diagnosis piece for e-commerce and Shopify teams. You'll learn what crawl budget is and isn't, Google's own thresholds for when it matters, how a modest catalog turns into tens of thousands of crawlable URLs, the symptoms of a real crawl budget problem and a step-by-step way to confirm one. When you're ready to fix it, our companion guide to crawl budget optimization covers the remedies, including AI crawlers.

What is crawl budget in SEO?

Google defines crawl budget as the set of URLs that Googlebot can and wants to crawl. Two forces decide it.

Crawl capacity limit

This is the maximum crawling Google will do without overloading your server. According to Google's crawl budget guide, the limit rises when your site responds quickly and consistently, and falls when responses slow down or return 5xx errors or HTTP 429. Google's own crawling resources are finite too, so it has to prioritize across the whole web.

Crawl demand

This is how much Google wants to crawl. Google names three factors:

  • Perceived inventory. Without guidance, Googlebot tries to crawl most of the URLs it knows about on your site. Google calls this the factor you can control most. Duplicate and unwanted URLs waste crawl time here.
  • Popularity. URLs that are more popular on the web tend to be crawled more often.
  • Staleness. Google tries to recrawl often enough to pick up changes.

Two details catch people out. First, Google treats each hostname as a separate site, so shop.example.com and www.example.com have separate crawl budgets. Second, any URL Googlebot fetches counts, including CSS, JavaScript and API calls that a page needs to render. Google said so in its 2017 explainer on what crawl budget means for Googlebot, and it is still true: a theme that loads dozens of script files spends crawl requests on every page view Googlebot renders.

Crawling, crawl budget and indexing compared

Most "crawl budget problems" turn out to be something else. Before you diagnose anything, be clear about which stage is failing.

StageWhat happensWhat failure looks likeUsual cause
DiscoveryGoogle finds a URL through links or a sitemapPage never appears in Search Console at allOrphan page, missing from sitemap
CrawlingGooglebot fetches the URL"Discovered, currently not indexed" piling up; new products take weeks to be fetchedCrawl budget: too many low-value URLs or a slow server
IndexingGoogle decides whether to store the page"Crawled, currently not indexed" or duplicate statusesThin, duplicate or low-quality content, not crawl budget
RankingGoogle decides where the page showsIndexed but no impressionsRelevance, content and links

The key line is between crawling and indexing. If Google is fetching your pages and then declining to index them, more crawl budget won't help. That is a quality or duplication issue, and our guide to index bloat covers it.

Does crawl budget matter for your store?

Google is direct about who its crawl budget guide is written for, and it calls these numbers rough estimates rather than hard cutoffs.

When Google says crawl budget mattersGoogle calls these rough estimates, not exact thresholds
1M+ pagesLarge sitesContent changes about once a week
10,000+ pagesMedium or larger sitesContent changes about daily
Many URLsAny sizeReported as Discovered, currently not indexed

Source: Google Search Central, Crawl budget management for large sites (updated July 2026)

If your pages seem to be crawled the same day they are published, Google says you don't need its crawl budget guide. For many Shopify stores with a few hundred products, that is the honest answer.

The catch for e-commerce is what "pages" means. Google counts URLs, not products. A store with 2,000 products can expose many times that number of crawlable URLs once you add collection paths, filters, sort orders, pagination and variant parameters. And the "daily changes" threshold is easy for a store to hit: prices, stock levels, sale badges and new arrivals change every day.

Ask yourself three questions:

  • Are more than about 10,000 URLs crawlable on the store, counting filtered and parameter URLs, not just products?
  • Do prices, stock or product details change daily, and do you need Google to show the current version?
  • Is the "Discovered, currently not indexed" count in Search Console large or growing?

If you answered yes to any of them, the diagnosis steps below are worth an afternoon.

Find out where Googlebot spends its time on your store

Get a technical SEO plan that benchmarks your store against your top three competitors on Google and AI answers, with the crawl fixes ranked by revenue impact.

Get my technical SEO audit →

How a Shopify store multiplies its URLs

Here is a worked example. Picture a store with 2,000 products and 100 collections. Its "real" inventory, the URLs you want in search, is about 2,100 pages. Now count what a crawler can actually reach.

Crawlable URLs on a 2,000-product store (illustrative example)Illustrative example: 100 collections, each product in 4 collections with 3 variants, 20 filter values and 5 sort options per collection
Collection-aware product paths8,000
Variant parameter URLs6,000
Products and collections (wanted)2,100
Single-filter collection URLs2,000
Sort-order URLs500
View the data
Value
Collection-aware product paths8,000
Variant parameter URLs6,000
Products and collections (wanted)2,100
Single-filter collection URLs2,000
Sort-order URLs500

Source: QCK illustrative calculation

In this example the store exposes about 18,600 crawlable URLs, nearly nine for every page it wants indexed. The numbers depend entirely on the assumptions in the chart note, but the pattern is real: duplicates outnumber originals, and all of them compete for the same crawl capacity.

What Shopify already handles

Shopify does more of this cleanup by default than most platforms. On live Shopify stores we checked in October 2026 (allbirds.com and ballerinafarm.com), we saw the following:

  • robots.txt blocks the worst offenders. The default rules disallow collection URLs with sort_by, tag combinations joined with + and URLs with two or more filter parameters, plus cart, checkout and account paths.
  • Canonical tags consolidate duplicates. A collection-aware product path such as /collections/all/products/handle and a ?variant= URL both canonicalized to /products/handle. A single-filter collection URL canonicalized to the unfiltered collection, and page 2 of a collection was self-canonical.
  • Sitemaps include lastmod. The auto-generated sitemap.xml is an index split into products, collections, pages, blogs and articles, and product entries carry a <lastmod> date, which Google's guide recommends.

Canonical tags are output by the theme, so check yours rather than assuming. And canonicals don't stop crawling: Google still has to fetch a duplicate to read its canonical. That is why single-filter URLs and collection-aware product links can still eat crawl budget even when they are handled correctly for indexing. Our guide to faceted navigation SEO goes deeper on filters.

Signs you have a crawl budget problem

Crawl budget problems have a recognizable set of symptoms. Use this grid to match what you see to where to look.

SymptomWhat it suggestsWhere to check
Large or growing "Discovered, currently not indexed" countGoogle knows the URLs but hasn't prioritized fetching themSearch Console, Page indexing report
New products take more than a week to be crawledDemand is spread across too many URLsURL Inspection, "Last crawl" date
Search results show old prices or out-of-stock itemsImportant pages aren't being refreshed often enoughCrawl Stats, refresh share; URL Inspection
Crawl requests dominated by parameter or filter URLsPerceived inventory is bloatedCrawl Stats example URLs; server logs
Average response time climbing, or 5xx and 429 responsesCapacity limit is being loweredCrawl Stats, by response and host status
"Hostload exceeded" in URL InspectionGoogle has hit your crawl capacity limitURL Inspection live test

One symptom alone isn't proof. A slow first crawl for a brand-new store, or a single day of 5xx errors during a sale, is normal. You're looking for patterns that persist over weeks.

How to diagnose crawl budget step by step

This process works in Search Console alone, with server logs as an optional final check. It needs a Domain property or a root-level URL-prefix property, because the Crawl Stats report is only available for root-level properties.

  1. Count your intended inventory. Add up products, collections, pages and articles you want indexed. Your sitemap index is a fast way to get this; the free sitemap checker lists what's in it.
  2. Compare it with what Google knows. In the Page indexing report, add indexed and not indexed URLs together. If Google knows of several times more URLs than you intend, you have an inventory problem.
  3. Read the "not indexed" reasons. "Discovered, currently not indexed" points to crawling. "Crawled, currently not indexed" and duplicate statuses point to quality or canonicals, not crawl budget. Open the examples and look for patterns such as ?filter, ?page= or /collections/*/products/.
  4. Open Crawl Stats. Find it under Settings in Search Console. Note total crawl requests, average response time and host status for the last 90 days.
  5. Break crawl requests down. Check the split by response code, by file type and by purpose. A high share of 404s, redirects or JavaScript files means wasted fetches. A low share of discovery requests on a growing catalog means Google isn't finding new URLs quickly.
  6. Spot-check key pages. Run URL Inspection on your top five products and newest five products. Compare "Last crawl" dates with when they last changed.
  7. Test your robots.txt. Confirm the rules block what you think they block with the robots.txt tester, especially if you've edited robots.txt.liquid.
  8. Confirm with logs if you can. Search Console shows samples. Server or CDN logs show every Googlebot request, which tells you exactly which URL patterns absorb crawling. Our guide to log file analysis walks through it.
Get crawled by Google. Get cited by AI.

Our free $100M AI Visibility Roadmap, built from 7,960 live pages and 197 A/B tests, shows how to get your store cited by ChatGPT, Google AI Overviews and Perplexity.

Get the free roadmap →

How to read the Crawl Stats report

The Crawl Stats report is the closest thing to a crawl budget dashboard Google provides. Here's what each part tells you.

Totals over time

Total crawl requests, total download size and average response time. Google's help page defines average response time across all resources fetched, so it includes images and scripts, not just HTML. A sudden drop in requests alongside a rise in response time is the classic sign of the capacity limit being lowered.

Host status

Google tracks three availability checks: robots.txt fetching, DNS resolution and server connectivity. Google flags an issue when a failure rate crosses the threshold on the chart, and shows whether a significant issue happened in the last week or earlier in the past 90 days. Robots.txt failures matter most: if Google can't fetch the file, it stops crawling for the first 12 hours.

Breakdowns

  • By response: the share of 200, 301, 404 and 5xx responses. Rising redirects or 404s mean internal links point to dead or moved URLs. The redirect checker helps trace chains, and our guide to crawl errors covers fixes.
  • By file type: HTML versus JavaScript, CSS, images and other files.
  • By purpose: discovery (URLs never crawled before) versus refresh (recrawls of known URLs).
  • By Googlebot type: smartphone, desktop, image, page resource load, AdsBot, StoreBot and others.

Turning requests into a recrawl cycle

A useful back-of-envelope check is to divide your crawlable URLs by your daily HTML crawl requests. It shows roughly how long Google would need to get through everything once. Google doesn't crawl evenly, so treat it as a rough gauge, not a forecast.

Days to crawl every URL once (illustrative example)Illustrative example: 1,500 Googlebot HTML requests a day, crawled evenly; 2,100 wanted URLs vs 18,600 total crawlable URLs
1.4 Wanted URLs only 12.4 All crawlable URLs
View the data
Value
Wanted URLs only1.4
All crawlable URLs12.4

Source: QCK illustrative calculation

Same server, same crawl rate, and the store's important pages wait roughly nine times longer between visits because duplicates are in the queue. That is the real cost of crawl waste on a store: stale prices and slow pickup of new products, not a ranking penalty.

Crawl budget myths to ignore

A lot of crawl budget advice is out of date or never applied to Google at all.

MythWhat Google says
More crawling means better rankingsCrawling is required to appear but is not a ranking signal (2017 Google explainer)
Adding noindex saves crawl budgetGoogle still requests noindexed pages and then drops them; use robots.txt for URLs you never want crawled
Crawl-delay in robots.txt slows GooglebotGoogle's robots.txt documentation says crawl-delay isn't supported
Every site needs to manage crawl budgetGoogle's guide targets sites with roughly 1 million+ pages, 10,000+ fast-changing pages or many "Discovered" URLs
Canonical tags stop duplicates from being crawledCanonicals guide indexing; Google still fetches the duplicate to read the tag
Soft 404s are harmlessGoogle says soft 404 pages continue to be crawled and waste budget; return a real 404 or 410

Google's 2017 explainer also ranked the URL types that drain crawling, in order of significance: faceted navigation and session identifiers, on-site duplicate content, soft error pages, hacked pages, infinite spaces and proxies, and low-quality or spam content. For a store, the first two on that list are almost always the place to start.

What to do once you've confirmed a problem

If your diagnosis shows a bloated inventory, a slow server or important pages going stale, the fixes follow directly: cut low-value URLs, keep key pages close to the homepage in your internal links, fix errors and redirect chains, and keep response times fast. Our crawl budget optimization guide covers each of those in order, plus how GPTBot, ClaudeBot and other AI crawlers change the picture.

If the diagnosis shows Google is crawling fine but not indexing, switch to quality and duplication instead. And if you'd like a second pair of eyes on your Crawl Stats and Page indexing reports, our technical SEO team can help. Get in touch.

Not sure if crawl budget is your problem?

Book a free 30-minute call. We'll review where you stand against competitors, the pages ready to move and the revenue math behind each fix.

Get my custom plan →
FAQ

Questions & answers

What is crawl budget in SEO?
Crawl budget is the number of URLs Google can and wants to crawl on your site. It depends on your crawl capacity limit, which is how much crawling your server handles, and crawl demand, which is how much Google wants to crawl based on inventory, popularity and freshness.
Does crawl budget affect rankings?
Not directly. Google has said crawling is necessary to appear in results but is not a ranking signal. It affects SEO only when important pages aren't crawled or recrawled quickly enough.
How do I check my crawl budget?
Open the Crawl Stats report under Settings in Google Search Console, available for root-level properties. Compare total crawl requests and response times with the Page indexing report, especially the "Discovered, currently not indexed" count.
Do small Shopify stores need to worry about crawl budget?
Usually not. If new products are crawled the same day they are published, Google says you don't need its crawl budget guide. It becomes relevant when filters and variants push crawlable URLs into the tens of thousands or prices change daily.
What is the difference between crawl budget and crawl rate?
Crawl rate is how many requests Googlebot makes over time. Crawl budget is the broader set of URLs Google can and wants to crawl, which combines the rate your server can support with Google's demand for your URLs.
Free custom plan

Find the revenue you're leaving on the table

A free 30-minute call where we build the first version of your plan with you. You leave with a plan either way.

  • Your score across Google, AI citations, branded demand, and reviews
  • The pages on your site that are ready to move right now
  • Your first Flagship page and the first three tests we'd run

Step 1 of 3

Get your free custom plan

Free. Takes about 30 seconds.