В стандартной установке 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 с возможностями управления антиспамом.