J'ai lancé un très gros site l'autre jour et j'aimerais incorporer un plugin de mise en cache. La configuration est mono-site avec certaines fonctionnalités de Buddypress mélangées (pour l'enregistrement de l'utilisateur, les cartes avec gpress, ayant un profil) s'exécutant sur un hôte partagé.
Mes questions sont:
1. Quel plugin considérez-vous le mieux pour la mise en cache compte tenu de cette configuration et pourquoi (si possible)?
2. Quelles sont les meilleures pratiques et étapes à suivre/à prendre en compte lors de la configuration pour vous assurer que tout fonctionne correctement?
3. Les transients
que j'ai ajoutés moi-même sont-ils toujours utilisables ou dois-je les supprimer et laisser le plugin faire son travail? vont-ils s'affronter s'ils ne sont pas enlevés?
Merci!
ADDITION: Plan 'Power' sur http://www.inmotionhosting.com/hostingplans.html
Vous ne pourrez que mettre en cache de manière statique la sortie HTML de vos pages. C'est le moyen le plus rapide de servir des pages, mais vous perdez les aspects dynamiques de WordPress, tels que la rédaction de commentaires et l'affichage des derniers commentaires dans les publications.
Des options de mise en cache sur le disque sont disponibles pour les objets et la base de données, mais vous ne tirerez pas grand profit de cette opération, à moins que votre hôte utilise des lecteurs rapides. Cela pourrait également entraîner une baisse des performances.
Tous les plugins de mise en cache ont une option pour ne pas servir les pages en cache aux utilisateurs connectés ou à tout utilisateur avec un cookie de commentaire.
Les utilisateurs inconnus reçoivent une page en cache.
Les transitoires sont de petits éléments de données destinés à expirer à un moment donné. WordPress stocke les transitoires sous forme de cache dans la base de données. Si vous aviez la possibilité d’utiliser Memcache, WordPress gardera les données transitoires en mémoire. Les transitoires sont bons car ils réduisent les recherches dans les bases de données. Ils sont également intéressants à utiliser pour les réseaux sociaux, tels que l'affichage de vos derniers tweets. Cela évite d'appeler l'API Twitter à chaque chargement de page.
Le plug-in qui utilise le plus Sites Web hautes performances les meilleures pratiques est W3 Total Cache.
W3 Total fait:
Pour votre ensemble d'hébergement partagé, vous devez activer le cache de pages, minify, le cache de navigateur et l'option CDN auto-hébergé.
Vérifier toutes les options pour le cache de page
Activez cette option et définissez l’intervalle de mise à jour correspondant au mieux à votre site. Cela reconstruira le cache de page à l'intervalle donné.
Sélectionnez Réécrire la structure de l'URL et, si vous souhaitez utiliser le CDN, cochez le téléchargement automatique pour que les fichiers récemment modifiés soient automatiquement téléchargés sur le CDN.
Activer et vérifier supprimer les sauts de ligne, js en ligne et la minification css. Si vous utilisez adsense ou un autre service utilisant des commentaires, saisissez-les ici pour éviter leur minification.
Dans la gestion des fichiers, choisissez votre thème et ajoutez les fichiers CSS que vous voulez combinés et minifiés. Il existe également un assistant d’aide qui permet de rechercher tous vos modèles et d’ajouter les fichiers suggérés à votre place.
W3 Total comprend un outil qui parcourt vos modèles de thème et trouve les fichiers Javascript et CSS utilisés et fournit les paramètres recommandés. Essayez d’abord ces paramètres et les problèmes rencontrés revenez en arrière et modifiez-les au besoin. Tous les fichiers surlignés en rouge sont des fichiers que vous avez déjà inclus pour être minifiés.
La même section d'option est disponible pour les fichiers js et vous avez la possibilité de placer les fichiers après <head>
, après <body>
et avant </body>
. Il est préférable d’en mettre autant que possible avant <body>
. Si des plugins ajoutent des js en ligne, vous ne pourrez pas utiliser avant </body>
pour jquery ou les plugins js car ils devront être chargés avant les balises <script>
en ligne. Vous pouvez inclure n'importe quelle combinaison de fichiers à chaque emplacement et pour chaque modèle. Par exemple, vous pouvez configurer votre comment-reply.js pour ne charger que sur single.php
C'est le plus important à faire correctement. Si vous mettez correctement en cache votre contenu statique dans les navigateurs de vos utilisateurs, vous pouvez réduire considérablement le temps de chargement des pages. "ne traitez pas les erreurs 404 pour les objets statiques", les paramètres de cache du navigateur sont une grande victoire pour l'hébergement mutualisé, car invoquer PHP et renvoyer 404 pages à des bots, etc. est une lourde charge de ressources
Tout vérifier
Tout vérifier et définir la durée de vie de notre en-tête Expires sur un futur lointain. 31536000 secondes correspondent à 1 an et aux recommandations de yslow. Si vous apportez des modifications à vos fichiers CSS ou JavaScript, vous devez modifier les noms de fichiers pour empêcher les utilisateurs d’utiliser l’ancienne version. Si vous utilisez minify, vous n'aurez plus à vous soucier de fournir un contenu obsolète, car chaque fois que le cache minify est reconstruit, un nouveau nom de fichier est généré.
Définissez votre stratégie de contrôle du cache sur le cache avec l'âge
Il existe deux autres sections de configuration du cache du navigateur. HTMl et Images. Pour les images, utilisez les mêmes paramètres que CSS et JS. Vous pouvez augmenter le délai d'expiration des images si vous le souhaitez.
Pour le HTML, le paramètre n'est pas expiré sauf si votre site est principalement statique. Vous pouvez utiliser de courtes durées de vie si vous voulez (180 secondes) mais je ne voudrais pas aller plus haut. Activez gzip pour pouvoir vérifier les en-têtes W3 définis afin de vérifier les en-têtes de réponse pour vous assurer qu’ils fonctionnent.
W3 Total prend en charge les CDN d'Origine et Origin Push, ainsi qu'une option auto-hébergée robuste qui vous oblige à configurer des sous-domaines et des noms.
CDN auto-hébergé vous permettra de tirer parti de la gestion en pipeline. Le navigateur ne peut télécharger que quelques fichiers à la fois, et seulement 4 dans certains cas. Le pipeline est une technique dans laquelle les alias (sous-domaines, par exemple) de votre serveur sont utilisés pour permettre à votre navigateur d’augmenter la limite pratique du nombre de fichiers pouvant être téléchargés en parallèle. Cela maximise le débit de votre connexion Internet et permet au navigateur de rendre une page plus rapidement. W3TC prend en charge la gestion transparente de ces fichiers une fois que les CNAME DNS (alias) et les sous-domaines sont correctement configurés.
Cochez toutes les options, puis cliquez sur les boutons de téléchargement pour télécharger tout le contenu sur le CDN. Si vous utilisez auto-hébergé, il y a une autre page de paramétrage pour mettre des informations ftp. Pour Origin Push CDN, il est configuré en fonction du fournisseur que vous utilisez. Pour Origin pull, vous ne chargez aucun fichier et ne définissez votre nom de fichier que sur l'URL fournie par le fournisseur. Remarque: Ne sélectionnez pas le remplacement forcé à moins que les nouveaux fichiers ne fonctionnent pas. Le remplacement forcé téléchargera constamment des fichiers sur le CDN, même s'ils existent déjà, ce qui gaspille de la bande passante et des ressources.
Vous devez toujours tester vos résultats et modifier vos paramètres en conséquence. J'aime utiliser WebPageTest.org . Comparer mes résultats et identifier d'éventuels problèmes.
Voici les résultats avant et après d'un blog WordPress auquel nous avons ajouté W3 Total.
J'espère que ça aide.
Utilisez .htaccess pour mettre en cache des éléments tels que le CSS, les images et le javascript côté client. Le téléchargement le plus rapide est celui qui n'a jamais eu lieu.
J'ai posté une collection de liens et d'articles de référence à ce sujet: http://icanhazdot.net/2010/03/23/speeding-up-self-hosted-wordpress/
N'utilisez pas W3 Total Cache, cela ralentirait et casserait vos pages. Je suggère de mieux utiliser Super Cache et Page Speed Ninja. Ou LiteSpeed Cache pour la mise en cache des objets et l'optimisation css et js, Cache Enabler pour la création de fichiers HTML statiques. Parce que le cache statique ne sera pas créé par litespeed car il doit avoir un module lscache dans le serveur http, qui n'est pris en charge que par le serveur http litespeed ou openlitespeed.