web-dev-qa-db-fra.com

Comment supprimer la chaîne de requête des ressources statiques

Tout expert connaissant la suppression supprimer les chaînes de requête des ressources statiques plugin? Ça ne fonctionne pas.

De plus, j'ai essayé d'écrire ce code dans le fichier function.php de mon thème

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 );

Cela ne fonctionne pas non plus pour moi.

J'ai également décoché "Empêcher la mise en cache des objets après le changement des paramètres après le changement des paramètres" dans W3 Total Cache , mais je reçois toujours le même résultat dans GTMetrix .

Quelqu'un peut-il m'aider? J'utilise le thème Twenty Twelve . J'ai également essayé les mêmes techniques dans d'autres thèmes.

Vous trouverez ci-dessous une capture d'écran du formulaire de message GTMetrix:  screen shot of problem 

3
Qasim Khan

On dirait que vous utilisez Photon de JetPack qui ajoute des chaînes de requête à vos URL. Selon ce fil, il n’ya aucun moyen de les supprimer https://wordpress.org/support/topic/how-to-remove-photon-query-string?replies=2

Si vous souhaitez vous débarrasser des chaînes de requête, je vous suggérerais de désactiver photon en utilisant un CDN qui n'ajoute pas de chaîne de requête et en utilisant le fragment de code que vous avez mentionné:

function _remove_script_version( $src ){
$parts = explode( '?ver', $src );
return $parts[0];
}
add_filter( 'script_loader_src', '_remove_script_version', 15, 1 );
add_filter( 'style_loader_src', '_remove_script_version', 15, 1 );
5
CodyA

Il est déconseillé de supprimer la chaîne de requête, car c’est le meilleur moyen de supprimer les caches.

Hmmm, je devrais peut-être reformuler. Le coût d'implémentation d'un schéma d'URL qui "masque" les paramètres tout en vous permettant d'éliminer le cache est trop lourd pour les sites WordPress simples à implémenter. En théorie, vous pouvez le faire, mais en pratique, je n'ai jamais vu personne le faire.

0
Mark Kaplun

Comme mentionné par Mark Kaplun , des chaînes de requête sont parfois nécessaires pour un site Web. Dans ce cas, la requête ?w= définit la taille de l'image.

Si vous souhaitez toujours supprimer ces requêtes, utilisez le code suivant dans votre functions.php:

add_filter( 'script_loader_src', 'wpse_216912_remove_query' );
add_filter( 'style_loader_src', 'wpse_216912_remove_query' );

function wpse_216912_remove_query( $src ) { // Remove query strings from static resources also jetpack query
   if ( strpos( $src, '?ver=' ) || strpos( $src, '&ver=' ) || strpos( $src, '?w=') || strpos( $src, '?a600e5')  ) {
        $src = remove_query_arg( array( 'ver', 'w', 'a600e5' ), $src );
    }
    return $src;
}
0