Analyse comparative et détaillée des plugins de mise en cache pour WordPress


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é.
Plugin
Rôle
Score
Total
Cache du serveur
Cache client
Optimiser
Gérer
LiteSpeed ​​Cache +
Hyper Cache Extended +
Optimiser automatiquement +
Accélérer - Navigateur
Mise en cache
(Bundle)
Complet
96%
98%
71%
100%
100%
Breeze
1.0.10
Complet
93%
95%
71%
97%
75%
Cache WordPress
et plugin CDN +
Optimisez automatiquement
(Bundle)
Complet
90%
98%
100%
83%
75%
Optimiser automatiquement +
Activateur de cache +
Accélérer - Navigateur
Mise en cache
(Bundle)
Complet
88%
98%
71%
83%
100%
Cache total W3
0.9.7
Complet
84%
55%
100%
100%
100%
Cache WordPress
et plugin CDN
1.5.04
Complet
82%
98%
100%
67%
75%
LiteSpeed ​​Cache +
WP Fastest Cache
(Bundle)
Complet
79%
50%
71%
100%
100%
WP Rocket
3.2.0.1
Complet
76%
50%
71%
95%
100%
WP Speed ​​of Light
2.3.2
Complet
70%
50%
71%
83%
100%
Cache Yasakani
2.0.4
Complet
64%
98%
0%
53%
75%
Page Colibri
Optimisation de la vitesse
1.9.2
Optimiser
53%
48%
71%
50%
100%
WP Fastest Cache
0.8.8.6
Complet
52%
50%
71%
47%
100%
Activateur de cache
1.3.1
Cache du serveur
48%
95%
0%
20%
100%
Cache LiteSpeed
2.6.1
Optimiser
47%
2%
71%
70%
100%
Script de cache pour Wordpress (brut)
2,06
Cache du serveur
47%
98%
0%
20%
50%
Optimisez automatiquement
2.4.1
Optimiser
44%
2%
36%
73%
100%
Cache optimisé
1.2.2
Complet
44%
50%
71%
30%
100%
Hyper cache
3.3.7
Cache du serveur
43%
95%
0%
10%
100%
Hyper Cache étendu
1.6.3
Cache du serveur
43%
95%
0%
10%
100%
Cache simple
1.6.4
Cache du serveur
43%
95%
0%
10%
100%
Cache super statique
3.3.5
Cache du serveur
43%
95%
0%
10%
100%
WP Super Cache
1.6.4
Cache du serveur
43%
95%
0%
10%
100%
Vitesse rapide minimiser
2.3.5
Optimiser
36%
2%
0%
65%
100%
Performances WP
Booster de score
1.9.2.1
Cache client
31%
23%
71%
30%
0%
Booster de vitesse
3.7.1
Optimiser
27%
0%
0%
52%
50%
Cache de comète
170220
Complet
27%
25%
0%
30%
100%
Accélérer - Navigateur
Mise en cache
1.0.2
Cache client
23%
0%
71%
30%
0%
Cache Gator
2.1.7
Cache du serveur
20%
48%
0%
0%
100%
Cachify
2.2.4
Complet
16%
25%
0%
10%
50%
Contrôle du cache
2.2.2
Cache client
3%
0%
29%
0%
0%

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.

Source: https://habr.com/ru/post/fr426835/


All Articles