Страницы блокировки

По умолчанию каждый заблокированный посетитель получает один и тот же простой 404 Not Found, и сканер из него ничего не узнает. Живому человеку иногда стоит объяснить, что произошло. На странице блокировки можно показать свой текст, например «Этот магазин доставляет только по ЕС» для гео-блокировки или «Откройте эту страницу из нашей рекламы» для посадочной страницы с доступом только по ссылке.

В каких разделах они есть

У каждого из этих разделов своя настройка страницы блокировки, со своим файлом и статусом.

Раздел Кому показывается
Bot Fight Mode ботам, пробам, отклонённым методам и URL, попавшим на путь-ловушку, совпадениям с публичными списками блокировки и посетителям из общего чёрного списка
Гео-блокировка посетителям, заблокированным по стране, сети, номеру AS или языку браузера
Разрешённые устройства посетителям с платформы, с которой вы сняли отметку
Обязательные параметры ссылки посетителям без ссылки (когда выбрано действие «Показывать страницу»)

Посетители сверх лимита запросов и забаненные посетители всегда получают простой 404. Отвечать на флуд должно быть дёшево, а забаненный сканер страницу всё равно читать не станет. Защита от хотлинка тоже всегда отвечает простым 404.

Настройка

  1. Создайте HTML-страницу и загрузите её в папку сайта, например errors/blocked.html.
  2. В настройках раздела укажите этот путь в поле Показывать файл вместо 404 (для обязательных параметров ссылки: Показывать этот файл).
  3. Выберите статус: 404, 403 или 200. При 404 (по умолчанию) сайт выглядит несуществующим, 403 означает «доступ запрещён», а с 200 страница отдаётся как обычная.
  4. Сохраните.

Путь задаётся относительно папки, из которой отдаются файлы сайта, длиной до 200 символов. В конце должно стоять .html или .htm. В каждой части пути допустимы буквы, цифры, _, - и ., а начинаться с точки часть не может.

Если файла ещё нет, панель предупредит вас, а заблокированные посетители будут получать простой 404, пока вы его не загрузите.

Сделайте страницу самодостаточной

Больше ничего с вашего сайта заблокированный посетитель загрузить не сможет. Запросы к стилям, логотипу или шрифтам блокируются так же, как сама страница, поэтому всё нужное должно быть внутри неё:

  • стили в блоке <style>, а не в подключённом файле .css;
  • картинки в виде встроенного SVG или data: URI либо загружаемые с другого домена;
  • никаких скриптов с вашего собственного сайта.

Минимальный пример:

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Not available</title>
<style>
  body { font-family: system-ui, sans-serif; display: grid; place-items: center; min-height: 100vh; margin: 0; color: #333; }
  main { max-width: 32rem; padding: 1rem; text-align: center; }
</style>
</head>
<body>
<main>
  <h1>Not available in your region</h1>
  <p>This shop delivers only within the European Union.</p>
</main>
</body>
</html>

Кэширование

Страницы блокировки отправляются с Cache-Control: no-store и без ETag. Разрешённые посетители по тому же адресу получают настоящую страницу, и так ни браузер, ни промежуточный кэш (например, Cloudflare) не сохранят страницу блокировки и не покажут её кому-то ещё.