Страницы блокировки
По умолчанию каждый заблокированный посетитель получает один и тот же простой 404 Not Found, и сканер из него ничего не узнает. Живому человеку иногда стоит объяснить, что произошло. На странице блокировки можно показать свой текст, например «Этот магазин доставляет только по ЕС» для гео-блокировки или «Откройте эту страницу из нашей рекламы» для посадочной страницы с доступом только по ссылке.
В каких разделах они есть
У каждого из этих разделов своя настройка страницы блокировки, со своим файлом и статусом.
| Раздел | Кому показывается |
|---|---|
| Bot Fight Mode | ботам, пробам, отклонённым методам и URL, попавшим на путь-ловушку, совпадениям с публичными списками блокировки и посетителям из общего чёрного списка |
| Гео-блокировка | посетителям, заблокированным по стране, сети, номеру AS или языку браузера |
| Разрешённые устройства | посетителям с платформы, с которой вы сняли отметку |
| Обязательные параметры ссылки | посетителям без ссылки (когда выбрано действие «Показывать страницу») |
Посетители сверх лимита запросов и забаненные посетители всегда получают простой 404. Отвечать на флуд должно быть дёшево, а забаненный сканер страницу всё равно читать не станет. Защита от хотлинка тоже всегда отвечает простым 404.
Настройка
- Создайте HTML-страницу и загрузите её в папку сайта, например
errors/blocked.html. - В настройках раздела укажите этот путь в поле Показывать файл вместо 404 (для обязательных параметров ссылки: Показывать этот файл).
- Выберите статус: 404, 403 или 200. При 404 (по умолчанию) сайт выглядит несуществующим, 403 означает «доступ запрещён», а с 200 страница отдаётся как обычная.
- Сохраните.
Путь задаётся относительно папки, из которой отдаются файлы сайта, длиной до 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) не сохранят страницу блокировки и не покажут её кому-то ещё.