Версия WordPress автоматически добавляется к URL-адресам подключаемых скриптов и стилей в виде параметра ?ver=5.8.1 или аналогичного. Это происходит для контроля кеширования браузерами и CDN. Однако с точки зрения безопасности и оптимизации сайта иногда полезно убрать этот параметр, чтобы скрыть используемую версию WP и избежать ненужных обновлений кеша при изменении версии.
Почему важно убрать версию WordPress из URL JS и CSS
Параметр версии в ссылках на скрипты и стили — обычная практика, но она имеет свои минусы:
- Безопасность: Злоумышленники получают информацию о версии WordPress, что облегчает подбор уязвимостей.
- Оптимизация кеширования: Версия меняется при обновлениях, из-за чего браузеры сбрасывают кеш и загружают файлы заново, даже если код не изменился.
- Чистота URL: Более короткие URL выглядят аккуратнее и могут улучшить индексирование.
Убирая ?ver= из URL, мы уменьшаем риски и улучшаем производительность сайта.
Как удалить версию WordPress из URL скриптов и стилей с помощью кода
Самый простой и надежный способ — добавить фильтр на WordPress, который будет обрезать параметр версии из адресов подключаемых файлов. Добавьте следующий код в файл functions.php вашей темы или в плагин для кастомных функций:
function wplink_remove_version_from_assets( $src ) {
if ( strpos( $src, 'ver=' ) ) {
$src = remove_query_arg( 'ver', $src );
}
return $src;
}
add_filter( 'style_loader_src', 'wplink_remove_version_from_assets', 9999 );
add_filter( 'script_loader_src', 'wplink_remove_version_from_assets', 9999 );Этот код проверяет, есть ли в URL параметр ver, и удаляет его. Фильтры style_loader_src и script_loader_src применяются к адресам стилей и скриптов соответственно.
Использование приоритета 9999 гарантирует, что ваш фильтр сработает после всех остальных.
Альтернативный метод: удаление версии только для определённых файлов
Если вы хотите удалить параметр версии только для определённых файлов (например, только для CSS), можно модифицировать функцию:
function wplink_remove_version_from_css( $src ) {
if ( strpos( $src, '.css' ) !== false ) {
$src = remove_query_arg( 'ver', $src );
}
return $src;
}
add_filter( 'style_loader_src', 'wplink_remove_version_from_css', 9999 );Так вы сохраните версию для скриптов (что полезно для контроля кеширования JS), но уберёте для стилей.
Удаление версии WordPress с помощью плагинов
Если вы не хотите править код, можно использовать плагины, которые убирают версию WordPress из фронтенда, в том числе из URL скриптов и стилей.
- Clearfy — многофункциональный плагин для оптимизации и безопасности. В нём есть опция для удаления версии WP из URL файлов. Подробнее на wpshop.ru.
- WP Rocket — кэш-плагин с функцией оптимизации загрузки, включая удаление версии из URL.
Использование плагинов удобно, если вы не хотите самостоятельно редактировать код и предпочитаете графический интерфейс.
Проверка результатов и важные рекомендации
После внедрения удаления версии из URL проверьте работу сайта:
- Откройте исходный код страницы и убедитесь, что ссылки на CSS и JS не содержат
?ver=. - Проверьте, что скрипты и стили загружаются корректно, нет ошибок в консоли браузера.
- Проверьте кеширование — обновите страницу с очисткой кеша и убедитесь, что файлы не подгружаются заново без необходимости.
Обратите внимание, что удаление версии может привести к ситуации, когда браузер не обновляет кеш при обновлении файлов. Чтобы избежать этого, можно использовать другую стратегию версионирования, например, добавлять хеш-суммы к именам файлов, но это уже более сложная тема.
Как добавить хеш к файлам CSS и JS для автоматического обновления кеша
Вот пример, как в WordPress добавить хеш-сумму файла вместо версии:
function wplink_enqueue_with_hash_version( $handle, $src, $deps = array(), $in_footer = false ) {
$ver = false;
$file_path = ABSPATH . str_replace( home_url( '/' ), '', $src );
if ( file_exists( $file_path ) ) {
$ver = md5_file( $file_path );
}
wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );
}
// Пример использования:
wplink_enqueue_with_hash_version( 'wplink-custom-script', get_template_directory_uri() . '/js/custom.js', array(), true );Этот код вычисляет MD5-хеш файла и подставляет его в качестве версии, что гарантирует обновление кеша при изменении файла.
Заключение по теме удаления версии WordPress из URL
Удаление параметра версии из URL CSS и JS — простая, но полезная мера для повышения безопасности и оптимизации сайта на WordPress. Используйте приведённые выше методы и учитывайте особенности кеширования. Если не хотите править код, попробуйте плагин Clearfy с wpshop.ru.