При разработке и оптимизации сайтов на WordPress часто возникает задача удалить параметр версии ?ver= из URL-адресов подключаемых CSS и JS файлов. Это нужно для улучшения кэширования браузером и повышения безопасности — скрытия версии WordPress от потенциальных злоумышленников.
Почему появляется параметр ?ver= в URL и зачем его удалять
По умолчанию WordPress добавляет параметр версии к URL-адресам стилей и скриптов, например:
https://example.com/wp-content/themes/mytheme/style.css?ver=6.2.2
Это позволяет браузеру понимать, когда необходимо обновить кэш — при изменении версии файла. Однако в продакшене этот параметр зачастую мешает эффективному кэшированию на стороне CDN и браузера, так как URL считается разным при любом изменении параметра. Кроме того, параметр ?ver= раскрывает версию WordPress, что снижает безопасность.
Поэтому часто рекомендуют полностью удалить или заменить этот параметр.
Как удалить параметр версии из URL CSS и JS — практическое решение
Для удаления параметра версии нам нужно использовать фильтр style_loader_src и script_loader_src, которые применяются при выводе URL стилей и скриптов соответственно.
Вот готовый код, который можно добавить в файл functions.php темы или в кастомный плагин:
function wpskills_remove_ver_query_string( $src ) {
if ( strpos( $src, '?ver=' ) ) {
$src = remove_query_arg( 'ver', $src );
}
return $src;
}
add_filter( 'style_loader_src', 'wpskills_remove_ver_query_string', 9999 );
add_filter( 'script_loader_src', 'wpskills_remove_ver_query_string', 9999 );Этот код проверяет, есть ли в URL параметр ver, и удаляет его. При этом важно добавлять фильтр с высоким приоритетом (9999), чтобы переопределить любые другие изменения.
Пояснения к решению
- Функция
remove_query_arg— стандартная функция WordPress, которая удаляет указанный параметр из URL. - Фильтры
style_loader_srcиscript_loader_srcприменяются при регистрации и выводе URL для стилей и скриптов. - Использование префикса
wpskills_в названии функции позволяет избежать конфликтов с другими функциями.
Дополнительные рекомендации по работе с версиями CSS и JS
Удаление параметра версии улучшает кэширование, но при этом вы теряете механизм автоматического обновления браузерного кэша при изменении файлов. Чтобы этого избежать, рекомендуем:
- Использовать версионирование в имени файла. Например,
style.v1.2.cssвместоstyle.css?ver=1.2. - При использовании сборщиков (Webpack, Gulp) реализовать хеширование имени файла.
- В WordPress можно вручную менять версию при регистрации скриптов и стилей, например:
wp_enqueue_style( 'wpskills-style', get_template_directory_uri() . '/style.css', array(), '1.2' );Если вы удаляете параметр ?ver=, то версию лучше отражать именно в имени файла.
Удаление параметра версии с помощью плагина Clearfy Pro
Если вы используете плагин Clearfy Pro, то там есть готовая опция для удаления параметра ?ver= из URL CSS и JS без кода.
Просто активируйте соответствующую настройку в разделе оптимизации и плагин позаботится об этом автоматически.
Как проверить, что параметр версии удалён
После добавления кода или активации плагина откройте исходный код страницы и найдите подключение стилей и скриптов. Вместо URL с ?ver= вы должны увидеть чистые ссылки, например:
https://example.com/wp-content/themes/mytheme/style.css
Для проверки можно использовать инструменты разработчика браузера (обычно F12) или онлайн-сервисы по аудиту производительности.
Заключение
Удаление параметра версии из URL CSS и JS в WordPress — простая и полезная оптимизация, которая повышает эффективность кэширования и безопасность сайта. Главное — учитывать, что при этом нужно контролировать обновление файлов и использовать другие методы версионирования.
Если вы хотите упростить задачу, рассмотрите использование Clearfy Pro для автоматического решения.