Главная » Интернет-магазин » Каталог » Отзывы о товарах в Битрикс

Отзывы о товарах в Битрикс

Схема реализации отзывов о товарах через инфоблок с модерацией в 1С-Битрикс

Отзывы о товарах повышают доверие покупателей и дают дополнительный уникальный контент для страниц каталога, полезный и для SEO. Разберём, как реализовать отзывы на сайте 1С-Битрикс через инфоблоки — штатного специализированного модуля отзывов в системе нет, но задача решается стандартными средствами.

Отзывы как отдельный инфоблок, привязанный к товару

Практичная структура — отдельный инфоблок "Отзывы" со свойством привязки к элементу инфоблока каталога (тип свойства "Привязка к элементу"), именем автора, текстом отзыва, оценкой и статусом модерации. Такая структура позволяет использовать штатный API инфоблоков для всех операций — добавления, выборки, модерации — без написания собственных таблиц базы данных.

Форма добавления отзыва

<?php

use Bitrix\Main\Loader;

Loader::includeModule('iblock');

if ($_SERVER['REQUEST_METHOD'] === 'POST' && check_bitrix_sessid()) {
    $el = new CIBlockElement;

    $reviewId = $el->Add([
        'IBLOCK_ID' => REVIEWS_IBLOCK_ID,
        'NAME' => htmlspecialcharsbx($_POST['author_name']),
        'ACTIVE' => 'N', // не публикуется сразу, ждёт модерации
        'PROPERTY_VALUES' => [
            'PRODUCT_ID' => (int)$_POST['product_id'],
            'RATING' => (int)$_POST['rating'],
            'REVIEW_TEXT' => htmlspecialcharsbx($_POST['review_text']),
        ],
    ]);
}

Проверка check_bitrix_sessid() защищает форму от CSRF-атак — обязательный элемент любой формы, изменяющей данные, а не только формы отзывов. Экранирование текстового ввода через htmlspecialcharsbx предотвращает возможность вставки произвольного HTML или скриптов через поле отзыва.

Нужна помощь с Битрикс?





    Модерация перед публикацией

    Отзыв со статусом ACTIVE = 'N' не виден на публичной части сайта до тех пор, пока администратор не проверит его и не активирует вручную через административную панель — это стандартная защита от спама и оскорбительного контента, которую не стоит пропускать ради мгновенной публикации без проверки, особенно для сайта с открытой формой добавления отзывов без авторизации.

    Ограничение частоты добавления отзывов

    Форма без ограничения частоты отправки уязвима для автоматического спама фальшивыми отзывами — капча или лимит по IP-адресу за период времени снижает этот риск так же, как и для любой другой публичной формы на сайте, принимающей ввод от анонимных посетителей.

    Вывод рейтинга на карточке товара

    <?php
    
    $reviews = CIBlockElement::GetList(
        [], ['IBLOCK_ID' => REVIEWS_IBLOCK_ID, 'PROPERTY_PRODUCT_ID' => $productId, 'ACTIVE' => 'Y'],
        false, false, ['ID', 'PROPERTY_RATING']
    );
    
    $sum = 0;
    $count = 0;
    
    while ($review = $reviews->Fetch()) {
        $sum += (int)$review['PROPERTY_RATING_VALUE'];
        $count++;
    }
    
    $averageRating = $count > 0 ? round($sum / $count, 1) : null;

    Средний рейтинг вычисляется на лету по всем активным отзывам товара — для карточек с большим числом отзывов и высокой посещаемостью этот расчёт стоит кешировать, инвалидируя кеш при добавлении нового отзыва, а не пересчитывать заново на каждый визит страницы.

    Микроразметка для звёздочек в поисковой выдаче

    Разметка schema.org типа AggregateRating с выводом среднего рейтинга и количества отзывов в структурированных данных страницы товара — то, что позволяет поисковым системам показывать звёздочки рейтинга прямо в сниппете выдачи, заметно повышая привлекательность результата по сравнению с обычным текстовым сниппетом без визуальных элементов.

    Ответ магазина на отзыв

    Дополнительное поле для официального ответа магазина на отзыв (особенно негативный) — практика, повышающая доверие: видимая реакция продавца на критику воспринимается лучше, чем просто список отзывов без обратной связи со стороны магазина.

    Частые ошибки

    • Отзывы публикуются сразу без модерации. Открывает форму для спама и оскорбительного контента без контроля.
    • Нет проверки CSRF-токена в форме отзыва. Уязвимость к автоматической подделке отправки от чужого пользователя.
    • Средний рейтинг пересчитывается на каждый визит без кеша. Лишняя нагрузка на карточках с большим числом отзывов.
    • Нет микроразметки AggregateRating. Упущенная возможность показать звёздочки рейтинга в поисковой выдаче.

    Итог

    Отзывы о товарах на 1С-Битрикс реализуются через отдельный инфоблок, привязанный к товару свойством связи, без необходимости в специализированном модуле. Обязательная модерация перед публикацией, защита формы от CSRF и спама, и микроразметка AggregateRating для поисковой выдачи — три момента, без которых базовая реализация отзывов остаётся уязвимой или теряет часть практической пользы для SEO.

    Нужна помощь с Битрикс?

    Исправим ошибку, доработаем сайт, ускорим Битрикс или поможем разобраться с проблемой.

    Услуги
    Инструменты
    База знаний