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

Стандартный сценарий: включили модуль отзывов в Битрикс, довольные ушли на выходные, вернулись — на почте сто писем от модератора, в базе триста отзывов про виагру, а в карточках товаров рейтинг не обновился. Часть проблем решается за пять минут в настройках, если знать, куда смотреть. Вторая часть вылезает только под нагрузкой, и к ней тоже стоит подготовиться заранее.
Модерация: кто видит что и когда
В модуле отзывов Битрикс три режима публикации. От выбора зависит, увидит ли посетитель свой отзыв сразу или будет ждать одобрения администратора.
| Режим | Кто видит отзыв сразу | Когда использовать | Риск |
|---|---|---|---|
| Без модерации | Все посетители | Закрытый B2B, известная аудитория | Спам попадает на сайт мгновенно |
| Постмодерация | Все, удаляется вручную | Средний трафик, есть дежурный модератор | Нужно отслеживать почту круглосуточно |
| Премодерация | Никто до одобрения | Публичный магазин, нет модератора 24/7 | Клиент не видит свой отзыв и может подумать, что он потерялся |
Режим задаётся в настройках модуля «Торговый каталог» → «Настройки» → «Отзывы и комментарии». Если этого раздела нет, модуль отзывов не установлен или не подключён к инфоблоку каталога.
При премодерации обязательно настройте текст-заглушку, который увидит автор отзыва вместо своего текста: «Ваш отзыв отправлен на проверку и появится после одобрения модератором». Без этого уведомления клиент считает, что форма сломалась, и отправляет отзыв повторно.
Защита от спама: три рубежа
Спам-боты находят форму отзыва за несколько часов после индексации страницы. Один рубеж защиты не работает: капчу обходят, IP меняют, задержки игнорируют.
- CAPTCHA или reCAPTCHA — подключается в настройках главного модуля. Стандартная капча Битрикс (картинка с цифрами) останавливает примитивныхботов, но не сервисы распознавания. Google reCAPTCHA v2 или v3 эффективнее, но требует регистрации ключей на сайте Google и замедляет загрузку страницы на 150-300 мс.
- Ограничение частоты — один IP не может оставить больше N отзывов за M минут. Настройка встроена не во все редакции; в коробочной версии придётся добавлять проверку в обработчике формы или использовать модуль из маркетплейса.
- Стоп-слова и автоматическая блокировка — если отзыв содержит URL, email, номер телефона или ключевые слова из чёрного списка, он либо отклоняется сразу, либо автоматически отправляется на премодерацию. Список стоп-слов заполняется вручную по мере поступления спама.
Проверьте все три до запуска. Одна капча без ограничения частоты пропустит десятки дублей, если бот прошёл распознавание один раз и повторяет запрос с валидной сессией.
Премодерация — не замена защите от спама. Это последний рубеж, когда боты уже записали сто отзывов в базу, а модератор разгребает очередь вручную. Цель защиты — не пропустить спам в очередь на модерацию, а не показать его посетителям.
Как отзывы отображаются на странице
После одобрения отзыв должен появиться в карточке товара и в списке всех отзывов. Если этого не происходит, проблема в кеше шаблона или в настройках компонента.
Откройте шаблон компонента bitrix:catalog.element (карточка товара) и найдите вызов компонента отзывов — обычно это bitrix:catalog.comments или bitrix:forum.comments, в зависимости от того, подключён ли модуль форума. Если компонента нет, отзывы физически не выводятся, даже если модуль включён.
Проверьте параметры компонента:
- IBLOCK_ID — должен совпадать с ID инфоблока каталога.
- SHOW_RATING — если стоит N, звёзды рейтинга не отображаются, даже если оценки сохранены в базе.
- CACHE_TIME — если стоит 3600 (час) или больше, новый отзыв появится только после сброса кеша. Для отзывов разумное значение — 300-600 секунд.
Рейтинг товара (среднее арифметическое оценок) пересчитывается либо при каждом просмотре карточки (если кеш отключён), либо по расписанию через cron/агента. В редакциях «Бизнес» и выше пересчёт можно настроить отдельным агентом. Если рейтинг завис на старом значении, проверьте, запущен ли агент, и сбросьте кеш компонента вручную.
Сортировка и пагинация
По умолчанию отзывы выводятся в порядке добавления, новые — внизу. Для магазина логичнее обратный порядок: свежие отзывы наверху, старые — в архиве. Порядок задаётся параметром COMMENTS_ORDER (ASC — старые первые, DESC — новые первые).
Если отзывов больше десяти, включите пагинацию параметром MESSAGES_PER_PAGE. Без неё страница товара с сотней отзывов весит мегабайт HTML и грузится пять секунд. Оптимальное значение — 10-20 отзывов на страницу.
Микроразметка: как попасть в сниппет Google
Звёзды рейтинга в выдаче Google появляются, только если на странице товара присутствует микроразметка Schema.org типа Product с вложенным AggregateRating1. Битрикс по умолчанию эту разметку не добавляет — её нужно встроить в шаблон карточки товара вручную.
Пример разметки в формате JSON-LD (вставляется в <head> или в конец <body>):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Название товара",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "23"
}
}
</script>
Значения ratingValue и reviewCount подставляются из переменных шаблона, где хранится средний рейтинг и количество отзывов. Если отзывов меньше пяти, Google может не показать звёзды в сниппете — это ограничение поисковика, а не ошибка разметки.
Проверить корректность разметки можно в инструменте Google Rich Results Test. Если инструмент не видит AggregateRating, проблема в синтаксисе JSON или в том, что разметка находится внутри закешированного фрагмента и не попала в HTML.
Уведомления: кто и когда получает письма
Битрикс умеет отправлять три типа уведомлений, связанных с отзывами:
- Администратору при новом отзыве — чтобы модератор не пропустил заявку. Настраивается в разделе «Настройки» → «Почтовые шаблоны», тип события
CATALOG_NEW_REVIEWили аналогичный (название зависит от редакции). - Автору при одобрении — уведомление, что отзыв прошёл модерацию и опубликован. Настраивается отдельным шаблоном, если модуль поддерживает это событие.
- Автору при ответе администратора — если магазин отвечает на отзывы публично.
Проверьте шаблоны до запуска:
- Указан ли реальный адрес отправителя (не
noreply@localhost), и пройдёт ли он SPF/DKIM-проверку почтового сервера. - Работает ли подстановка переменных — имя автора, текст отзыва, ссылка на товар. Если в письме приходит
#NAME#вместо имени, шаблон использует переменную, которой нет в событии. - Настроен ли получатель для уведомлений администратору. Если поле пустое, письма уходят в никуда.
Отправьте тестовый отзыв с реального аккаунта и проверьте, пришло ли письмо модератору и автору. Если не пришло, посмотрите лог отправки в разделе «Настройки» → «Почтовые события» → «Журнал». Частая причина — письмо ушло, но попало в спам из-за отсутствия DKIM-подписи.
Под нагрузкой: когда база тормозит
Отзывы хранятся в таблице b_catalog_review (название может отличаться в зависимости от используемого модуля). При ста отзывах проблем нет. При десяти тысячах — выборка на странице товара начинает занимать 200-500 мс, если нет индекса по полю ELEMENT_ID (ID товара).
Откройте phpMyAdmin или консоль MySQL и выполните:
SHOW INDEX FROM b_catalog_review;
Если в списке нет индекса по ELEMENT_ID, создайте его:
CREATE INDEX IX_ELEMENT_ID ON b_catalog_review(ELEMENT_ID);
После создания индекса выборка отзывов для одного товара займёт 5-20 мс вместо полусекунды.
Второе узкое место — пересчёт среднего рейтинга. Если он происходит при каждом просмотре карточки, база выполняет AVG() по всем отзывам товара. При сотне отзывов на товар и тысяче просмотров в час это десятки тысяч лишних запросов. Решение — кешировать результат пересчёта в отдельном поле таблицы товаров и обновлять его только при добавлении нового отзыва.
Последний чек перед запуском
Пройдитесь по списку на финальной проверке:
- Отправьте тестовый отзыв — пришло ли уведомление модератору.
- Одобрите отзыв — появился ли он в карточке товара, обновился ли рейтинг.
- Проверьте микроразметку в Google Rich Results Test — видит ли инструмент
AggregateRating. - Включите капчу и ограничение частоты — попробуйте отправить пять отзывов подряд, система должна заблокировать четвёртый или пятый.
- Убедитесь, что при премодерации автор видит уведомление «Отзыв отправлен на проверку», а не пустую форму.
- Сбросьте кеш компонента и проверьте, что новый отзыв появляется на сайте за разумное время (до десяти минут).
- Посмотрите лог ошибок PHP и MySQL за последние сутки — нет ли повторяющихся ошибок, связанных с модулем отзывов.
Если всё работает на тестовом окружении, переносите настройки на боевой сервер. Не включайте отзывы сразу на всех товарах — начните с одной категории или десятка SKU, посмотрите на нагрузку и поведение модерации, и только потом раскатывайте на весь каталог.
Что делать после запуска
Первую неделю смотрите на три показателя: сколько отзывов приходит в сутки, сколько из них спам, за какое время модератор разгребает очередь. Если спама больше трети, ужесточайте фильтры. Если очередь растёт быстрее, чем модератор её обрабатывает, добавьте второго дежурного или автоматизируйте часть проверок стоп-словами.
Следите за размером таблицы отзывов: если она перевалила за сто тысяч строк, а товаров в каталоге две тысячи, значит, спам пишется в базу быстрее, чем вы его удаляете, и пора либо ужесточать защиту, либо настраивать автоматическую очистку старых неодобренных записей.
Тендерный специалист 44-ФЗ / 223-ФЗ: Разбор PDF-документации закупки, поиск «заточек» под поставщика, чек-лист заявки.
Спросить за 20 ₽Источники: Документация 1С-Битрикс: модуль Торговый каталог
Частые вопросы
Отзыв одобрен, но не появляется в карточке товара — в чём причина?
У меня другая версия Битрикс — где искать настройки отзывов?
Можно ли перенести отзывы из другой CMS в Битрикс?
Звёзды рейтинга не появляются в Google — что не так?
Что делать, если спам проходит даже с капчей?
Сайт тормозит после включения отзывов — как оптимизировать?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.