
Crawler Shield для OpenCart — защита каталога от ИИ-краулеров, meta-externalagent и парсеров фильтров
Модуль для OpenCart 4, 3 и 2.3, который не даёт ботам перебирать все комбинации фильтров и сортировок каталога и нагружать базу. Боты распознаются по User-Agent и делятся на семейства — поисковики, превью рекламы Meta, ИИ-краулеры, SEO-сервисы, парсеры; для каждого отдельное правило для страниц фильтров и для остального магазина. Отказ — ещё до первого запроса к каталогу. noindex для фильтров, отчёт по ботам, проверка запроса. Базовая версия бесплатна; Pro — лимиты в минуту, лимит на IP против парсеров с браузерным User-Agent, списки IP, проверка подлинности Googlebot, кеш для ботов, правила nginx/Apache, llms.txt.
- Совместимость
- OpenCart 4.0.2+ / 4.1 · 3.0.x · 2.3.0.2 · PHP 7.0+ (2.3), 8.x · mysqli и pdo · без правок ядра и без OCMOD
- Версия
-
v1.0.0 (OpenCart 4)
v1.0.0 (OpenCart 3.x)
v1.0.0 (OpenCart 2.3) - Лицензия
- один сайт, навсегда
- Триал
- 7 дней, без карты, один на сайт
- Обновлено
- сентябрь 2026
Что есть во Free,
а что даёт Pro
Бесплатная версия работает без ограничения по времени. Pro добавляет остальные функции из таблицы.
Как это выглядит
Главное о модуле
Как это выглядит для покупателя
Никак.
Что получает админ
Настройки — Расширения → Расширения → Модули → Crawler Shield, четыре вкладки: «Правила», «Отчёт по ботам», «Проверка и файлы», «Лицензия».
Pro: лимиты, IP и боты, которые притворяются
Правило «Ограничивать» даёт семейству лимит запросов в минуту (по умолчанию 20 на страницах фильтров и 120 на других) — дальше 429 с Retry-After.

Триал стартует, когда вы попросите
Свежая установка — бесплатная версия, ничего не включается само. Кнопка «Попробовать Pro 7 дней» → e-mail → ключ сразу в окне и письмом.

Один ключ — один сайт
Переносите магазин — отвяжите лицензию на старом домене и активируйте на новом сами. Если наш сервер недоступен, Pro работает ещё 14 дней. Для студий — ключи на 5, 25 сайтов или без ограничений.
Технические требования
OpenCart 4.0.2+ и 4.1 (проверено 4.0.2.3 и 4.1.0.3), 3.0.x (проверено 3.0.5.0), 2.3.0.2. OpenCart 4.0.0/4.0.1 не проверялись.
PHP 7.0+ для 2.3 (проверено 7.0.33), 8.x для 3.0 и 4.x (проверено 8.3). Драйверы базы mysqli и pdo.
Без правок ядра и без OCMOD: одно событие, четыре собственные таблицы.
Сервер. nginx и Apache (со стандартным .htaccess OpenCart), nginx перед Apache. За Cloudflare или прокси — выберите заголовок IP в «Общее».
Кеш для ботов (Pro) требует записи в system/storage/cache.
Мультимагазин и магазин в подпапке не проверялись.
История версий
Первый публичный релиз для OpenCart 4.x, 3.x и 2.3.
Вместе с Crawler Shield для OpenCart покупают
4 модуля одним заказом — на 40% дешевле, чем по отдельности


Nova Poshta Premium — модуль Новая Почта для OpenCart 2.3, 3.x и 4.x

LiqPay — оплата картой для OpenCart 2.3, 3.x и 4.x

Telegram-уведомления и Viber/SMS покупателям для OpenCart
Полное описание модуля
Crawler Shield для OpenCart — модуль, который не даёт ботам класть магазин на страницах фильтров. Каждая комбинация фильтра, сортировки, количества на странице и номера страницы — отдельный адрес, и каждый — тяжёлый запрос к базе. Человек открывает несколько. ИИ-краулеры (meta-externalagent, GPTBot, ClaudeBot, Bytespider), SEO-сервисы и парсеры цен перебирают все подряд — и магазин на обычном хостинге упирается в процессор и базу.
Модуль распознаёт бота по User-Agent и отказывает ещё до первого запроса к каталогу: в нашем тесте отклонённая страница фильтра делала 0 запросов к товарам, а та же страница для покупателя — 43–45. Поисковики и превью вашей рекламы проходят, покупатели ничего не замечают. Есть и версия для WooCommerce.
Как это выглядит для покупателя
Никак. В тесте на всех четырёх версиях покупатель в настоящем браузере прошёл категорию, фильтр, сортировку, ещё шесть страниц фильтров, товар, корзину и гостевое оформление — без единого отказа и без ошибок JavaScript, заказ записался с правильной суммой. Оформление, кабинет, колбэки оплат, фиды и крон модуль не трогает никогда, а POST-запросы не проверяет вообще.
Единственный лимит, который может коснуться человека, — лимит страниц фильтров с одного IP в Pro (по умолчанию 60 в минуту). Если много покупателей делят один адрес (мобильный оператор, офис), поднимите его или добавьте адрес в «Никогда не трогать эти IP / сети».
Что получает магазин
- Каталог, который не ложится от ботов. 300 запросов meta-externalagent к страницам фильтров (10 параллельно) модуль отклонял с медианой 12–25 мс, тогда как страница фильтра для покупателя строилась 80–137 мс.
- Правила для каждого семейства. По умолчанию: поисковики — пропускать; превью рекламы Meta — пропускать; ИИ-краулеры, SEO-сервисы и парсеры — отказывать на страницах фильтров, остальные страницы — пропускать (в Pro — ограничивать); ИИ-ассистенты по запросу человека (ChatGPT-User и другие) — отказывать только на фильтрах, товары открыты.
- Меньше мусора в индексе. X-Robots-Tag: noindex, follow на страницах фильтров, сортировки и поиска — категории и товары остаются открытыми.
- Реклама Meta работает. facebookexternalhit по умолчанию пропускается, в Pro — только ограничивается на страницах фильтров.
Что получает админ
Настройки — Расширения → Расширения → Модули → Crawler Shield, четыре вкладки: «Правила», «Отчёт по ботам», «Проверка и файлы», «Лицензия». На «Правилах» — режим, noindex, откуда брать IP посетителя и таблица семейств ботов с двумя правилами: для страниц фильтров и для других страниц. Не уверены — выберите «Только наблюдать» на день-два и посмотрите отчёт.
noindex для страниц фильтров включён по умолчанию. Если вы сознательно продвигаете страницы фильтров с параметрами в адресе, снимите галочку «Просить поисковики не индексировать страницы фильтров» в блоке «Общее». Ниже — параметры фильтра в адресе (их можно дополнить), маршруты, где считается каждая страница (поиск), номер страницы, с которого список для ботов уже считается фильтром, и маршруты, которые модуль не трогает никогда.
«Проверка и файлы» показывает, что модуль сделает с любым посетителем: выберите User-Agent из примеров или вставьте свой, добавьте адрес страницы — и увидите решение, семейство, маршрут и причину. Там же — строки для robots.txt, которые стоит добавить для честных ботов.
«Отчёт по ботам» показывает запросы по семействам, дням и отдельным ботам: сколько всего, сколько из них на фильтры, сколько пропущено, отдано из кеша и отклонено.
Pro: лимиты, IP и боты, которые притворяются
Правило «Ограничивать» даёт семейству лимит запросов в минуту (по умолчанию 20 на страницах фильтров и 120 на других) — дальше 429 с Retry-After. Лимит страниц фильтров с одного IP и, при желании, с сети /24 ловит парсер, назвавшийся браузером. Списки IP и сетей — «всегда отказывать» и «никогда не трогать», с кнопками «Добавить сети Alibaba Cloud» (оттуда в сентябре 2026 парсер с браузерным User-Agent перебирал фильтры нашего демо-магазина) и «Добавить мой IP».
Googlebot, bingbot и Applebot проверяются обратным DNS раз в сутки для каждого адреса: «Googlebot» из чужой сети попадает в «Поддельные поисковики» и получает отказ. Кеш страниц фильтров отдаёт распознанным ботам файл вместо запросов к каталогу (страница живёт 60 минут — настраивается; бот может увидеть цену такой давности), покупатели всегда получают живую страницу. Журнал отказов показывает топ IP, сетей и страниц за 24 часа с кнопкой «Заблокировать сеть». Вкладка «Проверка и файлы» генерирует правила для nginx и Apache и llms.txt.
Как это работает — шаг за шагом
- Запрос на витрину. Модуль срабатывает на событие, которое OpenCart вызывает перед контроллером страницы (в 2.3 — на первую загрузку языка страницы), — до запросов к каталогу.
- GET и HEAD проверяются, POST — нет. Маршруты из «Никогда не трогать» (оформление, кабинет, оплаты, фиды, крон) пропускаются сразу.
- Семейство бота определяется по User-Agent; в Pro — ещё и обратный DNS для поисковиков и списки IP.
- Страница фильтра — по параметрам в адресе, маршруту поиска и номеру страницы для ботов.
- Правило семейства: пропустить, отказать (403) или ограничить (429 с Retry-After, Pro). Отказ — сразу, без построения страницы.
- Решение попадает в статистику, в Pro — ещё и в журнал отказов.
Что под капотом
- Одно событие, никаких модификаций. OpenCart 4 и 3 —
catalog/controller/*/before, 2.3 —catalog/language/*/before. В 2.3 страницы, чей контроллер делает запросы к базе раньше, чем загружает язык (некоторые AJAX-адреса модулей фильтров), не проверяются. - Покупатель стоит ноль запросов — только проверки строк (в Pro лимит на IP на страницах фильтров — 2 запроса). Бот — одно обновление статистики.
- Таблицы: счётчики за минуту, ежедневные итоги (60 дней), журнал Pro (до 5 000 строк, 14 дней), вердикты DNS (сутки).
- Кеш для ботов —
system/storage/cache/cc_crawler/, пишется только из ответов 200 распознанным ботам и никогда не отдаётся покупателям. - llms.txt на Apache. Стандартный .htaccess OpenCart запрещает все .txt, кроме robots.txt, — админка это видит и показывает одну строку, которую нужно изменить.
- Удаление убирает событие, таблицы, настройки (вместе с ключом лицензии — после переустановки ключ активируют снова), наш llms.txt и кеш.
Как установить
- OpenCart 4: Расширения → Установщик → загрузите
cc_crawler.ocmod.zip(имя архива не меняйте) и нажмите «Установить». OpenCart 3: Расширения → Установщик →cc_crawler-oc3.ocmod.zip. OpenCart 2.3: залейте содержимое папкиupload/изcc_crawler-oc2.ocmod.zipв корень магазина (FTP или файловый менеджер хостинга) — Установщик 2.3 без настроенного FTP файлы не копирует. - Расширения → Расширения → Модули → Crawler Shield → «Установить», затем «Редактировать».
- Совет: первый день — режим «Только наблюдать», потом «Защищать». За Cloudflare — выберите «заголовка Cloudflare CF-Connecting-IP».
- Для Pro: вставьте лицензионный ключ из письма после оплаты или получите триал на вкладке «Лицензия».
Вопросы
о модуле
Не нашли ответ? Напишите в Telegram — ответим в течение рабочего дня.
Это не навредит позициям в Google?
Поисковики по умолчанию пропускаются везде. Страницы фильтров, сортировки и поиска получают заголовок X-Robots-Tag: noindex, follow — они открыты покупателям и ботам, но тысячи комбинаций не попадают в индекс. Категории и товары остаются открытыми. Если вы сознательно продвигаете страницы фильтров с параметрами в адресе, снимите галочку «Просить поисковики не индексировать страницы фильтров» в «Правила» → «Общее».
Реклама в Facebook и Instagram продолжит работать?
Да. facebookexternalhit, которым Meta проверяет посадочную страницу рекламы, по умолчанию пропускается; в Pro он только ограничивается на страницах фильтров. Не ставьте этому семейству «Отказывать» везде — реклама остановится.
Магазин за Cloudflare или прокси. Что настроить?
В «Правила» → «Общее» → «IP посетителя брать из» выберите заголовок: CF-Connecting-IP для Cloudflare, X-Forwarded-For или X-Real-IP для своего прокси. По умолчанию берётся адрес соединения, и за прокси все посетители получат один IP — лимит на IP (Pro) будет тормозить всех. Модуль предупреждает, когда видит заголовок Cloudflare. Выбирайте заголовок только тогда, когда прокси действительно стоит — иначе адрес можно подделать.
У меня фильтр с ЧПУ-адресами (/brand-apple/color-red).
Страницы фильтров модуль распознаёт по параметрам в адресе. ЧПУ-адреса модулей фильтров он как фильтры не видит: на них действует правило семейства для «Других страниц» и лимит на IP в Pro. Названия параметров mfp, ocf, ocfilter и bfilter мы не сверяли с самими модулями — проверьте свой адрес на вкладке «Проверка и файлы».
Это заменяет файрвол?
Нет, и 100% защиты он не обещает. Модуль решает одну задачу: боты, перебирающие бесконечные комбинации фильтров каталога. Парсер, назвавшийся Chrome, распознаёт только Pro — лимитом на IP и сеть и списками IP.
Журнал хранит IP-адреса?
Pro-журнал отказов хранит время, IP и адрес последних отклонённых или ограниченных запросов — до 5 000 строк и не дольше 14 дней. Для посетителей, попавших под лимит на IP, это персональные данные по GDPR — упомяните это в политике конфиденциальности. Журнал выключается одной галочкой.
/llms.txt отвечает 403.
Стандартный .htaccess OpenCart на Apache запрещает все .txt, кроме robots.txt. Модуль это видит и показывает, какую одну строку изменить: (?<!robots)\.txt → (?<!robots)(?<!llms)\.txt.
Сколько стоит?
Базовая версия бесплатна. Pro — 1 290 грн, одна оплата, лицензия навсегда на один домен, все три сборки (4.x, 3.x, 2.3).
Пока нет ни одного отзыва. Будьте первым.
Пока вопросов нет. Спроси — мы ответим в течение 24 часов.
Не тот вариант, что искали?
Делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.
Заказать кастомный модуль
Покупка модуля
—