Версия WordPress по умолчанию отображается в исходном коде страниц вашего сайта и в HTTP-заголовках. Это создает потенциальную уязвимость, так как злоумышленники могут использовать информацию о версии для поиска известных эксплойтов и атак на сайт. В этой статье мы подробно рассмотрим, как запретить отображение версии WordPress, используя минимальное количество кода и лучшие практики безопасности.
Почему важно скрывать версию WordPress — безопасность сайта
Информация о версии WordPress помогает хакерам определить, какие уязвимости могут быть актуальны для вашего сайта. Если вы используете устаревшую версию или плагины с известными дырами, скрытие версии усложнит автоматический подбор атак.
Кроме того, показ версии в мета-тегах или заголовках может привлечь внимание сканеров уязвимостей. Поэтому для повышения безопасности рекомендуется убрать или скрыть все следы версии WP.
Где отображается версия WordPress
- В HTML-коде в мета-теге
generator. - В HTTP-заголовках ответа сервера.
- В RSS-лентах и API-ответах.
Для комплексного решения необходимо убрать версию из всех этих мест.
Как убрать версию WordPress из исходного кода и мета-тегов
Самый простой способ — использовать хук wp_generator. По умолчанию WordPress выводит в <head> мета-тег с версией. Чтобы убрать его, добавьте в файл functions.php вашей темы следующий код:
function wp24_remove_wp_version() {
return '';
}
add_filter('the_generator', 'wp24_remove_wp_version');
Этот код заменяет вывод версии на пустую строку, и мета-тег исчезнет из кода страниц.
Убираем версию из RSS-лент
Версия также выводится в RSS. Чтобы ее убрать, используйте фильтр the_generator, как показано выше — он действует и для RSS.
Как убрать версию из HTTP-заголовков
Сервер Apache или Nginx может добавлять заголовок X-Powered-By или Server, который иногда содержит информацию о CMS и версии. Для WordPress есть заголовок X-Pingback, но он не содержит версию.
Однако WordPress сам по себе иногда добавляет версию в заголовок generator. Чтобы убрать его, можно использовать следующий код:
function wp24_remove_generator_header() {
if (headers_sent()) {
return;
}
header_remove('X-Pingback');
header_remove('generator');
}
add_action('send_headers', 'wp24_remove_generator_header');
Этот код удалит заголовки, которые могут содержать информацию о версии.
Как дополнительно обезопасить сайт — плагины и советы
Если вы не хотите добавлять код вручную, можно использовать плагины, которые обеспечивают комплексную защиту и скрытие версии WP.
- Clearfy Pro — мощный плагин для оптимизации и безопасности, который позволяет отключить отображение версии WordPress одним кликом. Подробнее: https://wpshop.ru/clearfy-pro/
- WP Security Audit Log — помогает отслеживать изменения и выявлять подозрительную активность, но также содержит настройки для скрытия версии.
- WP Hardening — набор настроек безопасности, включая отключение вывода версии.
Кроме того, рекомендуется всегда обновлять WordPress, темы и плагины, чтобы минимизировать риски уязвимостей.
Пример комплексного кода для functions.php
/**
* Функция wp24_remove_wp_version
* Убирает версию WordPress из мета-тегов и RSS
*/
function wp24_remove_wp_version() {
return '';
}
add_filter('the_generator', 'wp24_remove_wp_version');
/**
* Функция wp24_remove_generator_header
* Убирает заголовки с версией WordPress
*/
function wp24_remove_generator_header() {
if (headers_sent()) {
return;
}
header_remove('X-Pingback');
header_remove('generator');
}
add_action('send_headers', 'wp24_remove_generator_header');
Проверка результата — как убедиться, что версия скрыта
После внесения изменений проверьте исходный код страниц вашего сайта — мета-тег generator должен отсутствовать. Также можно использовать инструменты разработчика в браузере или онлайн-сервисы, чтобы проверить HTTP-заголовки ответа сервера.
Если версия по-прежнему видна, возможно, ее выводит плагин или тема. В этом случае проверьте их настройки и код.
Советы по дополнительной защите
- Отключите XML-RPC, если не используете удаленное управление.
- Используйте защиту от перебора паролей и двухфакторную аутентификацию.
- Регулярно делайте резервные копии сайта и базы данных.