Guide pratique pour améliorer les performances des sites Web WordPress
Points clés:
WordPress représente près de 50% de la part de marché CMS des meilleurs sites Web du monde (les données viennent de BuiltWith.com). Bien que WordPress soit parfois critiqué pour être gonflé, à forte intensité de ressources et que les modèles de données ont des lacunes, sa popularité est incontestable.
La facilité d'utilisation de WordPress et le seuil bas le rendent largement utilisé. Il est facile à configurer et nécessite peu de connaissances techniques. Vous pouvez trouver un hôte WordPress pour seulement quelques dollars par mois, et les paramètres de base sont effectués en seulement une demi-heure de clics. Des thèmes et des thèmes gratuits avec le générateur de pages Wysiwyg abondent.
Beaucoup de gens méprisent WordPress, mais il est indéniable que WordPress ait promu le développement d'Internet et de PHP, et de nombreux professionnels de l'Internet ont également commencé leur carrière en raison de la facilité de WordPress.
Cependant, cette facilité d'utilisation a un coût. De nombreux sites Web sous la bannière de WordPress ne sont pas créés par des professionnels, mais sont réalisés par des développeurs bon marché, et leurs performances et leur apparence sont souvent négligées. L'apparence et les performances professionnelles ne doivent pas être corrigées par la suite, mais doivent être prises en compte pendant la phase de planification du site Web.
Ling's Cars, un concessionnaire de voitures d'occasion britannique bien connu, a essayé une méthode de marketing unique et n'imitez pas à moins que vous ne sachiez très bien ce que vous faites.
Tout commence par la sélection d'hôte
Les débutants choisissent généralement des produits à faible coût et sont livrés avec de nombreuses fonctionnalités adaptées aux débutants. Cette partie de la configuration du site Web doit être prise au sérieux en considérant les pratiques commerciales inappropriées de certains grands participants de l’industrie et le besoin du client pour les professionnels de la migration du site Web.
Nous pouvons diviser les fournisseurs d'hébergement WordPress en plusieurs niveaux:
Pour les hôtes gérés, il est important de noter la pile du serveur, l'intégration CDN et le stockage SSD. Les ressources garanties comme A2 sont un grand avantage. Ensuite, l'accès SSH. Les utilisateurs avertis de la technologie peuvent bénéficier de la disponibilité de WP-CLI.
Lors du choix des VP, il est important de noter que la virtualisation Xen ou KVM est meilleure qu'OpenVZ car elle peut réduire la survente des ressources et aider à garantir que les ressources que vous achetez sont bien la vôtre. Il offre également une meilleure sécurité.
Easy Engine est un logiciel qui peut transformer l'installation de votre installation VPS / WordPress en une heure de travail.
Concernant la pile du serveur, si vous poursuivez les performances, Nginx est meilleur qu'Apache, PHP 7 est un must. Si nous avons vraiment besoin d'Apache, l'utilisation de Nginx comme proxy inverse est un avantage, mais cette configuration peut être plus compliquée.
Les testsmontrent que PHP 7 a un grand avantage sur les versions précédentes. Selon Fasthosts.co.uk:
WordPress 4.1 a augmenté les demandes par seconde sur PHP 7 de 95%.
Lorsque vous choisissez un hôte, soyez conscient des expériences négatives de certains fournisseurs notoires.
Précautions logicielles
Ce qui ralentit généralement les sites Web WordPress est l'énorme frontal qui contient beaucoup de ressources statiques et de requêtes de base de données. Ces problèmes découlent du choix des sujets (et de leurs constructeurs de pages, de grands curseurs, etc.), qui non seulement ralentit le chargement initial en raison de nombreuses demandes et de la taille globale, mais également en raison de beaucoup de javascript et de contenu qui doit être Rendu.
La règle d'or ici est: ne l'utilisez pas à moins qu'il y ait une bonne raison.
Cela peut ressembler à une règle de la bouche d'Homère Simpson, mais si vous pouvez sauter des cloches et des sifflets, sautez-le. Être conservateur. Si vous devez ajouter des fonctionnalités brillantes ou des visuels JS, priorisez toujours ceux qui sont adaptés et codés autant que possible pour vos besoins exacts. Si vous êtes une personne de codage qualifiée et que le projet justifie le travail, n'oubliez pas d'écrire votre propre code.
Vérifiez tous les plugins indispensables à votre site Web - et supprimez d'autres plugins.
La chose la plus importante est: sauvegardez votre site Web avant de commencer à couper!
Si vous utilisez un sujet où vous utilisez de nombreux messages ou champs personnalisés, veuillez noter que beaucoup d'entre eux ralentiront votre requête de base de données. Gardez votre modèle de données aussi simple que possible, et sinon, considérez que le but original de WordPress était un moteur de blog. Si vous avez besoin de plus de fonctionnalités, vous voudrez peut-être considérer certains cadres Web MVC existants qui vous donneront plus de contrôle sur votre modèle de données et vos choix de base de données.
Dans WordPress, nous pouvons créer de riches modèles de données personnalisés en utilisant des types de publication personnalisés, une taxonomie personnalisée et des champs personnalisés, mais prêtez attention au coût des performances et de la complexité.
Si vous comprenez le code, veuillez vérifier votre sujet pour les requêtes de base de données inutiles. Chaque accès à la base de données individuelle dépensera des millisecondes précieuses dans votre TTFB, ainsi que des mégaoctets de mémoire sur votre serveur. N'oubliez pas que les boucles secondaires peuvent être coûteuses - alors soyez prudent lorsque vous utilisez des pièces et des widgets qui montrent des messages supplémentaires, tels que des curseurs ou des zones de pièce. Si vous devez les utiliser, envisagez d'obtenir tous les messages dans une seule requête, sinon cela peut ralentir votre site. Pour ceux qui ne veulent pas coder à partir de zéro, il y a un référentiel GitHub.
L'utilisation de champs personnalisés pour obtenir des articles en fonction de certaines conditions peut être un outil puissant pour développer des fonctionnalités WordPress complexes. Voici un exemple de question de méta où vous pouvez trouver des instructions détaillées sur son coût. Résumé: Les métadonnées du post ne sont pas construites pour le filtrage, la taxonomie est.
get_post_meta est une fonction qui est généralement utilisée pour obtenir des champs personnalisés, il peut être appelé avec uniquement l'ID de poste comme paramètre, auquel cas il obtiendra le champ de métadonnées de tous les messages dans un tableau, ou il peut prendre le Nom du champ personnalisé comme deuxième paramètre, auquel cas il ne renvoie que le champ spécifié.
Si vous utilisez get_post_meta () sur un message plusieurs fois (pour plusieurs champs personnalisés) sur une page ou une demande, sachez que cela n'engage pas de coûts supplémentaires car cela est appelé pour la première fois lorsque Les métadonnées après seront mises en cache. L'installation et la suppression de divers plugins et le changement de différents thèmes tout au long du cycle de vie d'un site Web remplit souvent votre base de données avec de nombreuses données indésirables. Il est tout à fait possible de découvrir - lorsqu'il vérifie pourquoi les sites Web WordPress fonctionnent lentement ou ne se chargent pas en raison de l'épuisement de la mémoire du serveur - la base de données est devenue des centaines de mégaoctets ou même plus que les gigaoctets, et rien ne peut l'expliquer.
Les options WP sont l'endroit où de nombreuses données orphelines sont souvent laissées pour compte. Cela inclut, mais sans s'y limiter, diverses données transitoires (cet article met en garde contre les meilleures pratiques concernant la suppression des données transitoires dans les plug-ins). Les données transitoires sont une forme de cache, mais comme tout autre cache, elle peut faire plus de mal que de bien si elle est mal utilisée. Si votre environnement de serveur le fournit, WP-CLI a un ensemble de commandes spécifiquement pour la gestion des données transitoires, y compris la suppression. Sinon, il existe des plugins dans la bibliothèque de plugin WordPress qui peuvent supprimer les données transitoires expirées, mais elles fournissent moins de contrôle. Si la suppression des données transitoires fait toujours du butin de notre base de données sans aucune raison pratique, WP-Sweep est un excellent outil gratuit qui peut faire le travail de nettoyage de la base de données. Une autre chose à considérer est WP Optimize. Avant d'effectuer tout type de nettoyage de la base de données, il est fortement recommandé de sauvegarder votre base de données! Un plugin très pratique pour analyser le cycle de vie de la demande WordPress est les objets de débogage. Il fournit des inspections de toutes les données transitoires, shortcodes, classes, styles et scripts, modèles chargés, requêtes de base de données et crochets.
Assurer une configuration raisonnable et orientée vers les performances - considérant notre pile de serveurs à l'avance, éliminant le ballonnement possible de la sélection des sujets et des surcharges de plug-in et de widget - nous devrions essayer d'identifier les goulots d'étranglement. Si nous testons notre site Web dans un outil comme Pingdom Speed Test, nous obtiendrons un diagramme de cascade de toutes les ressources chargées dans la demande:
Cela nous donne des informations détaillées sur le cycle de vie de demande de réponse que nous pouvons analyser pour trouver des goulots d'étranglement. Par exemple: Pour obtenir des tests et des conseils plus approfondis pour améliorer le site Web, il existe un petit utilitaire de ligne de commande appelée WebCoach. Dans un environnement avec NodeJS et NPM installé (comme Homestead amélioré), il est facile à installer: Après l'installation, nous pouvons obtenir des informations et des suggestions détaillées sur la façon d'améliorer tous les aspects du site Web, y compris les performances: cache peut jouer un rôle important lors de la gestion des sites Web WordPress. Il existe plusieurs niveaux et des moyens possibles de se cacher. Le cache de page est un cache de toute la sortie HTML d'une application Web. Si vous le pouvez, nous devons d'abord essayer de tester des solutions au niveau du serveur, telles que Nginx Cache ou Varnish, ou les systèmes de mise en cache fournis par les fournisseurs d'hébergement tels que Kinsta, Siteground. Si cela n'aide pas comme nous l'espérions, nous voulons peut-être envisager d'utiliser des plugins comme WP Super Cache, un cache WP le plus rapide ou le cache total W3 amélioré sur GitHub. Tout cela peut améliorer les performances, mais nécessite généralement une certaine expérimentation. Une solution de mise en cache mal configurée peut en fait nuire aux performances du site Web. Par exemple, W3TC - au moins avant les améliorations - est considéré comme la meilleure solution de cache gratuite qui fait des merveilles… quand cela fonctionne. Lorsque cela ne fonctionne pas, cela peut prendre votre site Web hors ligne. WP est considérée comme la solution de mise en cache avancée la plus appréciée. La mise en cache de page peut considérablement améliorer les performances et livrer l'intégralité du site Web de RAM, mais sachez que si vous avez un site Web dynamique avec un panier ou comptez sur des cookies ou des frontaux personnalisés, cela peut provoquer des complications. Il peut fournir à un utilisateur la partie d'interface utilisateur d'un autre utilisateur, il doit donc généralement être testé avant d'aller en production. Ceci est particulièrement adapté aux solutions sur des serveurs non gérés, tels que la mise en cache de la page Varnish ou CloudFlare. La mise en cache des fragments est une solution à considérer lorsque les sites Web dynamiques dépendants des cookies sont difficiles à mettre en cache en utilisant la méthode pleine page ou lorsque nous mettons les demandes AJAX. Voici une bonne introduction. Le cache d'objet signifie compiler et stocker toutes les requêtes de base de données et les objets PHP en mémoire. Certains plugins de cache essaient de gérer les backends de cache d'objet pour nous. L'utilisation des backends est généralement APCU, Memcached et Redis. Ils doivent être installés sur le serveur. Pour tester plus profondément les performances de notre code PHP et de notre cache d'objet, un outil précieux (nécessite un accès à la coquille et l'installation de WP-CLI) est la commande de profil. Nous pouvons l'installer en utilisant la commande suivante: ou (Selon la situation d'installation, vous devrez peut-être ajouter l'indicateur - allow-root.) Nous pouvons ensuite analyser l'intégralité du cycle de charge, ou aller profondément dans des crochets, des fichiers et des classes spécifiques, leurs rapports de temps de chargement et de cache. Le cache du navigateur signifie forcer le navigateur du visiteur à enregistrer leurs fichiers statiques dans leur cache, ils n'ont donc pas besoin d'obtenir ces fichiers de notre serveur lorsqu'ils sont accessibles à plusieurs reprises. Utilisez les en-têtes Cache-Control et expire ici. Les plugins de mise en cache gèrent généralement les caches du navigateur et définissent les en-têtes. Techumero a fait un guide plus approfondi. Fichier statique Les fichiers statiques sont des images, des feuilles de style, des codes JS, des polices, des fichiers multimédias, etc. Nous devons nous assurer de les comprimer et que nous utilisons HTTP / 2 pour servir ces fichiers si possible. Si notre hôte géré ne prend pas en charge HTTP / 2 ou que la migration de nos VP non gérés vers HTTP / 2 est hors de notre portée, le moyen le plus simple est d'intégrer le CDN dans notre pile. CDN fournit nos fichiers statiques des centres de données les plus proches de notre public. Cela réduit la latence, ce qui signifie souvent tirer parti de leur infrastructure hautement réglée. Autooptimize est un plugin qui peut aider à manipuler nos actifs statiques et à réduire le nombre de demandes. En ce qui concerne les fichiers multimédias, nous devons envisager de compresser / coder nos vidéos pour réduire leur taille et les fournir par le biais de fournisseurs tels que YouTube pour réduire le stress sur nos serveurs. Un fournisseur de stockage cloud comme Amazon S3 est un autre bon choix. L'hébergement vidéo est en dehors de la portée de cet article, mais WPMUDEV a produit un guide pratique sur ce sujet. En ce qui concerne les images, ces images sont généralement trop grandes pour le Web. Parfois, la seule solution qui peut faire fonctionner nos serveurs correctement (qui peut prendre beaucoup de temps) est la compression par lots via Shell. ImageMagick sur Linux a un outil de converti utile qui nous permet de compresser par lots nos images. Cet exemple de manière récursive le fait pour tous les JPG dans le dossier, réduisant la qualité JPEG à 80%, ainsi que d'autres petites améliorations, et redimensionne l'image (elle devrait être auto-interprétée): WP Bullet a deux excellents guides pour la compression par lots des fichiers JPG et PNG. De plus, il existe des services d'imagination et des plug-ins WordPress correspondants pour réduire la taille de l'image, l'optimiseur d'image EWWW, etc ... Autres invites aléatoires dans Apache: Les plugins comme la sécurité ITHEMES, la connexion WPS Hide, etc. peuvent aider à résoudre ce problème et modifier notre URL de notre page de connexion. Si vous êtes sous une attaque par force brute et que vous n'êtes pas protégé par un CDN ou un hôte géré comme CloudFlare, envisagez d'utiliser un pare-feu comme Fail2ban (vous devez installer un pare-feu, que vous soyez attaqué ou non). Tous, vous devez être averti à nouveau: avant de modifier le site Web, veuillez le sauvegarder! Conclusion J'espère que cette compilation des conseils d'optimisation WordPress pourra être utile. À mesure que la taille du site Web augmente, ces techniques deviennent de plus en plus difficiles à appliquer rétroactivement. C'est pourquoi il est préférable de commencer tôt et de s'efforcer de tirer le meilleur parti du chemin: appliquez autant de ces technologies que possible avant de commencer , et vous aurez non seulement un début fluide, mais aussi un sommet dès le premier jour Applications de performance - c'est certainement une excellente expérience pour tous les nouveaux utilisateurs.
Le réseau de livraison de contenu (CDN) peut améliorer considérablement les performances des sites Web WordPress en stockant des copies du contenu du site Web dans le monde. Lorsque les utilisateurs visitent votre site Web, CDN fournit le contenu du serveur le plus proche d'eux, ce qui réduit le temps nécessaire pour charger du contenu. Cela peut augmenter considérablement la vitesse du site Web, en particulier pour les utilisateurs qui sont loin de votre serveur principal. L'optimisation de la base de données WordPress peut améliorer considérablement les performances du site Web. Cela peut être réalisé en nettoyant régulièrement la base de données, en supprimant des données inutiles et en optimisant des tables de base de données. Les plug-ins comme WP-Optimize peuvent automatiser ce processus, ce qui facilite le maintien d'une base de données propre et efficace. L'optimisation de l'image peut améliorer considérablement les performances des sites Web WordPress en réduisant la taille de l'image sans affecter sa qualité. Cela peut être réalisé en compressant l'image, en utilisant le format d'image correct et en ajustant l'image à la bonne taille. Des plugins comme Imagify peuvent automatiser ce processus, ce qui facilite l'optimisation des images. La réduction du temps de réponse du serveur peut améliorer considérablement les performances des sites Web WordPress. Cela peut être réalisé en optimisant la configuration du serveur, en utilisant des fournisseurs d'hôtes de haute qualité et en implémentant des solutions de mise en cache. De plus, la réduction du nombre de demandes qu'un site Web fait au serveur peut également augmenter le temps de réponse du serveur. La réduction des fichiers CSS et JavaScript peut améliorer considérablement les performances des sites Web WordPress en réduisant la taille de ces fichiers. Ce processus consiste à supprimer les caractères inutiles, tels que les espaces et les commentaires du code sans modifier sa fonctionnalité. Les plugins comme Autoptimize peuvent automatiser ce processus, ce qui facilite la réduction des fichiers. Optimiser les sites Web WordPress en fonction des appareils mobiles peut améliorer considérablement les performances de votre site Web sur ces appareils. Cela peut être réalisé en mettant en œuvre une conception réactive, en optimisant des images pour adapter les appareils mobiles et en utilisant des thèmes adaptés aux mobiles. De plus, des plugins comme WPTOUCH peuvent vous aider à créer des versions conviviales de votre site Web. Le chargement paresseux peut améliorer considérablement les performances des sites Web WordPress en chargeant des images et d'autres contenus uniquement lorsqu'ils sont visibles sur l'écran de l'utilisateur. Cela peut réduire le temps de chargement initial de la page et améliorer la vitesse du site Web. Des plugins comme Lazy Load by WP Rocket peuvent automatiser ce processus et faciliter la mise en œuvre de chargement paresseux sur votre site Web. La compression GZIP peut améliorer considérablement les performances des sites Web WordPress en réduisant la taille des fichiers. Ce processus implique la compression du fichier avant d'être envoyé au navigateur de l'utilisateur, réduisant ainsi la quantité de données qui doivent être transférées. Cela peut améliorer considérablement le temps de chargement du site Web. Des plugins comme Check et Activer la compression GZIP peuvent automatiser ce processus et faciliter la mise en œuvre de la compression GZIP sur votre site Web. La surveillance des performances des sites Web WordPress peut vous aider à identifier tous les problèmes qui peuvent ralentir votre site Web. Cela peut être fait à l'aide d'outils tels que Google Pagespeed Insights, GTmetrix et Pingdom. Ces outils peuvent vous fournir des informations détaillées sur les performances du site Web, y compris le temps de chargement, la taille de la page et le nombre de demandes. Maintenance de la base de données
<code>npm install webcoach -g</code>
Page Cache
Fragment Cache
Cache d'objet
<code>npm install webcoach -g</code>
<code>wp package install git@github.com:wp-cli/profile-command.git</code>
Cache du navigateur
<code>npm install webcoach -g</code>
<code>wp package install git@github.com:wp-cli/profile-command.git</code>
<code>wp package install wp-cli/profile-command</code>
Il existe plusieurs plugins qui peuvent améliorer considérablement les performances des sites Web WordPress. Certains des meilleurs incluent WP Rocket, W3 Total Cache et WP Super Cache. Ces plugins fournissent des fonctionnalités telles que la mise en cache de page, la mise en cache d'objets et la compression GZIP pour aider à accélérer le site Web. De plus, les plugins comme Imagify peuvent optimiser vos images, réduisant leur taille sans affecter la qualité, ce qui peut également améliorer le temps de chargement.
Comment CDN améliore-t-il les performances WordPress?
Comment optimiser ma base de données WordPress?
Comment améliorer les performances WordPress dans l'optimisation de l'image?
Comment réduire le temps de réponse du serveur dans WordPress?
Comment réduire CSS et JavaScript pour améliorer les performances WordPress?
Comment optimiser mon site Web WordPress pour s'adapter aux appareils mobiles?
Comment améliorer les performances WordPress lorsqu'ils sont chargés paresseusement?
Comment utiliser la compression GZIP pour améliorer les performances WordPress?
Comment surveiller les performances de mon site Web WordPress?
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!