SEO спам WordPress: 6 проверенных способов защиты от комментариев и дефейса

Почему SEO‑спам ставит под угрозу ваш сайт

SEO‑спам в WordPress – это не просто назойливые ссылки в комментариях. Это могут быть:

  • массовые комментарии с внешними ссылками, ухудшающие показатели доверия;
  • спам‑посты, создающие дублирующий контент;
  • атаки типа deface, когда злоумышленники меняют внешний вид сайта.

По данным Redis vs Memcached 2026, более 30 % сайтов с открытыми комментариями сталкиваются с падением позиций в поиске из‑за спама. Поэтому защита должна быть многослойной.

1. Антиспам‑плагины: базовый уровень защиты

Akismet vs Antispam Bee

Самый популярный вариант – Akismet. Он проверяет каждый комментарий через облачный сервис и блокирует подозрительные. Однако у него есть ограничения в бесплатной версии.

Альтернатива – Antispam Bee. Плагин работает без внешних запросов, используя локальные правила. Пример настройки через functions.php:

add_filter( 'antispam_bee_settings', function( $settings ) {
    // Включаем проверку по рефереру
    $settings['check_referrer'] = true;
    // Добавляем собственный список запрещённых доменов
    $settings['custom_blacklist'] = [
        'spamdomain1.com',
        'spamdomain2.net',
    ];
    return $settings;
} );

Комбинация двух плагинов (Akismet + Antispam Bee) покрывает как облачную, так и локальную проверку.

2. Защита на уровне сети: Cloudflare WAF

Cloudflare предоставляет Web Application Firewall (WAF), который умеет блокировать запросы с подозрительными заголовками, IP‑адресами и паттернами в URL. Чтобы включить правила, выполните:

  1. Зайдите в панель Cloudflare → Firewall → Managed Rules;
  2. Активируйте набор WordPress Bot Fight Mode;
  3. Добавьте пользовательское правило: http.request.uri.path contains "/wp-comments-post.php" and cf.threat_score gt 5;
  4. Сохраните изменения и проверьте логи.

Для ускорения доставки статических файлов рекомендуется включить кеширование браузера и Brotli‑сжатие (см. Brotli WordPress).

3. Проверка HTTP‑Referer и ограничение доступа

Большинство спам‑ботов отправляют запросы без корректного Referer. Добавьте проверку в functions.php:

add_action( 'init', function() {
    if ( is_admin() && ! is_user_logged_in() ) {
        $referer = $_SERVER['HTTP_REFERER'] ?? '';
        $allowed = [ home_url(), 'https://www.google.com' ];
        $valid = false;
        foreach ( $allowed as $host ) {
            if ( strpos( $referer, $host ) !== false ) { $valid = true; break; }
        }
        if ( ! $valid ) {
            wp_die( 'Неправильный referer. Доступ запрещён.' );
        }
    }
} );

Эта проверка блокирует попытки доступа к админ‑панели и к wp-comments-post.php без известного реферера.

4. Отключение комментариев: когда лучше не принимать

Если ваш ресурс не нуждается в пользовательском обсуждении, полностью отключите комментарии:

// Отключаем поддержку комментариев в теме
function disable_comments() {
    // Скрываем UI в админке
    remove_menu_page('edit-comments.php');
    // Отключаем возможности для постов
    foreach ( get_post_types() as $type ) {
        if ( post_type_supports( $type, 'comments' ) ) {
            remove_post_type_support( $type, 'comments' );
            remove_post_type_support( $type, 'trackbacks' );
        }
    }
}
add_action('admin_init', 'disable_comments');

// Отключаем REST API для комментариев
add_filter('rest_endpoints', function( $endpoints ) {
    if ( isset( $endpoints['/wp/v2/comments'] ) ) {
        unset( $endpoints['/wp/v2/comments'] );
    }
    return $endpoints;
});

Если же комментарии нужны, ограничьте их:

  • Разрешите только зарегистрированным пользователям;
  • Установите задержку (например, 30 секунд) перед публикацией;
  • Включите reCAPTCHA через плагин Google Captcha (reCAPTCHA) by BestWebSoft.

5. Мониторинг и автоматическая очистка

Регулярный аудит помогает выявлять новые векторы атаки. Инструменты:

  • WP‑CLI для массового удаления спам‑комментариев: wp comment delete $(wp comment list --status=spam --format=ids) --force;
  • Плагин Wordfence с функцией Live Traffic для отслеживания подозрительных запросов;
  • Логи сервера (nginx/Apache) – фильтруйте запросы к /wp-comments-post.php с высоким status=403.

Для полной автоматизации можно связать Wordfence с внешним SIEM через API‑интеграцию WordPress.

6. Переход на HTTPS: уменьшение уязвимостей

Шифрование трафика исключает возможность подмены запросов в пути. Следуйте пошаговому руководству по миграции HTTP→HTTPS и убедитесь, что сертификат обновляется автоматически (Let’s Encrypt + Cron).

Комбинация HTTPS, WAF, антиспам‑плагинов и серверных проверок создаёт трёхуровневую защиту от SEO‑спама, позволяя сохранять чистый профиль обратных ссылок и стабильный рейтинг в поиске.

❓ Часто задаваемые вопросы

Как быстро удалить уже опубликованный спам‑комментарий?

Используйте WP‑CLI: wp comment delete $(wp comment list --status=spam --format=ids) --force. Команда удалит все комментарии, отмеченные как спам, за секунды.

Можно ли полностью отключить комментарии без потери существующего контента?

Да. Добавьте код из раздела «Отключение комментариев» в functions.php. Существующие комментарии останутся в базе, но их вывод будет отключён.

Поможет ли Cloudflare полностью избавиться от SEO‑спама?

Cloudflare WAF значительно снижает количество автоматических запросов, но не заменяет антиспам‑плагины, которые проверяют содержимое комментариев.

Нужен ли отдельный плагин для проверки реферера?

Нет, проверку реферера удобно реализовать кастомным кодом в functions.php, как показано в статье, что экономит ресурсы и даёт гибкость.