Accélérez WordPress Caching et optimisation de la base de données

L'un des points de discussion les plus populaires de la communauté WordPress est d'accélérer WordPress et d'optimiser les pages Web. Je ne pense pas qu'il existe un blog WordPress sans un article intitulé "X conseils pour accélérer WordPress". Ne vous méprenez pas, c'est une bonne chose. Mais nous avons besoin de meilleurs articles sur ce sujet au lieu d’être ennuyeux..

Cela peut ressembler à un autre tutoriel "Conseils pour accélérer WordPress", mais dans cette série en trois parties, nous allons passer en revue tous les aspects de l'optimisation et de l'accélération de votre site Web WordPress..

Commençons par la chose la plus populaire et probablement la plus facile: la mise en cache.

Mise en cache dans WordPress

Je pense qu'il est prudent de dire que c'est le sujet le plus populaire pour accélérer WordPress. Certes, cela est dû aux plugins de mise en cache WordPress populaires et faciles à utiliser, mais c’est également l’une des techniques fondamentales pour réduire la charge de la base de données et accélérer les sites Web WordPress..

Nous allons revenir aux plugins de mise en cache, mais examinons les deux types de mise en cache: la mise en cache côté serveur et la mise en cache côté client.

Mise en cache côté client

La mise en cache côté client est le type de mise en cache des navigateurs de vos visiteurs. Cela signifie que lorsque les visiteurs visitent votre site Web, leurs navigateurs stockent les données de certaines parties de vos pages. Bien que les navigateurs mettent certaines données en cache automatiquement (comme la mise en cache de fichiers JavaScript et CSS), nous pouvons procéder à des réglages précis à l’aide de .htaccess des dossiers.

En ajustant le .htaccess fichier, je veux dire en ajoutant l’en-tête "Expires". Vous avez peut-être entendu parler de «mise à profit de la mise en cache du navigateur», car il est couramment utilisé dans les didacticiels «Optimisation de site Web» et qu'il s'agit d'un critère de priorité élevée dans le service Google PageSpeed..

Heureusement, nous n'avons pas à inventer nous-mêmes ces en-têtes: de nombreux codes sont prêts à être "empruntés" sur le Web. J'aime celui du Boilerplate HTML5, où les en-têtes sont divisés en catégories de types de fichiers:

# ----------------------------------------------------- ----------------------------- # | Expires en-têtes | # ----------------------------------------------------- ----------------------------- # Servir des ressources avec des en-têtes à échéance éloignée. # IMPORTANT: Si vous ne contrôlez pas le contrôle de version avec le cache # basé sur le nom de fichier, envisagez de réduire les temps de cache à environ une semaine..  ExpiresActive sur ExpiresDefault "accès plus 1 mois" # CSS ExpiresByType text / css "accès plus 1 an" # échange de données ExpiresByType application / json "accès plus 0 secondes" ExpiresByType application / ld + json "accès plus 0 secondes" ExpiresByType application / vnd .geo + json "accès plus 0 secondes" application ExpiresByType / xml "accès plus 0 secondes" accès ExpiresByType texte / xml "accès plus 0 secondes" # Favicon (ne peut pas être renommé!) et images du curseur ExpiresByType image / x-icon "accès plus 1 semaine "# de composants HTML (HTC) ExpiresByType text / x-composant" accès plus 1 mois "# HTML ExpiresByType text / html" accès plus 0 secondes "# JavaScript ExpiresByType application / javascript" accès plus 1 an "# Fichiers manifeste Application ExpiresByType / manifeste + json "accès plus 1 an" application ExpiresByType / x-web-app-manifeste + json "accès plus 0 secondes" ExpiresByType texte / cache-manifeste "accès plus 0 secondes" # Media ExpiresByType audio / ogg "accès plus 1 mois "ExpiresByType image / gif" accès plu s 1 mois d'accès "ExpiresByType image / jpeg" plus un mois "d'accès ExpiresByType image / png" plus un mois "ExpiresByType video / mp4" plus un mois d'accès "ExpiresByType video / ogg" plus un mois "ExpiresByType video / webm" plus 1 mois "# Flux Web ExpiresByType application / atom + xml" accès plus 1 heure "Application ExpiresByType / rss + xml" accès plus 1 heure "# Polices Web ExpiresByType application / font-woff" accès plus 1 mois "ExpiresByType application / fonte -woff2 "accès plus 1 mois" application ExpiresByType / vnd.ms-fontobject "accès plus 1 mois" application ExpiresByType / x-font-ttf "accès plus 1 mois" ExpiresByType police / opentype "plus 1 mois" image / svg ExpiresByType + xml "accès plus 1 mois"  

Placez ces lignes de code dans votre .htaccess déposer et vous êtes prêt à partir!

Mise en cache côté serveur

En ce qui concerne la mise en cache côté serveur dans WordPress, nous pouvons parler de quatre types principaux de mise en cache: la mise en cache de page, la mise en cache de base de données, la mise en cache d'objet et la mise en cache de code d'opération (code d'opération). Sourav Kundu l'explique dans son article sur WP Explorer, mais récapitulons:

  1. Mise en cache de la page: WordPress génère vos pages en interrogeant des bases de données et en chargeant les résultats. Cependant, la mise en cache des pages stocke chaque page sous forme de fichiers HTML dans la mémoire de stockage locale du serveur (disque dur ou RAM) et sert les fichiers HTML correspondant à vos pages chaque fois que vos visiteurs visitent votre site Web..
  2. Mise en cache de la base de données: Bien que les bases de données soient le "cerveau" d'un site Web WordPress où toutes les données sont stockées, ce n'est pas très efficace lorsque WordPress répète sans cesse la même requête sans modification sur chaque page et pour chaque visiteur. La mise en cache de la base de données enregistre et sert les résultats de ces requêtes et actualise les résultats lorsqu'une requête de modification est effectuée..
  3. Mise en cache d'objets: Ceci est une API interne de WordPress qui permet aux plugins de stocker des données de requêtes coûteuses dans la mémoire. C'est un peu hors de propos pour notre série - peut-être que nous verrons cela dans un autre tutoriel à l'avenir.
  4. Mise en cache d'opcode: Tout comme vous ajoutez de la farine, de l'eau, des œufs, du sucre, etc. chaque fois que vous faites un gâteau, les codes de vos fichiers PHP sont des instructions pour "compiler" et faire vos demandes. La mise en cache Opcode est le type de mise en cache qui stocke le code compilé, ce qui accélère considérablement le processus..

Plugins WordPress sur le Caching

Nos chapitres principaux sont les aspects d’accélérer WordPress, il peut donc être hors sujet de revoir les plugins. Néanmoins, c'est une bonne idée de parler de quelques plugins dans chaque chapitre. En ce qui concerne la mise en cache, je sais que vous connaissez déjà les deux plugins les plus populaires:

  1. WP Super Cache: Il s'agit du plug-in de mise en cache le plus populaire pour WordPress, avec plus de 6 millions de téléchargements et une note de 4,2 étoiles au moment d'écrire cet article. En termes simples, WP Super Cache fonctionne en générant des fichiers HTML statiques de vos pages et en les actualisant avec un intervalle que vous définissez (une heure par défaut). Cela fonctionne comme par magie, même dans les hôtes partagés, mais peut ne pas être suffisant pour les sites Web à fort trafic.
  2. W3 Total Cache: Deuxième plug-in le plus populaire avec près de 4 millions de téléchargements et 4,5 étoiles, W3 Total Cache est le type de plug-in le plus adapté aux sites Web à fort trafic tournant à partir d'un VPS ou d'un meilleur environnement d'hébergement. Grâce à sa large gamme de paramètres et à sa prise en charge des options de mise en cache hautes performances, cette solution est peut-être la meilleure pour vous si vous savez ce que vous faites. Si vous n'êtes pas familier avec le jargon des paramètres, vous pouvez aussi bien l'utiliser en sortant de la boîte et ne pas changer les options, ou vous pouvez casser votre front-end.

Optimiser la base de données dans WordPress

Les bases de données sont le "cerveau" de votre site Web: elles stockent les précieuses données que vous affichez sur vos pages. Les sites Web HTML statiques stockent leurs données dans les pages, mais les systèmes de gestion de contenu doivent s’appuyer sur des bases de données (SQL, NoSQL, XML, JSON, etc.) pour stocker nos données. WordPress n'est pas différent - il utilise MySQL pour stocker le contenu statique et dynamique avec les informations de votre site Web, les paramètres WordPress, les détails de l'utilisateur, etc..

Les bases de données sont un standard puissant pour conserver, servir et modifier vos données, mais si vous les utilisez mal et oubliez de les conserver, elles peuvent graisse et gonflé. Et comme tout autre logiciel, WordPress a également besoin de maintenance. WordPress n'accumule pas trop de masse dans la base de données, mais cela ne signifie pas qu'il ne ralentira pas votre site Web..

Vous devez surveiller vos révisions de publications, vos corbeilles de publications, vos pages, vos commentaires, etc., ainsi que tout autre type de données "obsolètes". Et de temps en temps, vous devez vérifier votre "surcharge de base de données", qui est souvent comparée à la défragmentation du disque dur ou à la vidange de votre voiture..

Il est possible de gérer manuellement tous ces éléments: vous pouvez vider votre corbeille, désactiver la fonctionnalité "révisions", supprimer les commentaires de spam et optimiser la charge de la base de données en vous connectant à phpMyAdmin, mais ce n'est pas une technique optimisée pour l'optimisation de la base de données. Au lieu de cela, vous pouvez utiliser un plugin WordPress pour faire tout le travail.

Il existe de nombreux plug-ins qui vous permettent d'optimiser votre base de données en un clic ou même automatiquement. Celui que j'aime le plus est WP-Optimiser: Il nettoie et optimise automatiquement votre base de données sans tracas.

WP-Optimize énumère ses principales caractéristiques comme suit:

  • Suppression des révisions de post périmées
  • Suppression des commentaires obsolètes non approuvés et indésirables
  • Suppression des commentaires supprimés
  • Suppression des métadonnées Akismet des commentaires
  • Suppression d'autres métadonnées périmées des commentaires
  • Adapté aux appareils mobiles, vous pouvez maintenant optimiser votre site lors de vos déplacements
  • Suppression de tous les rétroliens et pingbacks
  • Nettoyage des postes de traite automatiques
  • Suppression des options transitoires
  • Vider la corbeille
  • Nettoyage automatique de toutes les options intégrées (utilise également la rétention si activé)
  • Possibilité de conserver le nombre de semaines sélectionné lors du nettoyage
  • Option pour ajouter ou supprimer un lien sur la barre d'administration wp.
  • Activer / Désactiver les plannings hebdomadaires d'optimisation
  • Appliquez des commandes natives WordPress MySql optimiser sur vos tables de base de données sans phpMyAdmin ni aucune requête manuelle.
  • Afficher les statistiques de la table de la base de données. Montre combien d'espace peut être optimisé et combien d'espace a été effacé.
  • Activé pour les administrateurs uniquement.

Assurez-vous de vérifier les autres plugins d'optimisation de base de données, mais ne soyez pas négligent quant à la maintenance de votre base de données..

À la partie 2

Dans la prochaine partie de la série, nous examinerons les aspects de la compression et de la minification, et nous utiliserons les CDN pour rendre votre site Web WordPress plus rapide..

Que pensez-vous de l'accélération de WordPress? Partagez vos pensées ci-dessous dans la section commentaires. Et si vous avez aimé l'article, n'oubliez pas de le partager.