Как скрыть версию WordPress на сайте?

Часто владельцы WordPress-сайтов, заботясь о безопасности своего веб-ресурса, желают скрыть какое-либо упоминание о версии “движка”. Это вполне оправданно, так как зная версию и ставя перед собой цель навредить, злоумышленник попытается найти и применить все известные уязвимости для этой версии. Общеизвестно, что WordPress, по умолчанию, добавляет версию всюду, где только можно: в шапку сайта, RSS, в названиях файлов css и js. Если смотреть на это с точки зрения безопасности, то действительно существует проблема.

Как скрыть версию WordPress?

В одной из прошлых статей мы детально описывали, как узнать версию WordPress на чужом сайте. Теперь рассмотрим, как скрыть эту информацию, защищая свой сайт от всякого рода недоброжелателей. Для этого необходимо выполнить несколько этапов, поочередно удаляя версию “движка” из всех его разделов.

Этап 1. Удаление версии из шапки сайта и RSS-страницы

WordPress, по умолчанию, в файле header.php генерирует специальный мета-тег generator в секции <head></head>, в котором присутствует информация актуальной на данный момент версии WordPress на сайте. Это можно увидеть, воспользовавшись комбинацией клавиш [Ctrl]+[U]. Кроме того, аналогичная строка кода размещается и на RSS-странице сайта (http://site.ru/feed).

Исходный код главной страницы сайта

Для удаления указанного мета-тега необходимо добавить специальный код в файл functions.php Вашей темы.

Если Вы не знаете, как редактировать functions.php, то в этом случае Вам поможет плагин ProFunctions.

Итак, в указанный файл следует добавить следующий PHP-код:

add_filter( 'the_generator', '__return_empty_string' );

Этап 2. Удаление версии из css- и js-файлов

Если воспользоваться этой комбинацией клавиш для просмотра исходного кода страницы ([Ctrl]+[U]), то можно увидеть, что в местах, где вызываются файлы css-стилей и js-скриптов, тоже указывается текущая версия WordPress.

Исходный код главной страницы сайта

Для удаления такой информации тоже существует специальный код:

function wpschool_remove_ver_css_js( $src, $handle ) {
    if ( strpos( $src, 'ver=' ) )
    $src = remove_query_arg( 'ver', $src );
    return $src;
}
add_filter( 'style_loader_src', 'wpschool_remove_ver_css_js', 9999, 2 );
add_filter( 'script_loader_src', 'wpschool_remove_ver_css_js', 9999, 2 );

Этап 3. Удаление версии в файлах readme.html и license.txt

Во время установки копии “движка”, в корневом каталоге сайта, по умолчанию, создаются файлы readme.html и license.txt, в которых содержится общая информация о системе. Более ранние версии WordPress в указанных файлах также содержали актуальную версию “движка”. В последних обновлениях такой информации нет. В обоих случаях можно смело удалять эти два файла, что никоим образом не отобразиться на работе сайта.

Если Вы используете плагин Clearfy Pro, то у него уже встроены инструменты, позволяющие удалить версию WordPress из вышеперечисленных разделов сайта.

В качестве заключения

Стоит отметить, что для тех, кто не желает править какие-либо файлы сайта WordPress, есть более легкий и безопасный вариант удаления версии — бесплатный плагин Meta Generator and Version Info Remover. После установки и активации плагина необходимо в админ-панели перейти в раздел меню Настройки -> Meta Generator and Version Info Remover Settings.

Страница настроек плагина Meta Generator and Version Info Remover Settings

Для удаления версии на странице настроек плагина следует отметить все пункты и нажать кнопку Save Changes.

Курс WordPress-разработчик
Если Вам понравилась статья — поделитесь с друзьями
Михаил Петров