WooCommerce: как автоматически собирать отзывы после покупки

Диагностика проблемы: почему отзывы не собираются автоматически

Многие владельцы WooCommerce-магазинов сталкиваются с проблемой низкой активности покупателей в разделе отзывов. Даже после успешной покупки и доставки товаров, клиенты часто не оставляют отзывов, что уменьшает социальное доказательство и влияет на конверсию.

Причины могут быть следующие:

  • Отсутствие автоматических напоминаний о необходимости оставить отзыв.
  • Сложный или неудобный интерфейс для добавления отзывов.
  • Неактивная система сбора обратной связи с покупателями.
  • Проблемы с настройками WooCommerce (например, выключена опция отзывов для товаров).

Пошаговое решение: как настроить автоматический сбор отзывов

1. Включение отзывов для товаров WooCommerce

Перейдите в WooCommerce > Настройки > Товары > Общие и убедитесь, что стоит галочка у пункта Включить отзывы.

2. Добавление автоматического email-напоминания после покупки

Для этого можно использовать хук woocommerce_order_status_completed, который срабатывает при смене статуса заказа на «завершён». Ниже пример кода, отправляющего письмо с просьбой оставить отзыв спустя 3 дня после завершения заказа:

add_action('woocommerce_order_status_completed', 'send_review_request_email');

function send_review_request_email($order_id) {
    if (!$order_id) return;

    $order = wc_get_order($order_id);
    $to = $order->get_billing_email();
    $subject = 'Пожалуйста, оставьте отзыв о вашем заказе';
    $product_names = [];
    foreach ($order->get_items() as $item) {
        $product_names[] = $item->get_name();
    }
    $products_list = implode(", ", $product_names);

    $message = "Здравствуйте!\n\nСпасибо за покупку: $products_list.\nМы будем благодарны, если вы оставите отзыв о товаре.\nПросто перейдите по ссылке: " . get_permalink($order->get_items()[0]->get_product_id()) . "\n\nСпасибо!";

    // Отправляем письмо с задержкой 3 дня
    wp_schedule_single_event(time() + 3 * DAY_IN_SECONDS, 'send_delayed_review_email', array($to, $subject, $message));
}

add_action('send_delayed_review_email', 'process_delayed_review_email', 10, 3);

function process_delayed_review_email($to, $subject, $message) {
    wp_mail($to, $subject, $message);
}

3. Упрощение формы отзыва

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

add_filter('woocommerce_product_review_comment_form_args', 'customize_review_form');
function customize_review_form($comment_form) {
    $comment_form['comment_field'] = '<p class="comment-form-comment"><label for="comment">Отзыв</label><textarea id="comment" name="comment" cols="45" rows="4" required></textarea></p>';
    unset($comment_form['fields']['url']); // Убираем поле сайта
    unset($comment_form['fields']['email']); // Если не нужно, можно убрать
    return $comment_form;
}

Проверка результата после внедрения

  • Создайте тестовый заказ и переведите его в статус "завершён".
  • Проверьте планировщик задач WP-Cron (например, через плагин WP Crontrol), что отложенное событие отправки письма запланировано.
  • Через 3 дня убедитесь, что на почту заказчика пришло письмо с приглашением оставить отзыв.
  • Проверьте, что форма отзыва на странице товара отображается упрощённой (по вашему кастому).

Частые ошибки и как их исправить

  • Письма не отправляются: Проверьте работу WP-Cron, включена ли функция wp_mail, и не блокирует ли хостинг отправку почты.
  • Событие не запланировано: Убедитесь, что хук woocommerce_order_status_completed срабатывает. Можно добавить логирование в функцию для проверки.
  • Пользователь жалуется на сложную форму: Упростите форму через фильтр woocommerce_product_review_comment_form_args и проверьте изменения в разных браузерах.
  • Отзывы не отображаются: Проверьте, включены ли отзывы в настройках WooCommerce, и нет ли конфликтов с темой или плагинами.

Практические советы по безопасности и производительности

  • Используйте проверку nonce и права доступа, если расширяете функционал сбора отзывов через AJAX.
  • Не отправляйте письма непосредственно из функций хука, лучше планируйте отложенные задачи через WP-Cron.
  • Оптимизируйте количество отправляемых писем, добавляя фильтрацию по активным клиентам и исключая тестовые или отменённые заказы.
  • Для стабильной работы WP-Cron настройте реальный системный cron на сервере, если сайт получает мало посещений.

Сравнение способов автоматического сбора отзывов

МетодПлюсыМинусыПример
Плагин (например, WooCommerce Follow-Ups)Полный функционал, удобный интерфейс, шаблоны писемПлатный, нагрузка на сайтWooCommerce Follow-Ups
Кастомный код с WP-CronБесплатно, гибко, без лишних плагиновТребует навыков, настройка cron, возможные сбоиКод из статьи
Использование сторонних сервисов (email-маркетинг)Мощная аналитика, интеграция с маркетингомСложность интеграции, возможные расходыMailchimp, Sendinblue и др.
WooCommerce: как автоматически собирать отзывы после покупки
21.04.2026
Как настроить автоматический импорт постов из Facebook в WordPress
20.03.2026
WooCommerce: как автоматически удалять неактивные заказы по срокам
10.07.2026
WooCommerce: автоматическое удаление неактивных заказов по срокам
27.06.2026
Как отключить AJAX пагинацию в WordPress и заменить на классическую
06.01.2026