Pagespeed : combine_css avec WordPress

Si vous utilisez WordPress avec mod_pagespeed ou ngx_pagespeed et que vous utilisez le filtre combine_css, vous remarquerez que rien ne se passe. Que faut-il faire ?

La raison de ces problèmes : Le module Pagespeed ne prend pas en compte les incorporations CSS qui ont des ID différents. WordPress définit le nom du CSS comme ID lors de son intégration, et au final, cela ressemble à ceci :

lien rel='feuille de style id='wp-pagenavi-css' (en anglais) href='/wp-content/plugins/wp-pagenavi/pagenavi-css.css?ver=2.70' type='text/css' media='all'/

La solution : supprimer l'ID et la valeur correspondante. Pour ce faire, on peut utiliser une fonction correspondante dans l'application functions.php du thème :

function remove_style_id($link) {
        return preg_replace("/id='.*-css'/", "", $link) ;
}
add_filter('style_loader_tag', 'remove_style_id') ;

Le fond : le filtre étiquette_chargeur de style comprend l'intégration, la fonction supprimer_style_id ne fait rien d'autre que de supprimer les valeurs d'identification dans le résultat final de l'intégration CSS dans WordPress. Le "problème" existe depuis longtemps, sur Codecentric.de cette approche de solution était déjà décrite en 2011. décrit.

Tout compte fait, au final, avec le fonctionnement combinaison_css le plugin W3TC de WordPress n'est plus utilisé : la mise en cache est résolue directement par Nginx via microcaching, toutes les autres optimisations de pages sont effectuées par le plugin W3TC de WordPress. Module Pagespeed dans le serveur web. Ce blog fonctionne avec une configuration correspondante et atteint ainsi de très bonnes valeurs d'indice de vitesse.

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

fr_FRFrançais
Retour haut de page