TL;DR: Crawl budget on a large e-commerce catalog is a cost function whose inputs are catalog size, faceted-navigation surface, server response speed, internal link distribution, and historical URL quality. The vast majority of crawl-budget problems we audit come from the faceted-navigation surface (the combinatorial explosion of filter URLs) absorbing the lion's share of Googlebot's per-day allocation while the canonical product and category pages compete for what is left. The remediation is a structured taxonomy of which URLs deserve to be crawled, which deserve to be blocked, and which deserve to be consolidated, applied through a decision tree that treats URL clean-up, robots.txt, and canonical tags as different tools for different jobs.
A note on the named companies and sources. Google's crawl budget documentation, the published work from OnCrawl, Botify, DeepCrawl/Lumar, and Onely (Bartosz Goralewicz and team), and case studies from large e-commerce operators appear as the available public reference points. Quantitative claims framed as advisory observation come from anonymized partner operators in the 500K to 50M SKU range, not from the named tools or named retailers.
Crawl Budget as a Cost Function
Google's published documentation defines crawl budget through two coordinated concepts: crawl capacity limit (how many parallel connections Googlebot is willing to use against a host without degrading server performance) and crawl demand (how often Google wants to recrawl the site based on freshness signals, link-graph signals, and historical value). The product of the two is the daily crawl allocation. For small sites, the allocation is generously larger than the catalog and crawl budget is not an operating concern. For large e-commerce catalogs (above roughly 100K to 1M URLs, depending on faceted-navigation cardinality), the allocation becomes binding and the question of which URLs get crawled becomes the central operating problem.
The cost function framing makes the trade-off explicit. Every URL Googlebot fetches consumes a unit of the allocation; every URL not fetched is a URL not refreshed in the index. The total daily allocation is fixed (or grows slowly with site quality); the demand is highly variable. The cost function is:
total_fetches_per_day = capacity_limit(server_speed, error_rate) * demand(site_quality, link_graph)
The site has two levers. It can raise the capacity limit by serving faster and erroring less, and it can shape the demand toward the URLs it wants crawled by managing the URL universe. The two levers act independently, and a well-tuned site moves on both.
The Faceted-Navigation Explosion
The single largest contributor to crawl-budget waste on e-commerce sites is the faceted-navigation surface. The basic mechanism: every filterable attribute (color, size, brand, price range, material, gender, in-stock state, sale state) generates a URL when applied, and the combinatorial product across attribute combinations can produce tens of millions of URLs from a catalog of a few hundred thousand products.
A site with twelve filterable attributes, each with five to fifteen values, produces a theoretical URL space of tens of billions of unique combinations. In practice the URL space that is actually emitted (because there are inbound links from the navigation, or because pagination generates parameter URLs, or because internal search exposes filtered URLs) is in the millions, and Googlebot finds them progressively over weeks and months.
Faceted-Navigation Combinatorial Explosion (Illustrative E-Commerce Catalog)
| Filterable attributes | Values per attribute (median) | Theoretical URL space (per category) | Practical URLs emitted (per category) | Practical URLs per 1000-SKU category |
|---|---|---|---|---|
| 3 | 5 | 215 | ~50 | ~50 |
| 6 | 6 | Approximately 100,000 | ~500 | ~500 |
| 9 | 8 | Approximately 130 million | ~5,000 | ~5,000 |
| 12 | 10 | Approximately 60 billion | ~30,000 | ~30,000 |
| 15 | 12 | Beyond practical estimation | ~100,000 | ~100,000 |
The practical-URLs column is the operating reality: even though the theoretical space is astronomical, the actual URLs that get crawled is determined by which combinations are reachable from internal links, sitemaps, and external links. A site with twelve filterable attributes and 1,000 categories can easily emit 30 million faceted URLs that compete for crawl allocation with the few hundred thousand canonical product URLs.
The pattern in advisory partner data is consistent: on a catalog of 500K canonical product URLs with active faceted navigation, the ratio of fetched faceted URLs to fetched product URLs in the daily Googlebot log is often 5:1 or 10:1. The product URLs are competing with five to ten times their number in faceted variants for the same daily allocation, and they lose. The freshness of product data (price, availability, reviews) degrades as a direct consequence.
The diagnostic question for any large e-commerce site is the same: pull the last 30 days of Googlebot log lines, segment by URL pattern, and compute the fetch share. If the canonical product and category pages are not in the top three by fetch share, the faceted surface is winning the budget competition and the canonical pages are being under-fetched.
Log-File Analysis as the Diagnostic Spine
The crawl-budget conversation is impossible without log-file analysis. The Search Console Crawl Stats report is useful as a summary but is too aggregated to drive operating decisions: it shows total fetches per day, response code distribution, and a rough URL-type breakdown, but it does not show the actual URLs being fetched. The server logs do, and the per-URL distribution is what reveals where the budget is going.
The mechanics of log-file analysis for crawl budget are straightforward but require discipline. Pull the server access logs for a meaningful period (28 days minimum; 90 days for stability), filter for verified Googlebot user agents (the reverse-DNS check is mandatory because user-agent spoofing is common), parse the request lines into URL components, and segment by URL pattern.
The patterns that matter for crawl budget:
Log Analysis Segmentation for Crawl Budget Diagnosis
| URL pattern segment | What it reveals | Healthy share of fetches |
|---|---|---|
| Canonical product URLs | Whether the products themselves are getting refreshed | 30 to 50% |
| Canonical category and subcategory URLs | Whether the taxonomy hub pages are getting refreshed | 10 to 20% |
| Faceted filter URLs | Whether the faceted surface is consuming budget | Under 15% ideally; over 30% is a problem |
| Internal search results | Whether the search endpoint is being crawled | Under 1% ideally; non-zero often indicates a robots.txt gap |
| Pagination URLs | Whether deep pagination is consuming budget | Under 10%; lower if pagination strategy is right |
| Sort and view parameters | Whether sort or view URLs are being crawled | Under 2% ideally |
| Editorial and content URLs | Whether blog and guide content is being refreshed | 5 to 15% |
| Static assets and other | Crawls of CSS, JS, images by Googlebot | Varies; usually under 10% |
The diagnostic reading is the deviation from the healthy share. A site where the faceted segment is 60% of fetches and the canonical product segment is 15% is a site whose budget has been hijacked by the facets, and the fix is structural. A site where the canonical segments are healthy but the editorial segment is 0.5% is a site whose blog is being under-crawled and may suffer freshness lag on content URLs.
The 28-day window matters. Daily fluctuations are large and noisy; weekly cycles exist (Googlebot crawl patterns often have a weekday-weekend cadence); deployment events can cause one-day spikes. The 28-day average is stable enough to drive operating decisions, and the 90-day average is more stable still.
The reverse-DNS verification step is worth dwelling on briefly because it is frequently skipped. The Googlebot user-agent string is freely spoofable; non-Google crawlers (competitive intelligence tools, security scanners, bad actors) routinely identify as Googlebot in their User-Agent header. Treating any request claiming the Googlebot user agent as a real Googlebot fetch will overstate the daily allocation by a meaningful margin (5 to 30% in our audits) and will distort the URL-pattern segmentation, because the spoofers often crawl different URL distributions than the real Googlebot. The verification: reverse-resolve the source IP, confirm it ends in .googlebot.com or .google.com, then forward-resolve the resulting hostname back to an IP and confirm it matches the source IP. The two-way check is the documented method, and tooling (DeepCrawl/Lumar, Splunk, custom scripts) supports it routinely.
A complementary check is to segment by Googlebot variant (smartphone versus desktop versus image versus video) in the log analysis. The mobile-first indexing rollout means that the Smartphone Googlebot is the dominant crawler on most sites; the desktop variant has shrunk to a small minority. Sites that find their desktop Googlebot share has not declined typically have a mobile-rendering or canonicalization issue that is keeping the desktop variant active longer than it should be. The variant split is a useful secondary diagnostic.
The URL Cleanup Decision Tree
Once log analysis has identified which URL patterns are consuming budget and which canonical URLs are being under-fetched, the remediation question is what to do with each problematic pattern. The right answer differs by pattern and by site context, and a single tool (robots.txt blocking, canonical consolidation, noindex meta tag, parameter handling, URL removal) does not fit all cases.
The decision tree we have found useful in advisory work segments by intent. For each problematic URL pattern, the question is what role it should play in indexation.
The intent buckets:
- The URL should be in the index and rank, the user-visible URL.
- The URL should be crawlable but consolidated to a canonical equivalent.
- The URL should not be crawled because it has no value.
- The URL should be removed entirely from the universe.
For each bucket, the right tool differs:
URL Remediation Decision Tree by Intent
| Intent bucket | Right tool | Wrong tool (common mistake) | Why it matters |
|---|---|---|---|
| URL should rank and be in the index | Canonical to self; internal links; sitemap inclusion | Putting it in robots.txt or noindexing it | Blocks indexation; site loses the URL |
| URL should be crawlable but consolidated | Canonical tag pointing at preferred URL; internal-link audit to reduce inbound | Disallow in robots.txt | Disallow prevents crawling, which prevents canonical from being seen; consolidation never happens |
| URL should not be crawled at all | Disallow in robots.txt; remove internal links | Noindex meta | Noindex requires the URL to be crawled to be seen, which still consumes budget |
| URL should be removed from the universe | Return 410 Gone or 404 Not Found; remove from sitemap; remove internal links | Redirect everywhere; or leave alone | Redirects pile up; orphan URLs continue consuming budget |
The most common mistake is using canonical tags to manage URLs that should not be crawled at all. The canonical tag is a consolidation tool, not a crawl-suppression tool. Putting it on a faceted URL tells Google to consolidate it with the parent category, but Google still has to crawl it to see the canonical, and it still consumes budget. For high-volume faceted URLs that have no SEO value and should not be crawled, disallow in robots.txt is the right tool because it prevents the fetch entirely.
The second most common mistake is the inverse: disallowing URLs that the site does want consolidated (often pagination parameters or sort parameters). Disallow prevents crawling, which prevents the canonical from being seen, which prevents consolidation. The result is that the URLs remain uncrawled and the canonical relationship is not established; if any of those URLs accumulate links over time, the equity is stranded.
URL remediation decision tree by intent
The decision tree applies per pattern, not per URL. The work of an actual crawl-budget remediation project is to enumerate the URL patterns on the site (color filter, size filter, brand filter, sort parameter, view parameter, search parameter, pagination, etc.), categorize each by intent, and apply the right tool. The mechanical application is tractable; the categorization is the editorial judgment that determines whether the remediation actually works.
When Canonical Beats Robots.txt and When It Does Not
The canonical-versus-robots question deserves its own analysis because it is the most frequently confused decision in operational practice. The right framing: canonical tags are about indexation consolidation among URLs that the search engine should crawl; robots.txt is about crawl suppression among URLs that the search engine should not crawl. Treating them as interchangeable produces predictable failures.
Canonical tags work well when the URLs the canonical points away from carry some link equity that the site wants consolidated, when the URLs are few in number relative to the crawl budget, when the URLs are subject to changes that the site wants Google to be aware of (so crawling makes sense), or when the URLs are pagination, sort, or view parameters where consolidation to the parent makes sense.
Robots.txt disallows work well when the URLs carry no link equity worth consolidating, when the URLs are numerous enough to consume meaningful budget, when the URLs do not change in ways that matter for indexation, or when the URLs are filter combinations or session-state URLs that have no SEO purpose.
The corollary is that for URLs the site wants both uncrawled and unindexed, the right approach is to remove the URL entirely (return 410, remove all internal links) or to allow crawling and use noindex meta, depending on the link-equity context. The robots.txt disallow is the right tool for URLs the site wants uncrawled and is comfortable with the URL possibly being listed without content in the index if external links accumulate.
For pagination, the recommended approach has shifted over the years. Google deprecated rel="prev" and rel="next" in 2019, and the current operating consensus is to treat each paginated page as its own URL with a self-canonical, internal links between adjacent pages, and content that is unique enough per page to justify indexation. The alternative (canonicalizing all paginated pages to page one) collapses the series in the index and is appropriate only when the content does not justify per-page indexation.
Crawl Frequency and Ranking Velocity
One of the more subtle effects of crawl-budget pressure is the relationship between crawl frequency and ranking velocity. The basic mechanism: when a URL changes (price, content, reviews, availability), the change does not affect rankings until Googlebot has recrawled the URL and the indexing pipeline has processed the update. The lag between change and recrawl is a function of crawl frequency, which is a function of the URL's priority within the crawl budget.
For high-priority URLs (the homepage, the top category pages, the most-trafficked product URLs), the recrawl interval is typically hours to a few days, and changes propagate quickly. For low-priority URLs (long-tail product pages, deeper category pages, older editorial content), the recrawl interval can be weeks to months, and changes propagate slowly. On a site under crawl-budget pressure, the long tail can recrawl on a 60 to 90 day cadence, which means a price change on a long-tail product can take three months to register in the index.
The ranking-velocity consequence: sites that compete on freshness (sale prices, new arrivals, dynamic stock levels, refreshed editorial) need their priority URLs in the high-frequency recrawl band. If the faceted surface is hijacking the budget, the priority URLs slip into a lower-frequency band, and the site loses the freshness advantage in the SERP.
The curves are cumulative recrawl percentages. The diagnostic question is how much of the catalog is in the low-priority band, and whether the operating model (sale-dependent, freshness-dependent) tolerates the recrawl latency that band implies. For sites where it does not, the work is to either move URLs out of the low band (improve internal link distribution, reduce faceted-URL competition, lift content quality) or to use IndexNow-style ping endpoints for urgent updates where the protocol is supported by participating crawlers.
Internal Link Distribution as a Demand Shaper
The demand side of the crawl-budget function is shaped by signals Google uses to decide which URLs are worth recrawling often. The largest controllable signal at the operator's disposal is internal link distribution. A URL that is linked from the homepage and three category pages is signaled as important; a URL that is linked only from one deeply-nested faceted page is signaled as marginal. The signal correlates strongly with crawl frequency.
The practical implication for catalog operators is that internal link engineering is a crawl-budget tool, not just a usability or PageRank-distribution tool. The high-leverage interventions cluster around getting priority URLs onto more pages of the site (a hand-curated "popular products" block on category pages, a "trending in this department" block on the homepage, contextual cross-links from editorial content to commercial URLs) and reducing internal links to low-priority URLs (cutting the faceted-navigation links from non-relevant departments, suppressing internal-search-result links).
The mechanism is the demand reshape. The crawl-budget total did not change much (capacity was not the bottleneck on a fast site); what changed was the share of budget that landed on URLs the site wanted indexed. The faceted disallow freed the budget; the internal-link work directed it.
A practical note on the internal-link engineering: the work is at its most powerful when it operates at the template level, not at the per-page level. A category-page template that emits a curated "popular products" block, populated from a service that ranks products by recent traffic, recent conversion, or recent inventory turn, is a template-level lever that shifts inbound link distribution across the entire category surface. A homepage that surfaces ten high-priority products and rotates them weekly accomplishes the same effect at the top of the link graph. The temptation to engineer the link distribution by hand-curating each link is rarely worth the effort on a catalog with thousands of categories; the template-level approach is what scales.
The corollary discipline is to monitor the actual emitted internal-link distribution over time. An internal-link strategy that was correctly designed will degrade if the underlying ranking service drifts (the popular-products algorithm picks the same products month after month, the trending block stops trending), and the link distribution flattens back toward the average. A monthly diff of the in-link distribution per URL (Screaming Frog or equivalent) catches the drift before it produces a crawl-frequency regression.
Server Speed and the Capacity Lever
The capacity side of the equation is the other lever. Googlebot's documented behavior is to back off when the server is slow or returning errors, and to lean in when the server is fast and stable. The threshold below which the back-off triggers is not published precisely, but the operating signal is clear: response times consistently under 200ms with error rates under 1% sit at the upper end of crawl-rate willingness; response times above 1 second or error rates above 5% trigger reductions.
The Search Console Crawl Stats report is the right surface for the capacity work. The "Crawl response time" metric tracked over weeks shows whether Googlebot is hitting the server fast or slow; the "Host status" tracks DNS, connectivity, and robots.txt fetch issues; the response-code distribution shows the error rate Googlebot is seeing. A capacity-aware remediation focuses on these metrics first, gets them into the healthy range, and only then turns to the demand-side URL work.
The two levers interact. Improving server speed lifts the capacity ceiling; pruning the URL universe redirects the now-larger allocation toward valuable URLs. Working only one lever produces a smaller effect than working both, and the order matters because the capacity work makes the demand work more rewarding.
A specific capacity-side trap worth naming is the CDN configuration that varies cache behavior based on user agent. Many CDN setups inadvertently bypass the edge cache for traffic identifying as Googlebot, on the assumption that the bot should always see the freshest version. The result is that Googlebot is served by the origin server while every other visitor is served from the edge, and the response-time distribution Googlebot experiences is materially slower than the user-facing response time. The Search Console Crawl Stats response time then sits 500ms to several seconds above the field response time that real users see, and the crawl capacity ceiling is correspondingly lower. The remediation is to allow Googlebot to be served from the edge cache like any other user agent, with appropriate cache invalidation when content changes. The change is mechanical and frequently lifts the daily fetch ceiling by 20 to 50% on its own.
Crawl budget is a cost function with two levers. Capacity is what the server allows; demand is what the site asks for. The discipline is to work both.
A Note on Indexation Versus Crawling
One conceptual confusion that surfaces repeatedly is the conflation of crawling and indexing. They are sequential stages of the same pipeline but they have different inputs, different outputs, and different operating constraints. A URL must be crawled to be indexed (with rare exceptions where Google indexes a URL with no content because external links exist and robots.txt blocks the crawl), but a URL that is crawled is not necessarily indexed.
The Search Console Indexation Coverage report exposes the gap. URLs in "Crawled, not currently indexed" are URLs Googlebot has fetched but the indexing system has elected not to include in the index, typically because the content is judged insufficient against the indexing threshold. URLs in "Discovered, not currently indexed" have been seen in sitemaps or internal links but not yet fetched, typically because the crawl-budget allocation has not reached them.
The two diagnostic buckets imply different remediations. The "Discovered" bucket is a crawl-budget problem and responds to the URL clean-up and internal-link work described above. The "Crawled" bucket is a content-quality problem and responds to content-level interventions: removing thin or duplicate templates, consolidating near-duplicates into stronger canonical URLs, increasing unique content per template. Treating either as the other produces remediation effort that does not move the diagnostic.
The combined operating posture is to read both buckets weekly, attribute each to its right cause, and prioritize the remediation against the larger bucket. On most catalogs in advisory work, the "Discovered" bucket dominates and the crawl-budget work is the primary lever. On catalogs where content quality is the binding constraint, the "Crawled" bucket dominates and the work is more editorial than technical.
A third bucket worth tracking is "Duplicate, Google chose different canonical." This bucket flags URLs the site has declared canonical (via sitemap or self-referencing canonical tag) but Google has elected to canonicalize to a different URL anyway. The pattern is most common when faceted URLs are templated similarly to category URLs and Google picks the URL with the simplest pattern as the canonical, ignoring the site's declaration. The remediation is to differentiate the templates more clearly (more unique content per facet, more unique meta tags, more distinct internal-link patterns) or to consolidate the templates by collapsing the facet into the parent category. Either way, the bucket is a signal the canonicalization strategy is not landing as designed and needs editorial attention rather than technical retries.
A Note on Pagination Strategy
Pagination on large e-commerce catalogs deserves a brief separate treatment because the operating choices have shifted meaningfully over the past five years and the published advice is uneven. The historical recommendation (rel="prev" and rel="next" annotations to link paginated pages into a series) was deprecated by Google in 2019. The current consensus, supported by John Mueller's public statements, is to treat each paginated page as its own URL with a self-canonical, internal links between adjacent pages, and content unique enough to justify independent indexation.
The operating choices, in roughly the order they appear on real catalogs:
-
Indexable paginated series with self-canonicals. Each page in the series is a separate URL with its own canonical pointing at itself. Internal links connect adjacent pages and the parent category. Sitemap may include the series or just the first page. This is the right default for most paginated category pages on e-commerce sites because the content (the SKU list) is different on each page and each page has independent commercial intent for users arriving via deep links.
-
View-all consolidation. Replace the paginated series with a single "view all" URL that lists the full set, and canonicalize the paginated URLs to the view-all URL. This works when the catalog is small enough that a view-all page is performant and crawlable, and when the SEO value of the deep paginated URLs is low. It does not scale to catalogs of thousands per category because the view-all page becomes slow.
-
Page-one consolidation. Canonicalize the paginated URLs to page one of the series. The intent is that page one is the canonical and the deeper pages are not independently indexed. This is appropriate only when the deeper pages are genuinely duplicate, which is rare on a real e-commerce catalog.
-
Disallow in robots.txt. Block crawling of the paginated URLs entirely. This is the right choice only when the paginated URLs have no SEO value and the inbound links to them are negligible. On most large catalogs, the paginated URLs do accumulate inbound links over time, and disallowing them strands the equity.
The diagnostic question for any large catalog is which strategy is in place and whether it matches the catalog characteristics. A common discovery in advisory work is a hybrid strategy that has accumulated over years: page-one consolidation on some categories, indexable series on others, robots.txt disallow on still others, with no documentation of why. The remediation is to pick one strategy per template, document it, and apply it consistently.
The interaction with crawl budget is direct. Indexable paginated series consume crawl budget per page; view-all consolidation collapses the consumption to one URL per category; page-one consolidation collapses it formally but still consumes budget for the canonicalization signals to be seen; robots.txt disallow collapses it to zero but at the cost of any equity stranded on deep pages. The choice has a budget implication on top of the indexation implication, and the right answer depends on which is the binding constraint.
Key Takeaways
- Crawl budget is a cost function with capacity and demand levers. Capacity is server speed and reliability; demand is the URL universe and the link-graph signals Google uses to decide what to refresh.
- On large e-commerce catalogs, the faceted-navigation surface is almost always the dominant consumer of crawl budget. A diagnostic log analysis that segments fetches by URL pattern reveals the budget share at risk.
- The URL remediation decision tree has four intent buckets and four tools. Using the wrong tool for the wrong bucket is the most common operational error: canonical tags do not suppress crawling, robots.txt does not consolidate equity, and noindex requires a crawl to take effect.
- Crawl frequency drives ranking velocity. Sites under budget pressure see freshness lag on long-tail URLs that can stretch to 60 to 90 days, with material consequences for sites that compete on price, availability, or content freshness.
- Internal link distribution is the most controllable demand-side lever. Engineering the internal link graph to surface priority URLs and demote low-value URLs reshapes the daily fetch distribution without changing the total allocation.
- Capacity and demand work together. Improving server speed lifts the ceiling; pruning the URL universe redirects the larger allocation. Working only one is the slow path; working both is the faster one.
Citations and Further Reading
- Google Search Central, "Large site owner's guide to managing your crawl budget," the canonical operator-facing summary of the crawl-budget mechanics referenced throughout.
- Google Search Central, "robots.txt introduction" and "Block search indexing with noindex," for the documented behavior of the two suppression tools.
- Google Search Central, "Consolidate duplicate URLs," for the canonical-tag mechanics and the consolidation pipeline.
- Onely (Bartosz Goralewicz and team), published whitepapers on crawl-budget and rendering, multiple sources 2018 to 2024.
- OnCrawl and Botify, published case studies on large-catalog crawl-budget remediation, useful for cross-referencing the URL-pattern segmentation methodology.
- DeepCrawl/Lumar, published documentation on log-file analysis methodology and segmentation, the operational reference for the diagnostic patterns described.
- The IndexNow protocol documentation (Microsoft, Yandex) for the ping-endpoint mechanic referenced in the freshness section.
- John Mueller and Gary Illyes, public statements on the Search Off the Record podcast and Twitter/X regarding crawl-budget interpretation, response-time thresholds, and the rel="prev" and rel="next" deprecation.
- Eric Enge and Stephan Spencer, "The Art of SEO" (multiple editions), for the broader technical-SEO context on internal-link engineering and faceted-navigation patterns.
- "Crawl Budget" entry in Aleyda Solis's published SEO resource compilations.
- Web Almanac annual reports (HTTP Archive) for cross-site benchmarks on response time, error rate, and crawl patterns on large sites.
- The Google Search Central Blog historical posts on crawl-budget definition (2017 to 2024), the canonical published source for the capacity-and-demand framework.
Concepts defined
Read Next
- SEO
Schema Markup ROI: Which Types Actually Move Rankings
A field-evidence audit of which schema.org types reliably move rankings or SERP feature acquisition, and which are tag-soup with no measurable impact.
- SEO
Backlink Quality Scoring Beyond DR and UR
A multi-dimensional framework for scoring backlinks beyond Ahrefs DR and Moz DA, drawing on the graph-theoretic literature, Google spam policy, and operating case studies.
- SEO
Featured Snippet Acquisition: Reverse-Engineering the SERP Feature Market
How to win featured snippets, People Also Ask, knowledge panels, and video carousels, and the click-through cost of snippet ownership that the zero-click question understates.
The Conversation
Be the first to weigh in
Join the conversation
Disagree, share a counter-example from your own work, or point at research that changes the picture. Comments are moderated, no account required.