Il existe de nombreux plugins de mise en cache avec une large gamme de paramètres et de fonctions -
sans une analyse minutieuse, il est impossible de faire un choix compétent . Après avoir navigué sur Internet, je n'ai trouvé aucune comparaison vraiment normale. Il n'y a que des messages uniquement pour attirer l'attention - les descriptions des plugins. La chose la plus courante est les impulsions SEO, pour ainsi dire. J'ai même vu une tentative d'effectuer une analyse comparative des trois plug-ins, mais rien n'a été donné plus loin que la mesure de la vitesse de téléchargement via le service en ligne. Mais comment tout est organisé à l'intérieur, ce que l'influence des optimisations n'est pas dit. Après tout, chaque site est individuel - vous avez encore besoin d'un réglage fin - vous devez comprendre le principe de fonctionnement pour un choix optimal.
Cet article a été créé simultanément avec la création de
matériel , l'accent étant mis sur l'utilisation des résultats d'analyse. Ici, je
veux partager plus de détails et de méthodes de cette analyse avec des personnes et des frères sophistiqués dans la boutique.
Principes
WordPress se compose de nombreux scripts PHP. Chaque fois que vous accédez au site (serveur), une partie des scripts est exécutée et le résultat est sorti sous la forme d'une page HTML. L'idée principale de l'optimisation est de gagner du temps en émettant un résultat immédiatement fini pour un contenu rarement modifié.
En raison de l'urgence du problème, de nombreux plugins de cache ont déjà été écrits et de nouveaux apparaissent. De plus, je ne veux jamais payer trop cher, donc une analyse comparative des seules solutions gratuites et shareware a été réalisée.
Les
principales propriétés que le plug-in doit posséder pour garantir une mise en cache de haute qualité sont
mises en évidence :
- Cache serveur (cache côté serveur)
- Temps de chargement de la page
L'un des paramètres les plus importants. Plus le temps est court, plus le client reçoit rapidement la réponse. Vous pouvez bien sûr choisir un plugin avec beaucoup de temps, mais avec des charges élevées sur le serveur, vous devrez augmenter les performances du matériel, et ce sont des coûts qui auraient pu être évités. - Méthode de mise en cache
Conservation maximale de tous les objets HTML, JS, CSS préparés, de préférence également dans un état compressé, pour gagner du temps de traitement sur le serveur et augmenter la vitesse de sortie.
- Cache client
- Lors de l'émission du résultat, il est possible de contrôler le cache du navigateur du client. Une fois activé, une demande répétée au serveur ne viendra même pas, ce qui affecte favorablement ses performances. Il est indiqué sous forme de valeurs TTL (Time To Live) pour chaque type d'objet (HTML, CSS, JS, Images, ...). Pour les objets critiques, les valeurs sont petites ou égales à 0.
- Optimiser
- Combiner
Charger un JS (ou CSS) commun au lieu de plusieurs, comme chaque accès supplémentaire au serveur coûte cher. Ceci est également indiqué directement par le test de vitesse de page de Google . - Inline (inclusion)
Le contenu du CSS est inséré dans le HTML, ce qui réduit finalement le nombre d'appels au serveur. CSS est préférable d'inclure, car dans la pratique, il est difficile de le diviser en parties nécessaires et pas ainsi. - Report (téléchargement retardé)
Chargement retardé des scripts JS qui n'affectent pas l'affichage initial de la page. C'est également la mesure la plus importante qui affecte la vitesse de chargement des pages pour l'utilisateur. JS vaut mieux reporter que d'inclure directement dans HTML car ils sont généralement simples à séparer et leur inclusion entraînera une augmentation du volume de HTML, ce qui peut entraîner un chargement en plusieurs itérations, ce qui équivaut à l'apparition de requêtes supplémentaires. - Réduire
Le contenu HTML, JS et CSS comporte souvent des parties supplémentaires, telles que des espaces, des sauts de ligne et des commentaires. Tout cela est préférable de supprimer afin de réduire davantage la taille des objets. - Compresser
Compression des données à l'aide de l'algorithme GZip (Deflate) pour réduire la quantité de données transférées. Parce que HTML, JS et CSS sont essentiellement des formats de texte, ils se compressent bien.
- Gérer
- Actualiser (mettre à jour)
Dans le cas où l'objet demandé a changé (par exemple, un nouvel article a été ajouté), l'objet dans le cache doit être recréé, sinon des informations non pertinentes seront envoyées aux utilisateurs. De bons plugins sont configurés pour mettre à jour automatiquement le cache lors des événements les plus évidents. Et il devrait toujours être possible de vider le cache entier manuellement. C'est comme une grue d'arrêt dans un train - très rare, mais nécessaire. - Exclure (ajouter des exceptions)
Parfois, vous devez exclure certains objets et pages de la mise en cache pour résoudre les problèmes. Il doit y avoir un contrôle suffisant à ce sujet.
Comparaison des plugins
Pour compiler la liste réelle à l'étude, la sélection des plugins a été effectuée via le célèbre
wordpress.org avec une recherche par le cache de mots et une sélection des 140 premiers (10 pages) appropriés. Il s'est avéré 24.
Soit dit en passant, si vous pensez qu'un plugin digne n'est pas dans la liste - veuillez écrire dans les commentaires - je les ajouterai à l'analyse plus tard.
Méthodologie
- Tous les tests ont été effectués sur la même page HTML contenant CSS, JS et plusieurs objets multimédias pour couvrir la gamme la plus générale de types.
- Des vérifications de fonctionnalité ont été effectuées pour chaque critère ci-dessus et résumées dans un tableau.
- Chaque critère reçoit le poids de l'importance d'influencer le score global (ils sont visibles dans le tableau détaillé ci-joint).
- La mesure du temps de chargement de la page a d'abord été effectuée sans optimisation, puis il y a eu une mesure avec chaque plugin et une comparaison relative des temps a été effectuée. Cela garantit une indépendance suffisante par rapport à la vitesse d'hébergement.
- L'environnement est le plus récent:
- WordPress 4.9.8,
- PHP 7.2.10 avec mise en cache activée (OpCache),
- MariaDB (MySQL) 10.3.9,
- Apache 2.4.35.
Chaque critère a été vérifié à l'aide du navigateur Chrome:
- Dans la section de débogage, en appuyant sur F12 dans la section Réseau, les temps des différentes étapes de chargement et les en-têtes HTTP des réponses du serveur sont clairement visibles pour vérifier le contrôle du cache du navigateur et la compression. Vous pouvez également voir l'union de CSS et JS dans un ou plusieurs fichiers.
- En utilisant la page View Source, sur le bouton droit, l'analyse du contenu retourné a été effectuée sur l'inclusion de CSS, la qualité de la minification (uniquement HTML, JS, CSS) et les signes de chargement retardé des scripts JS (les attributs defer ou async doivent être présents dans la description du lien de balise vers le script).
- Le chargement retardé de JS a également été vérifié pour maintenir la santé du site, Google Page Speed Test peut montrer que tout va bien et que les scripts ne fonctionnent pas.
Résultats
Le résultat principal de l'analyse est un
tableau XLSX détaillé dans lequel vous pouvez facilement trier, filtrer et voir la méthodologie de calcul des poids finaux. Il contient également des notes sur les spécificités du plug-in lors de l'évaluation de chaque critère.
Chaque plug-in se voit attribuer des rôles en fonction des résultats des tests pour faciliter la compréhension du spectre de couverture des propriétés requises.
Ci-dessous sont résumés les résultats de la comparaison pour comprendre l'image globale et la commodité.
Conclusion
Le
tableau résultant vous permet de sélectionner des plugins en fonction des critères nécessaires et de sélectionner plusieurs combinaisons pour maximiser la couverture des critères nécessaires. À l'appui de 4 combinaisons ont été sélectionnées et testées (bundle marqué au lieu de la version).
Des paramètres spécifiques sont décrits dans le matériel mentionné au début de l'article.
- Il est préférable d'utiliser différentes combinaisons de plugins plutôt qu'individuellement.
- Une faible note globale du plugin n'est pas un signe de son inadéquation. Il peut être bon pour certaines fonctionnalités particulières.
- Certains plugins sont incompatibles lorsqu'ils sont combinés.
- Vous devez toujours vérifier le bon fonctionnement du chargement différé de JS - certains plugins doivent être configurés en plus, et certains cassent toujours le contenu. Le tableau contient des commentaires sur ce sujet.
- Et assurez-vous enfin de vérifier le test de vitesse de page Google (ou d'autres compteurs externes tels que PingDom et autres) - sur différents sites, il peut y avoir des résultats différents, car l'optimisation des plugins peut se comporter différemment.