wpcat.ru wordpress WPCat.ru

Как отключить автоматическое удаление спама в WordPress

В стандартной установке WordPress комментарии, которые попадают в спам, автоматически удаляются через 15 дней. Это сделано для освобождения базы данных от мусора и повышения производительности. Однако бывают ситуации, когда важные комментарии ошибочно помечаются как спам, и их автоматическое удаление приводит к потере ценной информации.

Почему важно контролировать удаление спама в комментариях WordPress

Автоматическое удаление спама — удобная функция, но она может стать проблемой, если антиспам-фильтр ошибается. Особенно это актуально для сайтов с активной аудиторией, где комментарии могут содержать полезные отзывы, вопросы или предложения.

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

Кроме того, это позволит отслеживать, какие комментарии попадают в спам, и корректировать фильтры или использовать более продвинутые плагины для антиспама.

Как отключить автоматическое удаление спама через код в functions.php

Чтобы отключить автоматическое удаление спама в WordPress, необходимо убрать действие, которое запускает функцию очистки спама по расписанию. В WordPress этим занимается cron-задача wp_scheduled_delete.

Добавьте следующий код в файл functions.php вашей активной темы или в кастомный плагин:

function wpcat_disable_auto_spam_cleanup() {
    // Отменяем запланированное событие удаления спама
    if ( wp_next_scheduled( 'wp_scheduled_delete' ) ) {
        wp_clear_scheduled_hook( 'wp_scheduled_delete' );
    }
}
add_action( 'init', 'wpcat_disable_auto_spam_cleanup' );

Этот код отменит регулярную задачу, которая отвечает за удаление спам-комментариев и других мусорных данных.

После этого комментарии в спаме будут храниться в базе до тех пор, пока вы не удалите их вручную.

Преимущества и недостатки такого подхода

Преимущества:

  • Сохраняются все комментарии, даже ошибочно помеченные как спам.
  • Возможность вручную проверить и очистить спам.
  • Больше контроля над модерацией.

Недостатки:

  • Рост базы данных за счет накопления спам-комментариев.
  • Необходимость регулярной ручной очистки.

Альтернативное решение: использовать плагин для управления спамом

Если вы хотите более гибко контролировать спам, можно использовать плагин Clearfy Pro. Он позволяет настраивать антиспам-фильтры, отключать автоматические удаления и контролировать поведение комментариев.

Также популярным решением является плагин Akismet, но он автоматически удаляет спам, что не всегда удобно. Clearfy Pro дает возможность отключить автоматическое удаление и видеть все комментарии в админке.

Как создать уведомление для админа о новых комментариях в спаме

Чтобы не пропустить важные комментарии, попавшие в спам, можно сделать уведомление для администратора. Ниже пример кода, который отправляет письмо при появлении новых комментариев в спаме:

function wpcat_notify_admin_new_spam_comment( $comment_id ) {
    $comment = get_comment( $comment_id );
    if ( $comment->comment_approved === 'spam' ) {
        $admin_email = get_option( 'admin_email' );
        $subject = 'Новый комментарий в спаме на сайте ' . get_bloginfo( 'name' );
        $message = 'Комментарий с ID ' . $comment_id . ' был помечен как спам.\n';
        $message .= 'Автор: ' . $comment->comment_author . '\n';
        $message .= 'Текст: ' . $comment->comment_content . '\n';
        wp_mail( $admin_email, $subject, $message );
    }
}
add_action( 'wp_insert_comment', 'wpcat_notify_admin_new_spam_comment' );

Этот код поможет своевременно реагировать на ошибочное определение спама и принимать меры.

Как вручную удалять и восстанавливать комментарии из спама

После отключения автоматического удаления спама, вам нужно периодически проверять раздел Комментарии > Спам в админке WordPress.

Там можно:

  • Восстановить ошибочно помеченные комментарии кнопкой Не спам.
  • Удалить спам-комментарии массово или по одному.

Для удобства можно использовать фильтры и сортировку, чтобы быстрее находить нужные записи.

Итоговые рекомендации для контроля спама в WordPress

  • Отключайте автоматическое удаление спама, если на вашем сайте важна каждая обратная связь.
  • Используйте код из статьи для отмены cron-задачи удаления спама.
  • Настройте уведомления администратору о новых спам-комментариях.
  • Регулярно проверяйте папку спама и вручную фильтруйте комментарии.
  • Для расширенных функций рассмотрите плагин Clearfy Pro с возможностями управления антиспамом.
×
День SEO
Время сделать подарок своему WordPress!
-20% на премиум

шаблоны и плагины

Порадуй свой сайт ⋙