Un site WordPress, ce n’est pas seulement un ensemble de fichiers. Une bonne partie de ce qui fait vivre votre site (vos articles, vos réglages, vos comptes utilisateurs) est stockée ailleurs, dans une base de données. Voyons ce qu’elle contient, comment elle est organisée, et pourquoi la comprendre un minimum aide à mieux entretenir votre site.
Pourquoi WordPress a besoin d’une base de données
Un site purement statique, fait de pages HTML écrites une fois pour toutes, n’a pas besoin de base de données : chaque page existe déjà telle quelle sur le serveur. WordPress fonctionne différemment. Ses fichiers PHP ne contiennent aucun contenu en tant que tel : ils décrivent comment afficher un contenu, pas le contenu lui-même. Quand un visiteur charge une page, WordPress va chercher dans la base de données le texte de l’article, les réglages du site, les informations sur l’auteur, puis assemble le tout à la volée pour produire la page finale.
Cette séparation a une conséquence directe sur l’entretien de votre site : les fichiers (thème, extensions, cœur de WordPress) et la base de données (contenu, réglages, comptes) sont deux éléments distincts, tout aussi indispensables l’un que l’autre. Perdre l’un ou l’autre revient à perdre une partie du site, même si l’autre partie est intacte.
Comment WordPress organise ses données : les tables principales
À l’intérieur de la base de données, les informations sont réparties dans des tables, un peu comme des feuilles de calcul spécialisées, chacune dédiée à un type de donnée. Par défaut, ces tables portent un préfixe (wp_ en standard), personnalisable à l’installation. Changer ce préfixe ne remplace évidemment pas les vraies mesures de sécurité, mais cela peut ajouter une petite couche de protection supplémentaire face à certains scripts automatisés.

wp_posts : articles, pages et bien plus
Contrairement à ce que son nom laisse penser, wp_posts ne contient pas seulement les articles. Elle stocke aussi les pages, les entrées de la médiathèque, les révisions, et tout type de contenu personnalisé créé par un thème ou une extension. Attention toutefois : pour un média, la base conserve les informations associées au fichier, mais le fichier image, PDF ou vidéo reste stocké dans les fichiers du site, généralement dans wp-content/uploads. C’est la colonne « type de contenu » qui distingue un article d’une page ou d’un média au sein de cette même table.
À noter : certaines extensions volumineuses choisissent de sortir de ce fonctionnement commun. WooCommerce, par exemple, utilise aujourd’hui HPOS, pour High-Performance Order Storage, sur les nouvelles installations : les commandes ne sont plus stockées uniquement dans wp_posts et wp_postmeta, mais dans des tables dédiées. Sur les boutiques plus anciennes, la situation peut varier selon la configuration et l’état de migration. Cela illustre bien que l’organisation des tables n’est pas figée : elle dépend aussi des extensions installées sur votre site.
À l’inverse, du côté du cœur de WordPress cette fois, l’éditeur de site (FSE) va dans l’autre sens : plutôt que de s’éloigner de wp_posts, il y ajoute de nouveaux types de contenu, comme les modèles de page (wp_template) ou les styles globaux (wp_global_styles). Avec un thème basé sur les blocs, une personnalisation faite depuis l’éditeur de site est donc enregistrée en base. Avec un thème classique, une partie de la structure dépend davantage des fichiers du thème, même si de nombreux réglages restent eux aussi stockés en base.
wp_postmeta : les informations complémentaires
Chaque contenu de wp_posts peut avoir des informations complémentaires associées : une image mise en avant, un champ personnalisé ajouté par une extension, des réglages spécifiques à une page. Ces informations vivent dans wp_postmeta, sous forme de paires clé/valeur reliées à un contenu précis.
wp_options : les réglages globaux du site
Cette table centralise les réglages qui s’appliquent à l’ensemble du site : le titre, l’adresse, la version de WordPress installée, mais aussi une bonne partie des réglages de vos extensions et de votre thème. Une colonne particulière de cette table, l’autoload, détermine si un réglage est chargé automatiquement à chaque affichage de page : un volume excessif d’options chargées automatiquement peut ralentir votre site (nous détaillons ce point dans notre article sur l’autoload WordPress).
wp_users et wp_usermeta : les comptes
wp_users contient les informations essentielles d’un compte (identifiant, adresse e‑mail, mot de passe chiffré), tandis que wp_usermeta stocke les informations complémentaires : rôle, préférences d’affichage, ou toute donnée ajoutée par une extension.
wp_terms, wp_term_taxonomy, wp_term_relationships : catégories et étiquettes
Ces trois tables travaillent ensemble pour gérer les catégories, les étiquettes et les taxonomies personnalisées : la première liste les termes existants, la deuxième précise à quelle taxonomie chaque terme appartient, la troisième relie ces termes aux contenus de wp_posts.
Comment WordPress se connecte à sa base
wp-config.php fait partie des tout premiers fichiers que WordPress charge à chaque affichage de page. C’est là que sont définies les constantes DB_NAME, DB_USER, DB_PASSWORD et DB_HOST, qui donnent respectivement le nom de la base, l’identifiant, le mot de passe et l’adresse du serveur nécessaires à la connexion. C’est ce fichier qui fait le lien entre votre code WordPress et votre base MySQL.

Où et comment accéder vous-même à la base de données
Les outils natifs de l’hébergement
Les hébergeurs mettent généralement à disposition un client SQL, un outil pour consulter et modifier directement le contenu de la base. Le plus répandu est phpMyAdmin, c’est notamment celui qu’o2switch propose via le cPanel, mais d’autres solutions existent selon l’hébergeur. Nous détaillons l’outil phpMyAdmin du cPanel o2switch dans notre article sur la gestion des bases de données avec le cPanel d’o2switch.

Adminer, une alternative à installer soi-même
L’intérêt d’Adminer est surtout de donner un accès autonome à la base de données, sans passer par le cPanel de l’hébergement. Il peut s’agir d’une extension WordPress qui l’intègre au tableau de bord (menu Outils) : utile si vous n’avez que l’accès à l’administration WordPress et pas à l’espace de gestion de votre hébergeur. Il existe aussi une version en fichier PHP unique à déposer soi-même sur le serveur : si vous avez un accès FTP, elle est plus légère et plus simple à déployer. Vous pouvez en sécuriser l’accès, puis la supprimer proprement après usage, sans surcharger votre WordPress.

Dans les deux cas, Adminer permet une administration complète de la base (consultation, modification, requêtes) : pratique en dépannage ponctuel, mais à retirer aussitôt après usage, le laisser accessible en permanence expose la base de données à un risque de sécurité important. Plus de détails dans notre article Adminer, une alternative à phpMyAdmin.
Les précautions à prendre en cas d’intervention directe sur la base
Intervenir directement sur une base de données WordPress (en SQL, via phpMyAdmin, Adminer, ou même WP-CLI) demande de vraies compétences techniques : comprendre le vocabulaire des tables, savoir écrire une requête, maîtriser au minimum un outil en ligne de commande. Ce n’est pas une intervention à improviser pour dépanner ponctuellement un site : mieux vaut la confier à un développeur ou à votre prestataire de maintenance.
Si vous ou la personne qui s’en charge devez intervenir, quelques précautions s’imposent :
- Toujours faire une sauvegarde de la base avant toute modification. Une erreur dans une table comme
wp_optionsouwp_postmetapeut rendre le site inaccessible. - Réserver les interventions directes en base (phpMyAdmin, Adminer) au strict nécessaire, en dépannage ponctuel.
- Pour certains changements réguliers sur le contenu de la base, comme corriger une URL en masse, WP-CLI est souvent préférable à une requête SQL directe. Sa commande
wp search-replace, par exemple, sait gérer les données sérialisées, là où un remplacement SQL brut risque de les corrompre. Notre article WP-CLI et la ligne de commande pour WordPress détaille son fonctionnement.
Le seul geste réellement à la portée de tous, sans compétence technique particulière : vérifier que votre stratégie de sauvegarde couvre bien la base de données, au même titre que vos fichiers. C’est aussi le plus important, il vous permet de revenir en arrière quelle que soit l’intervention effectuée sur la base.
À retenir
La base de données est l’autre moitié de votre site WordPress, celle qui contient vos articles, vos réglages et vos comptes utilisateurs. Elle est organisée en tables spécialisées (wp_posts, wp_postmeta, wp_options, wp_users…) reliées entre elles, et accessible via des outils comme phpMyAdmin dans le cPanel de votre hébergement. Vous n’avez pas besoin de la manipuler directement au quotidien, mais la comprendre aide à mieux évaluer l’importance d’une sauvegarde régulière et à éviter les interventions hasardeuses en cas de problème.













