Статья - настройки Cloudflare 8

Статья - настройки Cloudflare 8

44
15.09.2025

Как избавиться от ботов:

  • передаем NS записи домена в сервис Cloudflare

  • добавляем в белый список всех полезных ботов по юзер агенту

  • убираем под капчу всё, что приходит по http протоколу ниже 2 версии, старую версию протокола используют боты, краулеры и прочая нечисть (при этом подсети, выделенные яндексу добавим в белый список)

  • ставим капчу на всё, что приходит через IPv6

UPD. 09.10 Прежде чем перейти к настройкам следует передать NS записи в Cloudflare. Для этого переходим в управление DNS-серверами домена и указываем сервера, выданные Cloudflare, у нас это:

eva.ns.cloudflare.com

everton.ns.cloudflare.com

С этого момента сайт становится недоступен, так как необходимо, чтобы NS записи разошлись по DNS серверам - это обычно занимает от 5 до 24 часов.

После репликации записей сайт или сразу заработает, или браузер выдаст ошибку Too many redirects:

В таком случае в настройках Cloudflare переходим в раздел SSL/TLS:

Заходим в Configure:

И выбираем Full:

Теперь сайт доступен и можно переходить к настройкам защиты от ботов. 

 

Конечные настройки:

  1. Включаем в Cloudflare переадресацию на https

  1. Разрешаем хороших ботов

В первую очередь открываем доступ хорошим ботам. Для этого создаем правило в Custom rules (все правила далее тоже создаются в Custom rules):

Само правило имеет очень много условий:

Поэтому используем Edit expression внизу справа:

Достаточно вставить код правила в поле:

(cf.client.bot) or (http.user_agent contains "+http://yandex.com/bots") or (http.user_agent contains "Google") or (http.user_agent contains "Telegram") or (http.user_agent contains "Twitter") or (http.user_agent contains "WhatsApp") or (http.user_agent contains "msnbot") or (http.user_agent contains "Mail") or (http.user_agent contains "Applebot") or (http.user_agent contains "Screaming Frog") or (http.user_agent contains "WordPress") or (http.user_agent contains "w3.org") or (http.user_agent contains "vkShare") or (http.user_agent contains "bingbot") or (http.user_agent contains "pingdom") or (http.user_agent contains "SemrushBot") or (http.user_agent contains "Pinterestbot") or (http.user_agent contains "Chrome-Lighthouse") or (http.user_agent contains "AhrefsBot") or (http.user_agent contains "bitrix") or (http.user_agent contains "Bitrix") or (http.user_agent contains "bing") or (http.user_agent contains "facebook") or (http.user_agent contains "ChatGPT") or (http.user_agent contains "1C") or (http.user_agent contains "1c") or (http.request.uri.query contains "doing_wp_cron") or (ip.src eq 213.159.210.11) or (ip.geoip.asnum eq 13238) or (ip.geoip.asnum eq 208722) or (http.user_agent contains "SeznamBot")

И выбираем действия:


  1. Далее делаем правило для прямых переходов и http ниже 2 версии (в исключениях зоны ip адресов, выделенные под Яндекс)

Код правила:

(not http.request.version in {"HTTP/2" "HTTP/3" "SPDY/3.1"} and not ip.geoip.asnum in {13238 208722}) or (http.referer eq "" and not ip.geoip.asnum in {13238 208722})

Действия:

  1. Уводим под капчу трафик с ipv6 адресов:

Код правила:

(ip.src in {::/0})

 

Действия:



  1. Последнее правило - капча для всех китайских ip. Это связано с тем, что часто именно с китайских ip приходят боты.

Код правила:

(ip.geoip.country eq "CN")

 

Действия:



Важно!

Порядок правил должен быть как на скрине, в сервисе работает приоритетность правил:

Павел Петров
Автор
Павел Петров
SEO-эксперт