Exclure des noms de fichiers dynamiques – theme The7
Dans cette documentation
Les changements dynamique de nom de fichier
La plupart du temps, quand vous voulez exclure un fichier CSS de la minification, il aura un nom de fichier simple comme style.css. Exclure ce genre de fichiers de la minification est très facile, car le nom de fichier ne change jamais. Lisez ici comment réduire les problèmes avec la minification et exclure les fichiers problématiques.
Mais parfois vous verrez que certains thèmes ou extensions utilisent un nom de fichier dynamique. C’est par exemple le cas avec le thème The7.
Ce thème WP utilise des noms de fichiers dynamiques, où les nombres sont la variable du nom de fichier comme ici :
style-12345678.css
Cela signifie que si vous excluez ce fichier, l’exclusion n’aura plus d’effet lorsque le nom du fichier changera pour devenir par exemple :
style-98765432.css
Exclure les noms de fichiers dynamiques de la minification
Comment peut-on exclure complètement le fichier CSS meme quand son nom de fichier change ? On utilise une expression régulière pour cela. On a déjà vu comment utiliser une expression régulière dans le but d’exclure un groupe de pages : http://fr.docs.wp-rocket.me/article/196-exclure-pages-cache. Le même principe s’applique pour exclure des noms de fichiers dynamiques.
Comment ça fonctionne ? Utilisons un exemple avec un site test qui utilise le thème The7. Depuis le code source, on peut facilement identifier trois types de fichiers CSS avec des noms de fichiers dynamiques :
Voici donc les noms de fichiers dynamiques :
main-07f3e342a4.css?v=2.3.5 custom-07f3e342a4.css?v=2.3.5 media-07f3e342a4.css?v=2.3.5
Leur structure est donc du type :
[base du nom]-[extension dynamique].css?v=[numéro de version]
Notez qu’en fonction des thèmes et des extensions que vous avez sur votre site, vous pouvez rencontrer différentes formes de fichiers dynamiques, ceci est juste un des exemples possibles.
Si on veut exclure ces fichiers de la minification, on appliquera une expression régulière en remplaçant la partie [extension dynamique]
du nom du fichier. On supprime aussi le [numéro de version]
qui est optionnel et non nécessaire ici.
Ce qui nous donne au final :
main-(.*).css custom-(.*).css media-(.*).css
Donc lorsqu’on ajoute ces noms de fichiers variables à l'option "Fichiers CSS/JS à exclure" de WP Rocket, on ajoute évidemment le chemin d'accès complet à ces fichiers comme vu précédemment. WP Rocket va réduire l'URL à un chemin relatif comme ceci :
Maintenant les fichiers seront exclus même quand la dernière partie du nom du fichier changera :)