Как убрать версию WordPress из HTML и REST API для безопасности сайта

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

Почему важно убрать версию WordPress из HTML и REST API

Версия WordPress отображается в метатеге <meta name="generator" content="WordPress 5.8" /> и в HTTP-заголовках. Также REST API возвращает версию в ответах. Если злоумышленник знает точную версию, он может подобрать эксплойты, соответствующие именно этой версии. Удаление или маскировка версии — простой, но эффективный метод снижения риска.

Хотя удаление версии не решает все проблемы безопасности, оно усложняет задачу автоматизированным сканерам уязвимостей. Это элемент хороших практик по защите сайта.

Удаление версии WordPress из HTML-кода

По умолчанию WordPress добавляет метатег generator с версией. Чтобы убрать его, воспользуемся хуком wp_head. Добавьте следующий код в файл functions.php вашей темы или в плагин:

function wpinfo_remove_wp_version() {
    return '';
}
add_filter('the_generator', 'wpinfo_remove_wp_version');

Этот фильтр заменяет стандартный вывод версии пустой строкой. После этого метатег generator не будет выводиться в HTML.

Удаление версии из RSS-лент

WordPress также выводит версию в RSS. Для ее удаления добавьте:

remove_action('wp_head', 'wp_generator');

Этот вызов отключит генератор версии из заголовков RSS и HTML.

Удаление версии из REST API

REST API WordPress по умолчанию возвращает версию в заголовках и в теле ответа. Чтобы удалить версию из заголовка X-WP-Version и из тела, используйте следующий код:

function wpinfo_remove_rest_version() {
    return '';
}
add_filter('rest_send_headers', function($headers) {
    unset($headers['X-WP-Version']);
    return $headers;
});
add_filter('rest_index', function($response) {
    if (isset($response['version'])) {
        unset($response['version']);
    }
    return $response;
});

Первый фильтр удаляет заголовок X-WP-Version, а второй — убирает поле версии из тела ответа REST API.

Плагины для скрытия версии WordPress

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

  • WP Hide & Security Enhancer — позволяет скрыть версию WordPress из кода, REST API и HTTP-заголовков.
  • Remove WordPress Version — простой плагин для удаления версии из front-end и RSS.
  • Security Ninja — комплексный плагин с опцией скрытия версии и другими функциями безопасности.

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

Дополнительные рекомендации по безопасности

Удаление версии — это лишь часть мер безопасности. Чтобы надежно защитить WordPress, стоит также:

  • Регулярно обновлять ядро, темы и плагины.
  • Использовать сложные пароли и двухфакторную аутентификацию.
  • Ограничивать количество попыток входа и использовать firewall.
  • Проверять и чистить базу данных от неиспользуемых записей.

Комбинация этих мер уменьшит риск взлома и обеспечит стабильную работу сайта.

Пример комплексного решения в functions.php

Объединим все приведенные выше методы в одном фрагменте, который можно добавить в functions.php:

function wpinfo_secure_hide_version() {
    // Убираем метатег generator
    add_filter('the_generator', '__return_empty_string');
    // Убираем генератор из заголовков
    remove_action('wp_head', 'wp_generator');
    // Убираем версию из REST API заголовков
    add_filter('rest_send_headers', function($headers) {
        unset($headers['X-WP-Version']);
        return $headers;
    });
    // Убираем версию из тела REST API
    add_filter('rest_index', function($response) {
        if (isset($response['version'])) {
            unset($response['version']);
        }
        return $response;
    });
}
add_action('init', 'wpinfo_secure_hide_version');

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

Как проверить, что версия WordPress скрыта

Чтобы убедиться, что версия WordPress не отображается, выполните несколько проверок:

  1. Откройте исходный код страницы (Ctrl+U) и найдите generator. Его не должно быть.
  2. Используйте curl или браузер для запроса к REST API, например https://example.com/wp-json/, и проверьте, отсутствует ли поле version в ответе.
  3. Проверьте HTTP-заголовки с помощью инструментов разработчика, убедитесь, что заголовок X-WP-Version отсутствует.

Если версия не найдена, значит скрытие сработало.

Выводы и практическое значение

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

WooCommerce: как сделать автоматическое изменение стоимости товара при определённых условиях
08.05.2026
Как заменить default-аватар в WordPress: практическое руководство
09.04.2026
Как добавить динамические поля в WordPress: практическое руководство
09.03.2026
Как создать динамические таблицы в WordPress с помощью шорткодов
26.12.2025
Как автоматически переводить посты WordPress на другие языки
02.03.2026