Содержание
Клоака это не файл и не скрипт, а решение: кому white, кому offer. Файл или скрипт лишь способ доставить это решение на ваш сайт. От способа зависит три вещи: где именно принимается решение, что робот проверки увидит в исходном коде страницы и как связка переживёт кэш и особенности хостинга. Ниже пять вариантов, которыми подключают KLO, и один, которым подключают «клоаку своими руками».
Сводная таблица
| Способ | Где принимается решение | Что видит робот в исходнике | Кому подходит | Тариф KLO |
|---|---|---|---|---|
| PHP-лоадер | На сервере до отдачи HTML | Только HTML белой страницы | Обычные лендинги на хостинге с PHP | START |
| Обратная PHP-интеграция | На сервере, со стороны страницы оффера | White, если зашёл напрямую на оффер | Защита прелендинга и оффера от прямых заходов | START |
| SDK | В приложении на Node.js или в фреймворке | Только отрендеренная белая страница | React, Vue, Next.js, Nuxt, Remix, SvelteKit, Fastify | START |
| JS-фильтр | В браузере посетителя после загрузки HTML | HTML white плюс сам скрипт фильтра | Сайты без доступа к PHP: конструкторы, чужой хостинг | PROFIT |
| Модуль Keitaro, плагин WordPress | Внутри трекера или CMS | Только HTML белой страницы | Те, у кого трафик уже идёт через Keitaro или сайт на WordPress | PROFIT |
| Cloudflare Worker | На границе сети до хостинга | Только HTML белой страницы, на хостинге файлов нет | Любой стек, максимум скрытности | DOMINATION |
| .htaccess и свои списки | На сервере по статическим спискам | Только HTML white, но списки устаревают | Белые вертикали, тест идеи | Бесплатно |
PHP-лоадер: стандарт для лендингов
В кабинете KLO вы скачиваете файл лоадера, в него уже вшит ваш секретный ключ. Файл кладётся рядом с лендингом, а входной адрес ведёт на него. При запросе лоадер собирает IP, User-Agent, заголовки и параметры, отправляет их в KLO и за десятки миллисекунд получает решение. Дальше он либо отдаёт файл белой страницы, либо подключает оффер или прелендинг. Адрес в браузере не меняется, редиректа нет.
Что важно: решение принимается до того, как сервер отправил первый байт HTML. Робот получает готовую white и в исходнике не видит ни оффера, ни признаков фильтра. Это же делает PHP-лоадер устойчивым к проверке «покажите исходный код страницы», которую любят делать вручную.
Слабое место одно: нужен хостинг с PHP и доступ к файлам. На конструкторах сайтов и на чужих площадках лоадер не поставить.
Обратная PHP-интеграция: защита оффера с другой стороны
В кабинете KLO рядом с прямой интеграцией есть обратная, тем же файлом index.php. Логика зеркальная: файл ставится со стороны страницы, которую нужно защитить, прелендинга или оффера. Если на неё заходят напрямую, минуя входной адрес кампании, без метки клика и с признаками проверки, файл отдаёт white. Так закрывается частый сценарий: адрес оффера утёк через спай-сервис или через общий доступ в кабинете, и его начали открывать напрямую.
SDK для приложений на JavaScript
Если сайт написан на React, Vue, Next.js, Nuxt, Remix, SvelteKit или работает на Node.js с Fastify, файла index.php у вас нет. Для таких проектов KLO даёт пакет @boostclicks/klo с готовыми адаптерами. Он ставится через npm, а решение запрашивается на стороне сервера при рендеринге: адаптер уже учитывает IP посетителя, метки и выбранный способ доставки оффера. Робот, как и в случае с лоадером, получает только отрендеренную white.

Про фреймворки с клиентским рендерингом. Если приложение целиком рендерится в браузере, решение должно приниматься на сервере, который отдаёт первый HTML, иначе логика уезжает в клиентский код. SDK для Next.js и Nuxt работает именно на серверной стороне.
JS-фильтр: когда PHP недоступен
JS-фильтр это скрипт, который добавляется на страницу и работает уже в браузере посетителя: собирает признаки, включая исполнение JavaScript, размеры экрана, cookies и поведение, запрашивает решение и по нему подгружает оффер. Его плюс в том, что он ставится куда угодно, даже на конструктор без доступа к серверу, и добавляет поведенческие признаки, которых нет у серверного решения.

Минусы принципиальные. Робот получает HTML, в котором виден сам скрипт фильтра. Решение принимается после загрузки страницы, а не до. Робот без исполнения JavaScript просто увидит white, что хорошо, но robot с исполнением JavaScript увидит и работу скрипта. Поэтому JS-фильтр правильно использовать как второй слой поверх серверного решения или как единственный вариант там, где сервера нет. Под VK Рекламу JS-вариант с редиректом на другой домен не подходит: правила VK прямо называют переадресацию признаком подмены.
Модуль Keitaro и плагин WordPress
Оба варианта встраивают решение туда, где трафик уже обрабатывается: в поток трекера или в WordPress до отдачи темы. Для робота они неотличимы от PHP-лоадера: в исходнике только white. Подробно разобрано в отдельных статьях: клоака и Keitaro, клоака для WordPress.
Cloudflare Worker: решение до хостинга
Worker выполняется на серверах Cloudflare до того, как запрос дошёл до вашего сервера. Он запрашивает решение у KLO и отдаёт white или offer под тем же адресом, а на хостинге нет ни лоадера, ни модулей, ни кода клоаки. Подходит к любому стеку и особенно удобен, когда доменов много: один Worker и маршруты на каждый домен. Детали, лимиты Cloudflare и настройка кэша в статье о Worker.
.htaccess и клоака своими руками
Самый старый способ: списки IP и User-Agent в .htaccess или в PHP-условии на лендинге. Запрос от известного робота получает white, остальные оффер. Бесплатно и полностью под контролем. Но у такого решения три системных проблемы, и они не лечатся усердием.
- Списки устаревают. Google публикует диапазоны IP роботов датированными файлами и меняет их. Meta, ByteDance, Яндекс расширяют сети. Список, собранный полгода назад, пропускает часть проверок.
- Нет признаков кроме IP и UA. Проверка без подписи с обычного браузера из облака проходит любой статический список.
- Нет статистики. Вы не узнаете, кто прошёл на оффер и почему, пока не прилетит бан.
Для белых вертикалей, где цена ошибки это отклонённое объявление, .htaccess допустим. Для серых, где цена ошибки это аккаунт с историей, дешевле подписка. Расчёт в статье о ценах на клоаку.
Как выбрать
- Есть хостинг с PHP и обычный лендинг: PHP-лоадер.
- Сайт на React, Vue, Next.js или Node.js: SDK.
- Трафик уже идёт через Keitaro: модуль Keitaro, при необходимости плюс Worker на домене white.
- Сайт на WordPress: плагин, с отключённым кэшем страниц на входных адресах.
- Конструктор или чужой хостинг без PHP: JS-фильтр, понимая его ограничения.
- Нужно, чтобы на сервере не было следов фильтра, или доменов много: Cloudflare Worker.
Частые вопросы
Что такое JS-клоака
Фильтр, который работает в браузере посетителя после загрузки страницы: собирает признаки и подгружает оффер по решению сервиса. Ставится на любой сайт, но робот с исполнением JavaScript видит сам скрипт, поэтому JS-фильтр лучше использовать как второй слой поверх серверного.
Чем PHP-лоадер лучше JS-фильтра
Решение принимается до отдачи HTML, и робот получает только белую страницу без следов фильтра в исходнике. JS-фильтр принимает решение после загрузки и виден в коде.
Можно ли сделать клоаку через .htaccess
Можно, по спискам IP и User-Agent. Но списки устаревают, признаков кроме IP и UA нет, статистики нет. Для серых вертикалей такой вариант дороже подписки из-за банов.
Что такое обратная PHP-интеграция
Тот же файл index.php, установленный со стороны страницы оффера или прелендинга: прямой заход на неё без метки и с признаками проверки получает white.
Какой способ входит в пробный период KLO
Пробный период даёт функционал START: PHP-лоадер, обратная PHP-интеграция и SDK. JS-фильтр, Keitaro и WordPress входят в PROFIT, Cloudflare Worker в DOMINATION.
Проверьте связку на своём трафике
KLO отсеивает ботов, модераторов и фрод до показа оффера. Пробный период 3 дня с полным функционалом тарифа START, карта не нужна.
Начать бесплатно