Mobile app version of vmapp.org
Login or Join
Deb1703797

: Is it possible to stop Chrome and other browsers from pre-fetching/rendering my site? I know you can guide Chrome to prefetch links you think users are likely to click on your site, but can

@Deb1703797

Posted in: #Browsers #MetaTags #WebDevelopment

I know you can guide Chrome to prefetch links you think users are likely to click on your site, but can you also do the inverse? Can you tell Chrome (or really any browser) not to prefetch and prerender your site?

Is there a tag or other way I can tell browsers that pre-fetching links from the currently viewed page shouldn't be done?

10.03% popularity Vote Up Vote Down


Login to follow query

More posts by @Deb1703797

3 Comments

Sorted by latest first Latest Oldest Best

 

@Voss4911412

Above answer did not work for me. What did work, however, was this:

RewriteEngine On
SetEnvIfNoCase X-Forwarded-For .+ proxy=yes
SetEnvIfNoCase X-moz prefetch no_access=yes

# block pre-fetch requests with X-moz headers
RewriteCond %{ENV:no_access} yes
RewriteRule .* - [F,L]


From: askapache.com

The [F] flag returns a 403 Forbidden status code to the browser, while the [L] indicates that rule should be the last rule to be processed.

Also, chrome does not seem to prefetch links any longer (at least, for the prev/next meta tags).

10% popularity Vote Up Vote Down


 

@Megan663

Google Chrome does not send any special headers to prerender requests anymore. See:

code.google.com/p/chromium/issues/detail?id=86175 https://github.com/nickhsharp/prefetchNightmare

10% popularity Vote Up Vote Down


 

@Jessie594

Chrome and Safari send an X-Purpose: preview HTTP header when pre-fetching/rendering web content. [Source]

Firefox sends a similar header called X-moz: prefetch. [Source]

To block pre-fetching, you could return a 404 response when such headers are detected, as suggested by Peter Freitag in this blog post. He recommends adding these lines to .htaccess to block Firefox prefetching:

RewriteEngine On
SetEnvIf X-moz prefetch HAS_X-moz
RewriteCond %{ENV:HAS_X-moz} prefetch
RewriteRule .* /prefetch-attempt [L]


You can extend this to block Firefox, Safari, and Chrome prefetching like this (untested, but should work):

RewriteEngine On
SetEnvIf X-moz prefetch HAS_preview
SetEnvIf X-Purpose preview HAS_preview
RewriteCond %{ENV:HAS_preview} .
RewriteRule .* /prefetch-attempt [L]

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme