/ ← Ecommerce Crawl Fixes / Crawl Budget Waste
In this guide
  1. Do you actually have a crawl budget problem?
  2. How Google decides how much to crawl
  3. Reading the Crawl Stats report
  4. Measuring waste in your server logs
  5. Where shop crawl goes to waste
  6. Server speed, errors and conditional requests
  7. The fix, step by step
  8. Keeping crawl efficient after the clean-up
  9. Questions and answers

Do you actually have a crawl budget problem?

Google publishes guidance on managing crawl budget and says plainly that it is aimed at large sites. If your pages are usually crawled on the day they are published, you do not need it. The guidance singles out three situations where it matters:

The count that matters is not your number of products. It is the number of URLs a crawler can reach. A shop with 800 products and six filters can easily expose more than ten thousand crawlable addresses, which is why stores cross the threshold much sooner than blogs or brochure sites.

Symptoms that point elsewhere

Plenty of indexing problems are blamed on crawl budget when the cause is something else. Rule these out before spending days on logs.

What you seeCrawl budget?More likely cause
Many pages in Crawled – currently not indexedNo. Google fetched them.Google judged the pages not worth indexing: thin, near-duplicate or low-value content.
Many pages in Discovered – currently not indexedPossiblyCrawl demand or capacity is limited, or the URLs look like low-value duplicates of pages already known.
New products take weeks to appearPossiblyWeak internal linking to new arrivals, or products missing from the sitemap.
A small site with a few hundred URLs not being indexedAlmost neverBlocking rules, noindex tags, canonicals pointing elsewhere or quality issues.
Crawl requests dropped suddenlyYes, capacityServer errors, timeouts or a slower host making Googlebot back off.
💡 If Crawl Stats shows Googlebot fetching far more URLs per day than you have products and categories, you are almost certainly wasting crawl, even if indexing looks fine today.

How Google decides how much to crawl

Google describes crawl budget as the product of two things. Understanding which one limits you tells you which fixes will help.

Crawl capacity limit

This is how hard Googlebot can hit your server without hurting it. It rises when your pages respond quickly and consistently, and falls when responses slow down or the server returns errors. A shop on shared hosting that takes two seconds to generate each category page is telling Googlebot to go gently. Capacity problems show up as falling request counts, a rising average response time and host status warnings in Crawl Stats.

Crawl demand

This is how much Google wants to crawl. It depends on how popular your URLs are, how often they change and how many URLs Google believes exist. Demand is also where waste bites: if Google keeps discovering new filter, sort and session URLs, part of its interest in your site is spent confirming that those URLs are duplicates. Reducing the number of pointless URLs lets the same demand go to pages that earn money.

You cannot buy more budget or request it. You can make your server faster and more reliable, make each URL worth fetching, and stop creating URLs that are not.

Reading the Crawl Stats report

The report lives under Settings → Crawl stats in Search Console and is available for domain-level and top-level URL-prefix properties. It covers roughly the last 90 days. Four breakdowns matter for a shop:

  1. By response. A healthy shop is dominated by 200 responses. A large share of 301, 302 or 404 responses means Googlebot is following old links, redirects or removed products.
  2. By file type. HTML should be a big slice. If JSON, JavaScript or images dominate, check whether theme assets are uncacheable or change their URL on every deploy.
  3. By purpose. Discovery means URLs Google had not crawled before; refresh means re-crawling known URLs. A large and constant discovery share on a site whose catalogue is not growing is a classic sign of URLs being generated from parameters.
  4. Host status. Problems with robots.txt fetching, DNS or server connectivity appear here and directly reduce crawling.

Click into each row to see example URLs. These examples are a sample, not a full list, but they are usually enough to spot the pattern, such as dozens of ?sort_by= or ?page=38 URLs.

Measuring waste in your server logs

Crawl Stats shows trends and samples. Your access logs show every request, which is what you need to put a number on waste. Most hosts, including Plesk and cPanel servers, keep logs for each domain; ask your host or developer if you cannot find them. Take at least two weeks, ideally four.

Verify that it really is Googlebot

Anyone can send a Googlebot user agent. Genuine requests come from Google's published IP ranges and pass a two-way DNS check: a reverse lookup of the IP returns a host name ending in googlebot.com, google.com or googleusercontent.com, and a forward lookup of that name returns the same IP.

host 66.249.66.1
# 1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com.
host crawl-66-249-66-1.googlebot.com
# crawl-66-249-66-1.googlebot.com has address 66.249.66.1

Collapse URLs into families

Counting individual URLs is useless on a shop; you want patterns. This one-liner, run on a combined log format file, strips parameter values so that ?colour=red and ?colour=blue are counted together:

grep 'Googlebot' access.log \
  | awk '{print $7}' \
  | sed -E 's/=[^&]*/=/g; s#/products/[^/?]+#/products/*#' \
  | sort | uniq -c | sort -rn | head -40

Put the output into a spreadsheet with three columns: family, requests, and what the family is worth. You will usually find that a handful of families take most of the requests.

FamilyTypical share on a messy shopShould Googlebot fetch it?
Product pages, plain URLOften surprisingly smallYes, and more often
Category pages and their first few pagesModerateYes
Filter and sort combinationsFrequently the largestOnly whitelisted combinations
Redirecting old URLsVaries with site ageNo; fix the links that lead there
404s for removed productsVariesA few are normal; many mean links still point to them
Internal search, cart, accountShould be near zeroNo
⚠️ Access logs contain IP addresses, which are personal data under UK GDPR. Filter to crawler traffic before sharing logs with an agency or contractor, and delete working copies when you are done. This is not legal advice.

Where shop crawl goes to waste

Once the logs are grouped, most waste falls into a few categories. Each has its own guide in this hub, so this section only sets out how to recognise them in the data.

Server speed, errors and conditional requests

Capacity is the half of crawl budget that shop owners most often overlook. A few server-side changes can let Googlebot fetch more without any change to the URLs:

The fix, step by step

Step 1

Check whether crawl budget is really the constraint

Open the Page indexing report in Search Console and compare the number of URLs under Discovered – currently not indexed with the number under Crawled – currently not indexed. A large discovered count on a site with many thousands of crawlable URLs points to a crawl problem. A large crawled count points to content quality instead. Then run the Ecommerce Crawl and compare the number of URLs it finds with the number of products and categories you actually sell.

Step 2

Pull three months of Crawl Stats

Go to Settings, then Crawl stats, and note total crawl requests, average response time and the split by response, file type and purpose. Screenshot each chart so you have a baseline to compare against later. Open the examples behind any row that looks large, such as 301 or discovery, and write down the URL patterns you see repeated. Check host status for robots.txt, DNS or connectivity problems before you go any further.

Step 3

Group verified Googlebot requests by URL family

Download at least two weeks of access logs, keep only requests from genuine Googlebot IP addresses after a reverse and forward DNS check, and strip parameter values so similar URLs collapse together. Count requests per family and sort them from largest to smallest. Label each family as worth crawling, worth crawling less, or not worth crawling at all. The top five families usually explain most of the waste on a shop.

Step 4

Cut the families that should not be crawled

For each family marked not worth crawling, choose one control: stop the templates generating links to it, block the pattern in robots.txt, or both. Do not add a noindex tag to URLs you also block, because Googlebot will never see it. Internal search, cart, checkout, account and sort URLs are safe to block. Filter combinations need a whitelist first, so work through the faceted explosion guide before blocking those patterns.

Step 5

Take redirects, errors and soft 404s out of internal links

Export the redirecting and 404 URLs from your log analysis and find where each is linked from, using the Ecommerce Crawl or a site crawler. Update menus, footers, product descriptions and related-product blocks to link straight to the final live URL. Make empty categories and permanently removed products return a real 404 or 410, or redirect them to a close replacement, instead of a 200 page with no products.

Step 6

Speed up responses and stop server errors

Check the average response time in Crawl Stats and look for any 5xx responses in your logs. Turn on page caching for category and product templates, move heavy apps or plugins off critical templates, and ask your host whether the server is running out of memory at busy times. Make sure planned maintenance returns 503 with a Retry-After header, and that your server returns 304 for unchanged pages when asked.

Step 7

Publish a clean sitemap and re-measure

Make sure your XML sitemap lists only canonical, indexable, live URLs that return 200, with accurate lastmod dates that change only when the page really changes. Resubmit it in Search Console. Wait four to six weeks, then repeat the log grouping and compare with your baseline. The share of requests going to plain product and category URLs should rise, and the wasted families should shrink.

Keeping crawl efficient after the clean-up

Crawl waste comes back whenever something new starts generating URLs. The usual culprits are a new filter app, a theme update that changes how links are built, a marketing tool that adds tracking parameters to internal links, or a seasonal range that is deleted instead of kept.

  1. Re-run the log grouping monthly, or after any theme, app or platform change, and compare family sizes with last month.
  2. Keep a short written list of URL patterns that should never be crawled and check new features against it before they go live.
  3. Watch the discovery share in Crawl Stats. A jump without a matching jump in real products means a new URL source has appeared.
  4. Keep internal links clean at source: templates should output the canonical URL for every product and category, with no tracking parameters.
  5. Agree a policy for removed and out-of-stock products so staff do not create redirect chains or soft 404s one product at a time.

The Ecommerce Crawl guide explains how the crawl report groups URLs, and the Robots and Sitemap guide covers rule syntax and sitemap structure in more depth.

Questions and answers

1. Does a small shop need to worry about crawl budget?

Usually not. Google says most sites are crawled efficiently without any special work, and its crawl budget guidance is aimed at sites with tens of thousands of URLs or more. The catch for shops is that the relevant number is crawlable URLs, not products. A small shop with filters, sort options and tag pages can expose many thousands of addresses. If your crawl finds far more URLs than you have products and categories, it is worth checking.

2. What is the difference between Discovered and Crawled currently not indexed?

Discovered currently not indexed means Google knows the URL exists but has not fetched it yet, which can be a sign that crawling is limited or that the URL looks like a low-value duplicate. Crawled currently not indexed means Google fetched the page and chose not to index it, which is about the page itself, not crawl budget. The second status is usually fixed by improving or consolidating content, not by changing crawl rules.

3. Can I ask Google to crawl my shop more often?

Not directly. There is no setting that raises crawl budget, and Google removed the crawl rate setting from Search Console in early 2024. You influence crawling indirectly: a fast, reliable server raises the capacity limit, and useful, well-linked, frequently updated pages raise demand. Requesting indexing for individual URLs in the URL Inspection tool is fine for a handful of important pages, but it is not a way to process a whole catalogue.

4. Does blocking URLs in robots.txt free up crawl budget?

Yes, for Googlebot and other crawlers that follow the rules, blocked URLs are not fetched, so those requests can go elsewhere. The trade-off is that Google cannot see anything on a blocked page, including canonical and noindex tags, and blocked URLs can still be indexed without content if they are linked. Block patterns that have no search value, such as sort orders, internal search and cart pages, and use canonicals for near-duplicates you want consolidated.

5. Do noindex tags save crawl budget?

Not in the short term. Googlebot has to fetch a page to see its noindex tag, so noindexed URLs are still crawled. Over time Google tends to crawl long-standing noindexed pages less often, but it is not a reliable way to cut waste. If a URL pattern has no value at all, the stronger fix is to stop linking to it and, where appropriate, block it in robots.txt. Keep noindex for pages that people need but search results do not.

6. How do I find my server logs?

On most hosting control panels, such as Plesk or cPanel, each domain has an access log you can view or download from the logs section. Managed platforms such as Shopify do not give merchants raw server logs, so on those you rely on the Crawl Stats report and your crawl results instead. If a CDN such as Cloudflare sits in front of your site, its logs may be more complete than the origin server logs.

7. How long before I see the effect of crawl fixes?

Changes to robots.txt are picked up quickly, because Google generally caches the file for up to a day before fetching it again. Changes in how Googlebot spreads its requests take longer to show, typically several weeks, as it re-learns which URLs are worth visiting. Indexing improvements for pages that were previously stuck can take longer still. Compare Crawl Stats and log families four to six weeks after the change rather than checking daily, and remember that seasonal demand also moves crawl levels up and down.

See where your shop spends its crawl

The Ecommerce Crawl maps the URLs on your store, finds faceted navigation explosion and duplicate product URLs, flags out-of-stock products, surfaces orphans and measures how efficiently your crawl is spent.

Open Ecommerce Crawl Fixes →
💬 Got a problem?
Related Guides: All Ecommerce Crawl Fixes  ·  Faceted URL Explosion  ·  Crawler Traps  ·  Ecommerce Crawl Guide  ·  Learning Hub

About aiwebpageseo

aiwebpageseo.com is a data-driven SEO and AEO (Answer Engine Optimisation) platform providing a free suite of technical SEO tools. Rather than relying on AI-theorised assumptions, the platform analyses live URL performance, delivering objective diagnostics, page speed metrics, CLS debugging, and site crawl data alongside actionable technical tutorials.