Czy jest możliwe, aby Chrome i inne przeglądarki nie pobierały / nie renderowały mojej witryny?

14

Wiem, że możesz poprowadzić Chrome do wstępnego pobrania linków, które Twoim zdaniem użytkownicy prawdopodobnie klikną Twoją witrynę , ale czy możesz też zrobić odwrotnie? Czy możesz powiedzieć Chromeowi (lub jakiejkolwiek przeglądarce), aby nie pobierał i nie renderował Twojej witryny?

Czy istnieje tag lub inny sposób, w jaki mogę powiedzieć przeglądarkom, że nie powinno się pobierać linków z aktualnie oglądanej strony?

Ian C.
źródło
1
Ciekawe, dlaczego tego chcesz?
Martijn
@Martijn Jednym z przypadków, które widzę, jest sytuacja, gdy Twoja witryna zawiera treści zależne od czasu lub wysoce dynamiczne, w których opóźnienie między renderowaniem strony a momentem, w którym użytkownik widzi to ma znaczenie.
Anders Fjeldstad

Odpowiedzi:

12

Chrome i Safari wysyłają X-Purpose: previewnagłówek HTTP podczas wstępnego pobierania / renderowania treści internetowych. [ Źródło ]

Firefox wysyła podobny nagłówek o nazwie X-moz: prefetch. [ Źródło ]

Aby zablokować pobieranie wstępne, możesz zwrócić odpowiedź 404 po wykryciu takich nagłówków, jak zasugerował Peter Freitag w tym poście na blogu . Zaleca dodanie tych wierszy, .htaccessaby zablokować pobieranie z Firefoksa:

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

Możesz to rozszerzyć, aby zablokować wstępne pobieranie Firefoksa, Safari i Chrome w ten sposób (niesprawdzone, ale powinno działać):

RewriteEngine On
SetEnvIf X-moz prefetch HAS_preview 
SetEnvIf X-Purpose preview HAS_preview
RewriteCond %{ENV:HAS_preview} .
RewriteRule .* /prefetch-attempt [L]
Nacięcie
źródło
1

Powyższa odpowiedź nie działała dla mnie. Jednak zadziałało to:

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]

Od: askapache.com

Flaga [F] zwraca kod stanu 403 Forbidden do przeglądarki, a [L] wskazuje, że reguła powinna być ostatnią regułą przetwarzaną.

Poza tym chrome nie wydaje się już pobierać linków (przynajmniej w przypadku meta tagów prev / next).

Gabe Hiemstra
źródło