Bien que tous les composants d’un site WordPress soient importants, votre base de données est sans doute la plus importante. C’est là que pratiquement toutes les informations de votre site sont stockées et accessibles. En tant que tel, votre optimisation de la base de données WordPress doit être parfaite.
Une base de données qui souffre de gonflements et de problèmes de performance ralentira votre site et nuira à votre classement dans les moteurs de recherche. En outre, vous risquez d’affecter l’expérience utilisateur globale (UX). En retour, cela peut avoir un impact sur vos chiffres de trafic et se répercuter sur votre classement dans les résultats de recherche (entre autres).
Dans ce tutoriel, nous examinerons l’optimisation de la base de données de WordPress sous plusieurs angles. Nous parlerons de la structure générale que vous verrez, ainsi que de nombreuses techniques d’optimisation à utiliser. Nous mentionnerons également les outils et les services qui peuvent vous aider à maintenir vos bases de données en bon état.
Comment comprendre la structure de la base de données de WordPress
En bref, la base de données WordPress est l’épine dorsale de votre site web. Elle héberge presque tout, comme le contenu, les données des utilisateurs, les paramètres et bien plus encore. En ce qui concerne WordPress, les « tables » de la base de données sont chargées de stocker des types d’informations spécifiques.
La plateforme utilise les systèmes de gestion de base de données MySQL ou MariaDB, et vous y accédez à l’aide d’outils tels que phpmyAdmin ou Adminer:
Par exemple, la table wp_posts
contient vos articles et vos pages, tandis que wp_users
contient des données sur les utilisateurs de votre site. Nous examinerons certaines de ces tables plus en détail dans un instant.
Lors de l’installation, WordPress crée un ensemble de tables par défaut pour couvrir tous les cas d’utilisation typiques dont vous avez besoin. Cependant, les extensions, les thèmes et l’installation peuvent également créer des tables pour stocker des données spécifiques et connexes.
Cette approche modulaire est excellente à bien des égards, car elle permet des fonctionnalités étendues. En revanche, un trop grand nombre de tables superflues (ainsi qu’une mauvaise gestion) peut également entraîner un gonflement du système.
Il est essentiel de comprendre la structure de la base de données de WordPress pour deux raisons :
- La performance. Une bonne organisation de la base de données vous permet de récupérer les données plus rapidement, ce qui aura un impact direct sur les temps de chargement et les performances.
- La maintenance. Savoir quelles tables correspondent aux différentes parties de votre site vous aidera lors de la maintenance. Par exemple, si une extension particulière pose des problèmes, vous pouvez dépanner les tables qui lui sont associées.
Le nettoyage et l’optimisation réguliers des tables de votre base de données permettent d’éviter qu’elles ne deviennent trop volumineuses et encombrantes. Comme nous l’avons noté, l’impact sur les performances pourrait vous affecter de manière négative.
Tables spécifiques à WordPress
Les sites de tous types utilisent des bases de données, et pas seulement WordPress. La plateforme a ses propres types de tables de base de données et leurs rôles, et si vous voulez les optimiser, il est important de bien les comprendre.
Bien que nous ne les couvrions pas toutes ici, vous serez amené à utiliser certaines tables plus que d’autres :
wp_options
. Cette table stocke les réglages de l’ensemble du site et est sans doute l’une des tables les plus consultées de votre base de données. Vous souhaiterez que cette table soit allégée grâce à une bonne optimisation.wp_postmeta
. C’est ici que sont stockées les métadonnées de vos publications. Au fur et à mesure que votre site grandit, cette table peut devenir l’une des plus grandes de votre base de données.wp_users
etwp_usermeta
. Toutes les informations relatives aux utilisateurs de votre site et à leurs métadonnées se trouvent dans ces deux tables. Dans de rares cas, vous pouvez avoir besoin d’aller ici pour changer un mot de passe si vous êtes bloqué hors de WordPress.
N’oubliez pas que chaque extension ou thème que vous ajoutez à votre site peut également modifier cette structure. Il est cependant rare qu’un thème ou une extension supprime l’une de ces tables.
Malgré cela, vous devez régulièrement examiner et comprendre ces changements potentiels. C’est la clé pour maintenir une base de données optimisée qui soutient, plutôt que d’entraver, les performances de votre site.
Pourquoi l’optimisation de la base de données WordPress est nécessaire pour la plupart des sites
Optimiser votre base de données WordPress n’est pas seulement une bonne pratique, c’est une nécessité pour la plupart des sites qui veulent offrir une expérience transparente. Votre base de données est le stockage central de toutes les données importantes de votre site. Sa santé a un impact direct sur les performances, la vitesse et la fiabilité de votre site.
En tant que tel, il y a deux raisons générales pour lesquelles l’optimisation régulière de la base de données de WordPress devrait être un élément de base du flux de travail :
- Amélioration de la vitesse et des performances du site. Votre base de données WordPress contiendra des données inutiles ou redondantes au fil du temps, telles que des options transitoires, des révisions d’articles, des commentaires de spam, ou des brouillons périmés. Ce gonflement rendra la recherche d’informations plus lente.
- Amélioration de l’expérience utilisateur. Les utilisateurs s’attendent également à une navigation fluide et rapide. Une base de données bien optimisée se traduit par un chargement plus rapide des pages et un traitement plus efficace des données. En d’autres termes, chaque interaction sur le site repose sur des requêtes de base de données. Une plus grande efficacité se traduit par une meilleure expérience utilisateur.
Il existe également des raisons plus avancées de s’assurer que vous optimisez votre base de données. Par exemple, une base de données non optimisée exerce une pression supplémentaire sur votre serveur, qui doit travailler plus dur pour trouver et servir les données. Cela aura un effet critique si vous utilisez un hébergement partagé avec des ressources limitées. C’est en partie la raison pour laquelle Kinsta ne propose pas d’hébergement mutualisé.
De plus, au fur et à mesure que votre site grandit, votre base de données se développe également. Bien que vous puissiez utiliser un petit système gérable au début, il peut devenir rapidement complexe. Grâce à une optimisation régulière, vous pouvez vous assurer que votre base de données peut gérer l’évolution de votre site sans compromettre les performances.
En bref, l’optimisation de la base de données de WordPress augmentera les temps de réponse. Un délai de chargement de quelques secondes peut entraîner une augmentation du taux de rebond et une perte de trafic, ce qui n’est pas une bonne nouvelle pour votre classement dans les moteurs de recherche.
Comment effectuer une maintenance et un nettoyage réguliers
Si vous nettoyez et entretenez régulièrement votre base de données WordPress, vous disposez de l’un des meilleurs moyens de garantir le bon fonctionnement de votre site. Cependant, les bases de données peuvent s’encombrer de données inutiles au fil du temps, d’où l’importance d’un flux de travail régulier et cohérent.
En outre, vous devez utiliser tous les outils et services à votre disposition de la manière la plus optimale possible. La bonne nouvelle est que WordPress offre un certain nombre d’approches pour maintenir votre base de données.
Une extension propose une myriade de moyens d’optimiser une base de données. WP-Optimize est une solution populaire pour ce travail. Il en existe d’autres, mais celle-ci est très bien notée et appréciée sur WordPress.org, elle est gratuite et fait l’objet de mises à jour régulières.
Nous montrerons comment optimiser votre base de données WordPress à l’aide de cette extension tout au long de cet article, mais vous pouvez transposer les instructions dans l’extension de votre choix. Pour les clients de Kinsta, assurez-vous que l’extension que vous choisissez répond à nos exigences et ne figure pas sur notre liste d’interdictions.
Les prochaines sections aborderont ce sujet plus en détail, et nous couvrirons l’approche manuelle et l’utilisation de WP-Optimize. Nous aborderons les outils de Kinsta plus tard. Mais d’abord, couvrons quelques tâches de pré-optimisation.
Ce qu’il faut faire avant de s’attaquer à l’optimisation
Avant de vous lancer dans votre base de données, il y a quelques tâches simples à effectuer. Tout d’abord, vous devez toujours effectuer une sauvegarde complète de votre site et de votre base de données. Si le pire scénario se produit et que vous détruisez votre site, vous pourrez le restaurer en quelques minutes.
Vous devez également supprimer les extensions et les thèmes que vous n’utilisez pas sur votre site. Cela pourrait résoudre quelques problèmes, et pas seulement avec votre base de données. Cela peut également contribuer à renforcer la sécurité de votre site.
Notez toutefois que, selon l’extension ou le thème, cette opération peut laisser des tables indésirables derrière. Bien sûr, c’est exactement la raison pour laquelle nous voulons optimiser la base de données, donc comprendre les extensions et les thèmes ui laissent des données transitoires derrière vous aidera à l’avenir.
La dernière tâche sera celle que vous trouverez en vous connectant à l’outil de gestion de base de données de votre choix. Les erreurs de base de données peuvent évidemment indiquer des problèmes de performance, et vous devez donc les résoudre avant de procéder à une optimisation plus poussée.
En bref, le processus consiste à sélectionner toutes vos tables, puis à utiliser le bouton Vérifier la table pour générer un rapport.
Si vous voyez OK ou quelque chose de similaire, c’est optimal. Cependant, toute erreur doit être résolue avant de continuer. C’est là qu’une demande d’assistance peut s’avérer judicieuse.
1. Optimisez les tables de votre base de données
La première étape consiste à optimiser les tables de votre base de données. Dans le cas d’une approche manuelle, cliquez sur le lien Bases de données de votre outil de gestion, puis sélectionnez votre base de données :
Dans de nombreux cas, vous serez déjà dans la base de données de votre site WordPress. Quoi qu’il en soit, vous verrez une liste de tables dans votre base de données. Il vous suffit de les sélectionner en bloc, puis de choisir l’option Optimiser la table dans le menu déroulant avant de cliquer sur Go :
Au bout d’un certain temps, vous verrez apparaître un rapport décrivant l’état de chaque table de votre base de données :
Avec WP-Optimize, allez dans WP-Optimize > Base de données > Optimisations. A partir de là, cliquez sur le bouton Exécuter l’optimisation à côté de l’option Optimiser les tables de la base de données :
L’extension va parcourir toutes les tables, et vous donner un message de succès. À ce stade, vous pouvez passer à la révision des articles.
2. Nettoyer les révisions d’articles
Le système de révision des articles de WordPress signifie que chaque sauvegarde que vous faites peut s’accumuler au fil du temps. Vous pouvez les supprimer de votre base de données facilement en utilisant des requêtes SQL. La façon la plus simple de le faire est avec une ligne :
DELETE FROM wp_posts WHERE post_type = 'revision’;
Cela supprimera tous les types de messages de révision de la table. Cependant, il existe également des données associées dans d’autres tables. Pour capturer et supprimer toutes ces données, vous pouvez utiliser l’extrait suivant :
DELETE FROM wp_posts WHERE post_type = 'revision';
DELETE FROM wp_term_relationships WHERE object_id NOT IN (SELECT ID FROM wp_posts);
DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT ID FROM wp_posts);
Bien entendu, vous devez utiliser le bon préfixe de table pour votre propre base de données si vous copiez et collez ceci. Avec une extension, cette tâche prend quelques secondes. Tout comme l’optimisation générale de la base de données de WordPress, WP-Optimize vous donne un bouton d’un seul clic à partir de WordPress :
A l’avenir, vous pourriez limiter le nombre de révisions utilisées par WordPress en accédant à votre fichier wp-config.php. Ici, ajoutez la ligne suivante au fichier et enregistrez vos modifications :
define( 'WP_POST_REVISIONS', X );
Ici, X
est le nombre de révisions que vous souhaitez conserver. Vous pouvez également spécifier false
ici, mais nous ne le recommandons pas. Vous devez toujours avoir au moins une révision à votre disposition en cas de besoin.
3. Supprimer les commentaires de spam et les éléments mis à la corbeille
Nous pouvons également utiliser des requêtes SQL pour supprimer les commentaires indésirables. Notez que lorsque vous modérez des commentaires, les commentaires indésirables restent dans votre base de données pendant 30 jours. Cela signifie que les commentaires marqués comme spam pendant cette période resteront dans votre base de données.
Vous pouvez les supprimer complètement avec quelques lignes de SQL dans votre outil de gestion de base de données :
DELETE FROM wp_comments, wp_commentmeta
USING wp_comments
LEFT JOIN wp_commentmeta ON wp_comments.comment_ID = wp_commentmeta.comment_id
WHERE wp_comments.comment_approved = 'spam’;
Il en va de même pour les éléments que vous envoyez à la corbeille dans WordPress. Il peut y avoir beaucoup de contenu « dans les limbes », que vous pouvez supprimer avec une autre requête SQL :
DELETE p, pm, tr
FROM wp_posts p
LEFT JOIN wp_postmeta pm ON p.ID = pm.post_id
LEFT JOIN wp_term_relationships tr ON p.ID = tr.object_id
WHERE p.post_status = 'trash’;
Comme pour les révisions d’articles, vous pouvez définir des valeurs pour le temps nécessaire à la suppression des éléments de la corbeille dans wp-config.php:
define( 'EMPTY_TRASH_DAYS', X )
Dans WP-Optimize, il y a trois options pour vous aider à supprimer les commentaires de spam et la corbeille de WordPress :
Il existe également une option pour supprimer les commentaires non approuvés. Cela peut être utile dans certaines situations, mais nous ne le recommandons pas. Modérez plutôt ces commentaires, puis effacez-les si nécessaire.
4. Supprimez les étiquettes inutilisées
Les taxonomies sont importantes pour WordPress mais elles peuvent devenir une énorme collection au fil du temps. C’est un excellent cas d’utilisation pour optimiser votre base de données, et comme pour d’autres techniques, vous pouvez utiliser une requête SQL :
DELETE t, tt
FROM wp_terms AS t
INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id
LEFT JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
WHERE tt.taxonomy = 'post_tag' AND tt.count = 0;
L’option la plus proche pour supprimer les étiquettes inutilisées dans WP-Optimize est Clean post meta data. Cette option évalue si vous avez des métadonnées orphelines et les supprime :
Bien que cette option puisse supprimer des catégories et d’autres données, c’est une solution sûre à utiliser, surtout si aucun autre article ou page ne les utilise.
5. Débarrassez-vous des Pingbacks et Trackbacks
Nous ne savons pas combien de sites WordPress utilisent des pingbacks et des trackbacks à l’heure actuelle, mais ils peuvent encore encombrer votre base de données si vous laissez le paramètre activé. La première chose à faire est de vérifier si cette option est désactivée. Il s’agit d’une tâche simple à effectuer dans l’écran Réglages > Discussion de WordPress :
Dans la section Réglages par défaut des publicationse, assurez-vous de décocher les options « Tenter de notifier les blogs… » et « Autoriser les liens de notifications… » et enregistrez vos modifications. Ensuite, retournez dans votre outil de gestion de base de données et exécutez la requête suivante :
DELETE c, cm
FROM wp_comments c
LEFT JOIN wp_commentmeta cm ON c.comment_ID = cm.comment_id
WHERE c.comment_type IN ('trackback', 'pingback’);
Ces deux éléments se trouvent au même endroit que les commentaires, mais le type est différent et c’est ce sur quoi la requête se concentre. WP-Optimize offre deux options distinctes pour chacun d’entre eux :
Une fois ce travail effectué, vous ne devriez plus voir de trackbacks ou de pingbacks dans votre base de données !
Utiliser l’optimisation automatique de la base de données WordPress de Kinsta
Pour les clients de Kinsta, vous n’aurez pas besoin d’une extension d’optimisation de base de données WordPress. Nous effectuons des optimisations automatiques continues 24 heures sur 24 pour tous les sites. Par extension, cela signifie que vous n’aurez pas besoin de savoir quoi que ce soit sur les requêtes SQL, où les données se trouvent dans votre base de données, ou toute autre chose pertinente pour l’optimisation de la base de données de WordPress.
L’optimisation continue de la base de données fait partie de notre surveillance de la performance des applications (APM). Cela permet à votre base de données WordPress (et à votre site) de rester légère et efficace sans avoir besoin d’intervenir manuellement.
L’APM nettoie votre base de données en supprimant les données inutiles telles que les transitoires, les métadonnées orphelines et les commentaires de spam. Ainsi, vous pouvez vous assurer que votre base de données reste optimisée sans intervention.
L’utilisation de l’APM n’est pas l’objet de cet article, mais nous l’abordons dans notre documentation. En ce qui concerne la surveillance de la base de données, APM surveille les requêtes SQL les plus lentes qui s’exécutent :
Vous accédez à l’APM via le tableau de bord MyKinsta, en particulier l’écran APM. Notez qu’il se peut que vous deviez d’abord l’activer :
À partir de là, vous devez laisser à l’APM le temps de rassembler les données. Cependant, une fois qu’elles sont visibles, vous pouvez vérifier les requêtes qui ont besoin d’être optimisées.
Comment optimiser les requêtes de base de données pour plus d’efficacité
L’optimisation des requêtes de base de données que vous utilisez est cruciale pour améliorer les performances et la vitesse de votre site WordPress. Des requêtes efficaces signifient une récupération plus rapide des données, ce qui à son tour conduit à des temps de chargement améliorés et à une meilleure expérience utilisateur.
Étant donné que vous pouvez utiliser des requêtes pour optimiser la base de données de WordPress, voici quelques conseils pour les rendre plus efficaces :
- Optimisez la structure de vos requêtes. Vous remarquerez que nous n’utilisons pas de caractères génériques (ou astérisques) dans nos exemples de requêtes. Au lieu d’utiliser
SELECT *
, soyez précis quant aux colonnes exactes dont vous avez besoin. De même, utilisezJOIN
plutôt que des sous-requêtes dans la mesure du possible. Les sous-requêtes peuvent être moins efficaces, surtout si elles n’ont pas une bonne structure ou si elles impliquent de grands ensembles de données. - Utilisez la mise en cache des requêtes. Des outils tels que Redis peuvent stocker les résultats des requêtes en mémoire. Cela signifie que les résultats de la requête peuvent être servis à partir du cache plutôt que d’interroger à nouveau la base de données la prochaine fois.
Il s’agit là de vagues conseils, mais vous pouvez faire bien d’autres choses encore. Voyons cela rapidement.
Optimisation avancée de la base de données de WordPress et conseils de dépannage
l’indexation peut vous aider à ajouter un guide de référence rapide à votre base de données. Il aide le serveur de base de données à trouver les données plus rapidement sans avoir à scanner chaque ligne d’une table.
Pour y parvenir, identifiez les colonnes qui sont fréquemment utilisées dans vos requêtes et envisagez d’y ajouter des index. Vous pouvez le faire à partir de phpMyAdmin (ou d’un outil similaire). Tout d’abord, cliquez sur la table que vous souhaitez indexer et allez dans l’onglet Structure:
Ensuite, sélectionnez les colonnes que vous souhaitez indexer et choisissez l’option Index en bas du tableau :
Une fois que vous aurez enregistré vos modifications, ces colonnes seront indexées.
L’instruction EXPLAIN
peut également vous aider à comprendre comment MySQL exécute votre requête. Cela peut vous aider à repérer les inefficacités et à comprendre comment votre requête interagit avec les index. Pour l’exécuter, ajoutez l’instruction au début d’une requête existante. Lorsque vous l’exécutez, SQL décompose l’exécution de la requête :
Il n’est pas possible d’aborder ici tous les aspects de l’instruction EXPLAIN
, bien que la documentation de MySQL couvre presque tout ce que vous devez savoir à ce sujet.
Contrôle des performances
Le contrôle des performances de votre base de données WordPress est une partie essentielle de l’exploitation d’un site. Elle permet d’identifier les problèmes potentiels avant qu’ils ne s’aggravent et de s’assurer que votre site reste efficace et réactif.
La plupart des techniques que nous abordons dans cet article sont destinées à la surveillance des performances, comme l’utilisation de EXPLAIN
pour les requêtes lentes. Cependant, il est possible d’aller beaucoup plus loin. En fait, phpmyAdmin inclut ses propres mesures de performance dans l’onglet Statut du serveur :
Vous pouvez ainsi visualiser les temps d’exécution des requêtes et les processus (dans l’onglet Statistiques des requêtes ), ce qui permet d’identifier les requêtes qui doivent être optimisées. Pour une surveillance avancée, MySQL Workbench vous sera d’une aide précieuse :
Elle vous offre des fonctionnalités avancées pour la conception, le développement et l’administration des bases de données. Elle fournit également des rapports de performance et des diagnostics qui peuvent vous aider à affiner votre base de données.
Dans WordPress, l’extension Query Monitor vous permet de surveiller les requêtes de base de données, les crochets, les conditionnels, les requêtes HTTP, et bien plus encore.
Elle est particulièrement utile pour détecter les requêtes lentes et identifier les extensions ou les thèmes qui en sont la cause. Dans la plupart des cas, cependant, il s’agit d’une extension de développement, qui peut donc ne pas convenir à un site de production.
Comment gérer les grandes bases de données dans WordPress
Au fur et à mesure que le contenu, les utilisateurs et le trafic d’un site WordPress augmentent, sa base de données s’agrandit naturellement. Une base de données volumineuse est quelque chose que vous rencontrerez (ou dont vous vous inquiéterez) souvent lorsque vous gérerez votre site.
La plupart des conseils que nous donnons dans cet article peuvent être adaptés à une base de données volumineuse – et à sa réduction. Cependant, il existe de nombreux autres conseils pour les bases de données qui sont par nature plus volumineuses que la normale :
- Archivez les anciennes données. Au lieu de conserver toutes les données en direct, envisagez d’archiver les anciennes publications ou les données utilisateur auxquelles vous n’accédez pas régulièrement.
- Utilisez un réseau de diffusion de contenu (CDN). Le fait de décharger et de servir les ressources statiques telles que les images, les vidéos et les téléchargements à partir d’un autre serveur peut réduire la charge de votre site et contribuer à l’accélérer. De plus, votre site se chargera plus rapidement pour les utilisateurs, où qu’ils se trouvent.
- Requêtes personnalisées. Si vous êtes un développeur WordPress, écrivez des requêtes efficaces pour vos thèmes et vos extensions. Cela vous permettra de ne récupérer que ce dont vous avez besoin et de maintenir un niveau d’efficacité élevé.
Vous pouvez même envisager des techniques avancées telles que le partitionnement des tables et le « partage de la base de données » Dans ce dernier cas, les données sont réparties entre plusieurs bases de données. Il s’agit d’une technique souvent complexe qui nécessite généralement l’intervention d’un expert.
En parlant de cela, les experts sont une nécessité lorsqu’il s’agit de la haute performance de votre base de données et de votre site web. L’hébergement WordPress de Kinsta est évolutif, géré et optimisé pour la plateforme.
Les plans commencent à partir de 35 $ par mois, et notre architecture peut prendre en charge un simple blog, jusqu’à des réseaux d’entreprise. N’hésitez pas à nous contacter pour découvrir comment nous pouvons devenir votre partenaire d’hébergement à long terme, quels que soient vos objectifs.
Résumé
Votre base de données WordPress est comme le moteur d’une voiture : sans réglage, elle ne fonctionnera pas aussi bien que vous le souhaitez. En fait, un manque d’optimisation de votre base de données WordPress pourrait vous faire passer de la première à la dernière place dans les classements de recherche. Vos utilisateurs s’apercevront également que votre site n’est pas à la hauteur, c’est pourquoi une base de données performante et rapide est cruciale pour votre succès.
Il existe de nombreuses façons d’y parvenir, mais une combinaison de techniques manuelles, d’extensions et d’outils d’optimisation propres à Kinsta vous apportera les meilleurs avantages. Dans de nombreux cas, l’automatisation peut vous aider à effectuer la plupart de ces tâches sans avoir besoin de vous connecter ou d’utiliser un outil spécifique.
Nous aimerions savoir si nos conseils d’optimisation de la base de données WordPress ont fonctionné pour vous. Faites-nous savoir lesquels ont eu le plus d’impact dans la section des commentaires ci-dessous !
Laisser un commentaire