← All posts

Canonical tags don't preserve crawl budget

Most teams treat the Canonicalized status in a crawl report as benign. Google will read the canonical and consolidate, the thinking goes, so there’s nothing to do. On a large catalog, that default is exactly the leak.

Canonicals don’t save crawl budget

Per Google’s own documentation, a canonical tag does not preserve crawl budget. Googlebot must still fetch and render each URL to read the canonical directive in the first place. Every Canonicalized URL is a request paid in full — multiplied across tens of thousands of low-value URLs, that’s your crawl budget gone before Google ever reaches your commercial pages.

Where it bites e-commerce

On stores, the usual culprit is faceted navigation: every filter combination (?color=red&size=l&sort=price) becomes a crawlable URL. Even when each one canonicals back to the clean category, Google still spends a fetch discovering and rendering it.

The fix is upstream of canonicals:

  • Decide which facets are indexable (a few high-demand combinations) and which are crawl-blocked entirely.
  • Use robots.txt / nofollow / parameter rules to stop discovery, not just noindex to stop indexing.
  • Keep canonicals as a safety net — not as your primary crawl-control mechanism.

The result

On one high-authority platform, removing template-level pagination that spawned tens of thousands of Canonicalized URLs moved daily visits from ~80K to ~120K within a single crawl cycle — and GSC clicks scaled 5.47M → 8.38M over the following 90 days.

The lesson transfers directly to e-commerce: stop Google from spending budget on URLs that will never rank.