How to recognize it

User agent, as it reaches our logs:

Chrome Privacy Preserving Prefetch Proxy

It asks for one path only, /.well-known/traffic-advice. The prefetches themselves look like normal Chrome page requests with the header Sec-Purpose: Prefetch; anonymous-client-ip, coming from the proxy instead of the user.

  • robots.txt token: none; the control is the traffic-advice file.
  • IP list: none published. Our requests came from Google’s own network (AS15169).
  • Reverse DNS: none published.

What it does

When a user is on Google Search, Chrome can prefetch the result pages they are likely to open. It does that through a private proxy, so your server does not see the user’s IP address before they click. Chrome says this speeds up navigations from Google Search by about 30% at the median. Before prefetching from a site, the proxy reads that site’s /.well-known/traffic-advice file, which can limit or turn off prefetching.

What you gain by allowing it

  • Pages from Google Search open faster for Chrome users, because the main document is already loaded when they click.

What you lose

By allowing it

  • Some extra requests for pages nobody ends up opening. Chrome puts it at under 2% extra requests for main documents.
  • Those prefetches come from the proxy, so they look like visits but are not, and analytics that count server requests overcount slightly.

By blocking it

  • The speed-up from Google Search. To turn it off, serve a traffic-advice file with "user_agent": "prefetch-proxy" and "disallow": true, or a "fraction" between 0 and 1 to let only part of it through.

How to verify it

No verification path is published. The requests on our sites came from Google’s network and asked only for the traffic-advice path, which is the expected behaviour. Cloudflare does not flag it as a verified bot.

Gotchas and history

  • A 404 on /.well-known/traffic-advice means “no advice”, and Chrome prefetches as normal. You only need the file to turn prefetching down or off.
  • The file must be served as application/trafficadvice+json. The proxy caches it under normal HTTP caching rules, so a change does not take effect at once.
  • For a short spike, you can answer prefetch requests with a 503 and Cache-Control: no-store instead of turning the feature off.

What we observed

Data: Cloudflare Logpush for two of our sites, 19-26 October 2026 (8 days).

  • 282 requests on both sites, on all 8 days, from Google’s network. Every one asked for /.well-known/traffic-advice and got a 404, because neither site serves the file.

About Google

  • Common crawlers (Googlebot and its Image and Video variants, GoogleOther, Storebot-Google and others) crawl automatically for Google products and always obey robots.txt. Reverse DNS: crawl-*.googlebot.com or geo-crawl-*.geo.googlebot.com.
  • Special-case crawlers (AdsBot, Mediapartners and others) work for products where the site has an agreement with Google. AdsBot, for example, ignores the * group in robots.txt with the advertiser’s permission. Reverse DNS: rate-limited-proxy-*.google.com.
  • User-triggered fetchers fetch a page because a user asked a Google tool or product to. Reverse DNS: *.gae.googleusercontent.com or google-proxy-*.google.com.
  • Google-Extended is a robots.txt token, not a crawler. It decides whether content fetched by the crawlers above may train Gemini models and ground Gemini Apps and Vertex AI. It does not affect inclusion or ranking in Google Search.

Each group has its own reverse DNS pattern and IP list. A verifier that accepts every Google domain for every Google user agent lets Google Cloud VMs through (see the Googlebot card).

Sources