Le fichier README contient un guide sur la façon de procéder à l'aide de la version actuelle 7.x-2.31 + d'AdvAgg . Voir aussi cette page wiki sur le groupe Haute performance . La plupart des sites peuvent obtenir un score parfait de 100/100 sur https://developers.google.com/speed/pagespeed/insights/ . Instructions sur la façon de le réaliser pour une nouvelle installation d'AdvAgg ci-dessous.
Assurez-vous de vérifier le site après chaque section pour vous assurer que le changement n'a pas gâché votre site. Les modifications apportées au modificateur AdvAgg sont généralement les plus problématiques, mais elles offrent les améliorations les plus importantes.
Agrégation CSS / JS avancée
Aller à admin/config/development/performance/advagg
- Sélectionnez "Utiliser les paramètres recommandés (optimisés)"
AdvAgg Compress Javascript
Installez AdvAgg Compress Javascript s'il n'est pas activé et allez à
admin/config/development/performance/advagg/js-compress
- Sélectionnez JSMin si disponible; sinon sélectionnez JSMin +
- Sélectionnez Tout supprimer (les plus petits fichiers)
- Cliquez sur le lien de compression par lots pour traiter ces fichiers
AdvAgg Async Font Loader
Installez AdvAgg Async Font Loader s'il n'est pas activé et accédez à
admin/config/development/performance/advagg/font
- Sélectionnez Fichier local inclus dans l'agrégat (version: XXX). Si cette option n'est pas disponible, suivez les instructions ci-dessous les options sur la façon de l'installer.
- Cochez "Utiliser localStorage pour que le flash de texte non stylisé (FOUT) ne se produise qu'une seule fois."
- Cochez "Définir un cookie pour que le flash de texte sans style (FOUT) ne se produise qu'une seule fois."
AdvAgg Bundler
Installez AdvAgg Bundler s'il n'est pas activé et accédez à
admin/config/development/performance/advagg/bundler
Paramètres HTTP / 2.0
- Sous "Nombre cible d'ensembles CSS par page", sélectionnez 25
- Sous "Nombre cible d'ensembles JS par page", sélectionnez 25
- Sous "Logique de regroupement", sélectionnez "Taille du fichier"
Paramètres HTTP / 1.1 (par défaut)
- Sous "Nombre cible d'ensembles CSS par page", sélectionnez 2
- Sous "Nombre cible d'ensembles JS par page", sélectionnez 5
- Sous "Logique de regroupement", sélectionnez "Taille du fichier"
25 bundles vs 2 et 5 ont à voir avec la mise en cache du navigateur. Plus de fichiers équivaut à une meilleure chance pour le navigateur d'avoir ce combo dans son cache, mais plus de fichiers signifie que plus de connexions sont établies et ouvertes dans HTTP 1.1. Utilisez 2 pour CSS car ce numéro n'attend pas de nouvelles connexions; JS est 5 car la plupart des navigateurs ont une limite de connexions simultanées de 6. Ce nombre de bundles a été choisi après de nombreux tests. Dans HTTP 2.0, il y a une connexion de streaming et la pénalité pour plusieurs fichiers CSS et JS est presque inexistante; l'optimisation du cache du navigateur est donc le meilleur choix; ainsi 25 devrait être utilisé pour CSS et JS lors du service HTTP / 2.0.
AdvAgg Relocate
Installez AdvAgg Relocate s'il n'est pas activé et accédez à
admin/config/development/performance/advagg/relocate
- Sélectionnez "Utiliser les paramètres recommandés (optimisés)"
Modificateur AdvAgg
Installez AdvAgg Modifier s'il n'est pas activé et allez à
admin/config/development/performance/advagg/mod
- Sélectionnez "Utiliser les paramètres recommandés (optimisés)"
Génération de fichiers CSS critiques
Accédez à https://www.sitelocity.com/critical-path-css-generator et entrez autant de pages de destination que nécessaire pour les css critiques; le top 10 est généralement un bon début. Si vous avez Google Analytics, cela vous montrera comment trouver vos principales pages de destination https://developers.google.com/analytics/devguides/reporting/core/v3/common-queries#top-landing-pages
ou pour Piwik https: //piwik.org/faq/how-to/faq_160/ . Si vous ne savez pas par quelle page commencer, faites la page d'accueil de votre site. Vous pouvez également l'utiliser pour générer des css https://chrome.google.com/webstore/detail/critical-style-snapshot/gkoeffcejdhhojognlonafnijfkcepob?hl=en
Les exemples de noms de fichiers et de chemins ci-dessous concernent le thème "bootstrap"; ils commencent tous par sites/all/themes/bootstrap/critical-css/
; dans votre thème, créez le critical-css/
répertoire. Le répertoire suivant est basé sur l'utilisateur; anonymous/
,, all/
ou authenticated/
peut être utilisé.
Le répertoire suivant peut être urls/
ou type/
. En regardant urls/
; front est un cas spécial pour la première page, tous les autres chemins utilisent current_path () comme répertoire et nom de fichier avec .css
ajouté à la fin; Voir https://api.drupal.org/api/drupal/includes%21path.inc/function/current_path/7.x
En regardant type/
cela, c'est un cas particulier pour les types de nœuds. Utilisez le nom de la machine et ajoutez .css
à la fin. Tout nœud de ce type verra alors ce fichier css critique appliqué et intégré. Voici quelques exemples montrant comment cela fonctionne.
emplacements de fichiers d'exemple valides pour la page "avant":
sites/all/themes/bootstrap/critical-css/anonymous/urls/front.css
emplacements de fichiers d'exemple valides pour la page "node / 1" current_path ():
sites/all/themes/bootstrap/critical-css/anonymous/urls/node/1.css
exemples d'emplacements de fichiers valides pour le type de nœud de "page":
sites/all/themes/bootstrap/critical-css/anonymous/type/page.css
Si vous voulez une sorte de moyen automatisé pour générer ces fichiers css, fourkitchens a un excellent article sur la façon de le configurer:
https://fourword.fourkitchens.com/article/use-grunt-and-advagg-inline-critical-css -drupal-7-theme