web-dev-qa-db-fra.com

L’investigation de thèmes complexes reste lente même avec WP mise en cache

Lorsque vous utilisez un thème complexe WP à côté d'un plug-in de mise en cache WP, il semble y avoir une amélioration minimale des performances. Basculez sur un thème simple pour améliorer les performances de votre site.

QUESTION: Mai WP les processus d'arrière-plan en cours qui ne sont jamais mis en cache et sont constamment exécutés à chaque chargement de page, même lorsque vous utilisez pleinement un plugin de mise en cache WP, et où commencez-vous à étudier cela? functions.php?

J'utilise un thème WordPress payant doté de nombreuses fonctionnalités de personnalisation, ainsi que de son propre plug-in de création de page. Entre le thème et le plugin compagnon, il y a des centaines de fichiers à examiner.

Je me rappelle maintenant avoir vécu la même expérience il y a 2 ans, en utilisant encore un autre thème payant (client), une marque différente, qui possédait également un plugin compagnon de création de page. Je rencontre des temps de chargement de page horribles, comme 15 secondes, même avec la mise en cache confirmée WP.

QUESTION: Existe-t-il un plugin d'analyseur de performances permettant de placer un microscope sur les processus de thème, par opposition aux optimisations frontales classiques (JS, CSS, images, etc.)? J'utilise des plugins Debug This et Query Monitor , mais ils viennent avec de longs menus de rapports techniques; qui sait par où commencer.

QUESTION: Quelqu'un peut-il confirmer si le plug-in de création de page qui lui est destiné fonctionne bien avec la mise en cache de WP, et si c'est le cas?

1
MarsAndBack

En règle générale, les thèmes et les plug-ins de générateur de page sont compatibles avec la mise en cache. La raison pour laquelle ils ont encore tendance à ralentir les sites Web est qu’ils utilisent beaucoup de ressources.

Dans WP, il existe deux ressources principales: les données de la base de données et les fichiers. Parce que les créateurs de page peuvent faire presque tout ce que vous pouvez imaginer, ils doivent être accompagnés de suffisamment de CSS et de JavaScript (et même de balises HTML) pour offrir toutes ces possibilités infinies. Ainsi, ce constructeur de pages viendra avec des centaines de kilo-octets de code CSS et JavaScript d'accompagnement pour pouvoir intégrer toutes ces mises en page intéressantes en HTML qui n'est pas vraiment optimisé.

Les thèmes complexes ont des frais généraux similaires. Ils peuvent avoir d’énormes fichiers CSS et du code JavaScript complexe, et ils souffrent trop souvent de la surcharge de la base de données - en particulier si les développeurs viennent d’ajouter toutes leurs options dans la table de base de données wp_options et de les charger toutes automatiquement. Plus votre table d'options est grande, plus votre site sera lent. En outre, même les thèmes "moins complexes" - avec moins d'options - peuvent toujours être codés de manière à les ralentir. Généralement, moins il contient de fichiers, plus il est probable qu'il s'agisse d'un thème nécessitant moins de ressources. Si vous pouvez trouver un thème ne nécessitant pas l'utilisation d'un framework CSS tel que Bootstrap ou Foundation, cela vous évitera des frais supplémentaires. Ils facilitent l'ajout d'éléments comme les barres de navigation, les lignes et les colonnes, mais à la fin de Le jour venu, si vous trouvez un thème intelligemment codé qui utilise CSS Grid (et les solutions de secours Flexbox) au lieu d’un framework, c’est des centaines de kilo-octets que vous enregistrez uniquement dans des fichiers.

Puisque les constructeurs de pages et les thèmes complexes ont des tonnes de fichiers à télécharger pour chaque visiteur, même si vous avez tout mis en cache autant que possible, il est vrai qu'ils forceront chaque visiteur à télécharger des tonnes de ressources - CSS et JS - alors qu'un simple thème sera beaucoup plus léger. Imaginez que vous téléchargiez un meme GIF animé au lieu de visionner une vidéo de 5 minutes sur Youtube - le fichier GIF est par nature beaucoup plus petit qu'un fichier, de sorte qu'il se télécharge plus rapidement.

Une autre chose qui entre en jeu avec les thèmes très complexes et les constructeurs de page est le fait qu’ils ont non seulement ces fichiers CSS et JS de base que tout le monde télécharge sur chaque page, ils ont aussi souvent des CSS et JS conditionnels, uniquement pour des mises en page spécifiques. Lorsque vous parlez d'un thème contenant des centaines de fichiers, gardez à l'esprit que même lorsqu'ils sont parfaitement mis en cache, un visiteur devra tout de même télécharger, quel que soit le nombre de ces fichiers qui s'applique à chaque page qu'il visite. Ainsi, lorsque vous utilisez un modèle de page particulier qui constitue une ressource supplémentaire - en plus de ce fichier PHP, il possède probablement aussi ses propres CSS et JS spécifiques qui ne s'appliquent qu'à ce modèle. Ceux-ci ne sont pas déjà cachés du côté des visiteurs - ils ont affiché votre page d'accueil et peut-être un message, et maintenant, ils se dirigent vers ce nouveau contenu avec les nouveaux CSS et JS que leur navigateur n'a pas encore rencontrés - ils doivent donc télécharger ces nouvelles ressources de toute façon.

La vitesse de chargement est un sujet assez complexe, car il y a tellement de facteurs différents - nous n'avons pas encore parlé de la rapidité de réponse de votre serveur de base de données ou de votre serveur de fichiers, et votre choix de fournisseur d'hébergement peut considérablement affecter ces moments, ce qui a chaque requête de fichier ou de base de données que vous effectuez. Pour commencer à explorer quels thèmes et ensembles de plug-ins fonctionnent le mieux sur votre propre serveur, je vous recommande de copier votre site sur un site intermédiaire (de préférence sur le même serveur que votre site actif), puis d'essayer quelques plugins tels que des plugins de moniteur de requête pour voir quelles requêtes de base de données sont exécutées et combien de temps elles prennent, des plugins de performance qui peuvent, par exemple, combiner tous vos fichiers JavaScript distincts en un seul fichier, ce qui peut parfois contribuer à augmenter la vitesse, et des plugins de type vérificateur de plugin les plugins sont les plus gourmands en ressources. Ne le faites pas sur votre site principal, car certains de ces plugins consomment beaucoup de ressources et peuvent causer des problèmes à vos visiteurs. Mais en expérimentant tout cela - puis en passant à un thème de base, par exemple, pour voir dans quelle mesure les performances ont changé - et en désactivant ensuite un plug-in à la fois pour en évaluer l'impact sur votre site, vous pouvez avoir une meilleure idée de Qu'est-ce qui engorge votre site et comment coder de véritables expériences personnalisées sans toutes ces ressources supplémentaires?.

1
WebElaine