Eliminar la query string de archivos CSS y JS en WordPress

Uno de los ajustes más comunes en el proceso de acelerar la descarga de nuestra página web (WPO) es establecer la caché del lado del navegador del usuario, que evitará que éste se descargue determinados archivos en cada visita, como imágenes, ficheros de hojas de estilo o ficheros de javascript.

Estableceremos la caché de navegador desde el fichero .htaccess de nuestra web, definiendo un tiempo de cacheo para cada tipo de archivo de nuestro sitio, ya que una imagen no tendrá por norma general la misma duración de caché que por ejemplo un fichero CSS, y con unas sencillas instrucciones tendremos lista la caché de navegador de nuestra web.

Ficheros CSS y JS con parámetros (query string) en su URL

A veces en CMS´s como WordPress tendremos varios ficheros javascript o de hojas de estilo que se sumarán al código fuente del sitio con parámetros del tipo:

<script type="text/javascript" src="http://www.midominio.xx/wp-content/plugins/contact-form-7/includes/js/scripts.js?ver=4.3.1"></script>

Como puedes ver, al final de la URL aparece un parámetro ?ver=4.3.1 que determina la versión del archivo que se está cargando. Hasta ahí todo correcto, pero ¿Que sucede con estas URLs que incorporan la interrogación (query string)? Pues que este tipo de ficheros no se guardan en la caché del navegador y provocan que el usuario se los tenga que descargar en cada consulta a la web.
Sucede además que WordPress añade muchos de estos archivos a través de plugins, lo que hace que cuando tengamos nuestra web lista encontremos 5, 10 o más ficheros CSS o JS que no se cachean y que por lo tanto relentizan el tiempo de carga de nuestra web.

Cómo eliminar la interrogación de los ficheros CSS y JS en WordPress

Para solucionar esto podemos añadir el siguiente código al fichero functions.php de nuestro tema, y así eliminar estas cadenas extras en la URL de los ficheros permitiendo cachearlos a nivel de navegador. El código es este:

/* SE ELIMINAN LOS QUERY STRINGS (?) DE LOS ARCHIVOS ESTATICOS JS Y CSS*/
function _remove_script_version( $src ){
$parts = explode( '?', $src );
return $parts[0];
}
add_filter( 'script_loader_src', '_remove_script_version', 15, 1 );
add_filter( 'style_loader_src', '_remove_script_version', 15, 1 );
/* FIN SE ELIMINAN LOS QUERY STRINGS (?) DE LOS ARCHIVOS ESTATICOS JS Y CSS*/

Con este simple código tus ficheros CSS y JS ya serán cachebles. Espero que te sirva de ayuda

Soy Consultor SEO

Puedo ayudar a su proyecto online a conseguir la visibilidad que necesita