Версия WordPress по умолчанию отображается в исходном коде сайта и может быть обнаружена злоумышленниками, что повышает риск атак на уязвимые версии движка. В этой статье мы подробно рассмотрим, как удалить или скрыть версию WordPress без использования плагинов, используя собственные функции и хуки. Это поможет повысить безопасность вашего сайта и убережет от автоматизированных сканеров.
Почему важно скрывать версию WordPress
Версия WordPress часто указывается в мета-теге generator в HTML-коде, а также в HTTP-заголовках. Злоумышленники используют эту информацию для определения уязвимых сайтов и автоматического подбора эксплойтов. Даже если вы регулярно обновляете движок, скрытие версии — дополнительный уровень защиты, который не даст легко сканировать ваш сайт.
К тому же, скрывая версию, вы уменьшаете вероятность целевых атак на известные уязвимости конкретных версий WordPress, особенно если используете кастомные решения на базе WP.
Удаление версии WordPress из мета-тега <meta name="generator">
По умолчанию WordPress выводит в шапке сайта мета-тег с версией:
<meta name="generator" content="WordPress 6.2.2" />
Его можно удалить с помощью функции, подключаемой к хуку the_generator. Добавьте следующий код в файл functions.php вашей темы или в отдельный плагин:
function wpall_remove_wp_version() {
return '';
}
add_filter('the_generator', 'wpall_remove_wp_version');
Этот код полностью убирает мета-тег с версией из HTML-кода сайта, что является простым и безопасным способом.
Удаление версии WordPress из RSS-ленты
Версия WordPress также отображается в RSS-лентах, что тоже может быть полезно злоумышленникам. Для удаления версии из RSS добавьте такой код:
function wpall_remove_version_rss() {
return '';
}
add_filter('the_generator', 'wpall_remove_version_rss');
Этот фильтр применяется и к RSS, поэтому достаточно той же функции wpall_remove_wp_version.
Удаление версии WordPress из HTTP-заголовков
WordPress иногда добавляет версию в HTTP-заголовок X-Powered-By или Server. Удалить их можно через настройку сервера, но в WordPress можно попробовать убрать добавление версии из некоторых заголовков с помощью фильтров:
function wpall_remove_http_version() {
header_remove('X-Powered-By');
}
add_action('send_headers', 'wpall_remove_http_version');
Этот код удаляет заголовок X-Powered-By, который часто содержит информацию о PHP и WordPress.
Скрытие версии WordPress в файлах стилей и скриптов
WordPress добавляет параметр ?ver=6.2.2 к URL скриптов и стилей, что тоже раскрывает версию движка. Чтобы убрать этот параметр, используйте следующий фильтр:
function wpall_remove_version_query_string($src) {
if (strpos($src, 'ver=')) {
$src = remove_query_arg('ver', $src);
}
return $src;
}
add_filter('style_loader_src', 'wpall_remove_version_query_string', 9999);
add_filter('script_loader_src', 'wpall_remove_version_query_string', 9999);
Этот код очищает URL от параметра ver, предотвращая передачу версии WordPress через URL подключаемых ресурсов.
Проверка результата и рекомендации
После внедрения всех вышеперечисленных методов рекомендуется проверить исходный код сайта (Ctrl+U в браузере) и HTTP-заголовки через инструменты разработчика или онлайн-сервисы, например securityheaders.com. Версия WordPress не должна быть видна.
Для пользователей, кто предпочитает готовые решения, можно использовать плагин Clearfy Pro, который автоматически скрывает версию и оптимизирует безопасность.
Итоговые рекомендации по безопасности
Удаление версии WordPress — только один из шагов для повышения безопасности. Обязательно следите за обновлениями ядра, плагинов и тем, используйте сложные пароли и ограничивайте доступ к административной части сайта. В комплексе эти меры помогут надежно защитить ваш проект.