Le guide ultime de la base de données WordPress
Publié: 2022-02-09À la base, WordPress est un CMS (Content Management System). Pour gérer le contenu, il doit pouvoir le stocker. WordPress le fait à travers des dossiers et des fichiers, et une base de données. Nous avons déjà couvert le système de fichiers WordPress dans un article séparé ; nous nous concentrerons sur la base de données cette fois-ci.
Dans cet article, nous examinerons la base de données WordPress, sa structure et le fonctionnement de chaque champ. Nous avons également inclus une brève leçon d'histoire sur MySQL. Astuce - Le My dans MySQL ne signifie pas que c'est le vôtre; Mon est une personne réelle, mais qui? – Continuez à lire pour le savoir.
Table des matières
- Un (très) bref historique de SQL, MySQL et MariaDB
- Comment accéder à la base de données WordPress
- phpMyAdmin
- Plesk/cPanel
- Client SSH/MySQL/MariaDB
- Plugins WordPress
- Structure de la base de données WordPress
- Structure du tableau
- wp_commentmeta
- wp_commentaires
- wp_links
- wp_options
- wp_postmeta
- wp_posts
- wp_terms
- wp_termmeta
- wp_term_relations
- wp_term_taxonomy
- wp_usermeta
- wp_users
- Structure du tableau
Un (très) bref historique de SQL, MySQL et MariaDB
WordPress utilise un SGBDR appelé MySQL. Techniquement, il est basé sur MySQL puisque, de plus en plus, MariaDB est utilisé à la place de MySQL. SQL signifie Structured Query Language et est le langage que nous utilisons pour interagir avec la base de données - et non la base de données elle-même.
MySQL a joué un rôle important dans la croissance d'Internet tel que nous le connaissons aujourd'hui. Introduit pour la première fois en 1995 en tant qu'alternative aux produits proposés par Microsoft et Oracle, il est rapidement devenu la norme RDBMS de choix.
L'histoire de MySQL est colorée, ayant été acquise par Sun Microsystems puis Oracle (Oracle a acquis Sun Microsystems et MySQL avec lui).
En réponse à l'acquisition de MySQL par Oracle, Monty Widenius, le créateur original de MySQL, a intégré MySQL dans MariaDB, qu'il a nommé d'après sa fille, Maria. (Fait intéressant, MySQL porte le nom de l'autre fille de Monty - My). Au fil du temps, des différences entre MariaDB et MySQL se sont développées ; cependant, les deux restent interchangeables dans de nombreux scénarios, y compris les bases de données WordPress.
En fait, dans de nombreux cas, MariaDB est considérée comme un remplacement direct de MySQL. Cela signifie que vous pouvez désinstaller MySQL, installer MariaDB à la place et continuer à travailler comme si de rien n'était. Cela dit, MariaDB peut offrir des améliorations de performances dans certaines situations et offre également une compatibilité plus large avec, par exemple, les moteurs de stockage.
Il est important de noter que MySQL reste gratuit et est publié sous un système de double licence. Dans de nombreux cas, MySQL est utilisé pour faire référence à des bases de données qui sont MySQL ou MariaDB.
Comment accéder à la base de données WordPress
Il existe différentes options disponibles pour se connecter à la base de données WordPress. La ou les méthodes à votre disposition dépendront en grande partie du type d'hébergement WordPress que vous utilisez. Si vous n'êtes pas sûr de la configuration de votre serveur, parlez-en à votre fournisseur d'hébergement ou à votre administrateur système. Quoi qu'il en soit, les options peuvent inclure ;
phpMyAdmin
phpMyAdmin est un outil préféré car il nous permet de nous connecter à la base de données via une interface graphique Web. phpMyAdmin doit être installé sur le même serveur qui héberge la base de données, de nombreux hébergeurs proposant phpMyAdmin directement.
Plesk/cPanel
Plesk et cPanel sont deux plates-formes de panneau de contrôle qui remplissent une fonction similaire - une interface utilisateur qui facilite la gestion du serveur. Bien sûr, il existe certaines différences clés, notamment les technologies et les systèmes d'exploitation qu'ils prennent en charge. Dans tous les cas, ils nous permettent également d'accéder aux bases de données, bien que de manière légèrement différente.
Client SSH/MySQL/mariaDB
SSH est un moyen moins convivial de se connecter à une base de données, offrant une CLI (interface de ligne de commande) au lieu d'une interface graphique. Pour cette raison, une compréhension plus approfondie des commandes SQL est recommandée. SSH doit être explicitement configuré sur le même serveur qui héberge la base de données avant de s'y connecter.
Plugins
Vous pouvez également utiliser des plugins WordPress pour accéder à votre base de données WordPress. À l'aide d'un plugin, vous pouvez accéder à la base de données directement depuis votre console d'administration WordPress. Ici, vous devrez vous assurer que vous choisissez un plugin d'un fournisseur réputé et suivre toutes les meilleures pratiques applicables pour protéger vos données. Si vous ne savez pas quel plugin choisir, lisez notre guide sur la façon de choisir les meilleurs plugins pour votre site WordPress.
Structure de la base de données WordPress
La base de données WordPress est composée de 12 tables. Chaque table, par défaut, commence par le préfixe wp_ ; toutefois, cela peut être modifié au cours du processus initial d'installation et de configuration. Changer le préfixe est généralement recommandé pour des raisons de sécurité WordPress, surtout si vous avez l'intention ou avez déjà plusieurs installations sur le même serveur.
Les 12 tables qui composent la base de données WordPress sont les suivantes (classées par ordre alphabétique) :
- wp_commentmeta
- wp_commentaires
- wp_links
- wp_options
- wp_postmeta
- wp_posts
- wp_terms
- wp_termmeta
- wp_term_relations
- wp_term_taxonomy
- wp_usermeta
- wp_users
Nous allons maintenant parcourir chaque table individuellement et examiner les données qu'elle stocke et sa structure interne.
Structure du tableau
Avant d'entrer dans les détails de chaque tableau, il vaut la peine de prendre le temps de regarder comment il est structuré. Si vous n'êtes pas familier avec la documentation des bases de données, cette section vous propose un cours intensif qui vous sera utile dans la section suivante. D'un autre côté, si vous êtes assez familier avec les tables SQL, n'hésitez pas à avancer.
- Nom du champ - Il s'agit du nom du champ, que vous trouverez dans la table SQL
- Description - Nous avons mis ceci pour vous aider à comprendre le type de données que contient le champ
- Type - Il s'agit du type de données accepté par le champ. Les nombres entre parenthèses représentent la limite stricte du nombre de caractères acceptables que nous pouvons entrer
- Null - la raison pour laquelle ce champ est utilisé pour le moment n'est pas claire
- Clé - Cela nous indique si l'entrée est une clé ou non. Il existe différents types de clés, notamment :
- Primaire
- Primaire (partie)
- Indice
- Index (partie)
- Unique
- Plusieurs
- Par défaut - Si l'entrée a une valeur par défaut, la valeur par défaut sera répertoriée ici
- Notes - Toutes les notes supplémentaires
wp_commentmeta
La table wp_commentsmeta stocke les métadonnées liées aux commentaires. Les commentaires sont stockés séparément dans la table wp_comments. Le tableau contient les champs suivants :
Nom de colonne | La description | Taper | Nul | Clé | Défaut |
---|---|---|---|---|---|
meta_id | Il s'agit d'un ID unique pour l'entrée. Il s'incrémente automatiquement | bigint (20) non signé | Primaire | ||
comment_id | Il s'agit de l'ID du commentaire auquel les métadonnées se rapportent, tel qu'il se trouve dans la table wp_comments | bigint (20) non signé | Indice | 0 | |
meta_key | Cela identifie le type de métadonnées auquel l'entrée est destinée | varchar(255) | Oui | Indice | Nul |
meta_value | Ce sont les métadonnées réelles | texte long | Oui | Nul |
wp_commentaires
La table wp_comments stocke les commentaires des publications. Les métadonnées liées aux commentaires sont stockées dans la table wp_commentmeta. Le tableau comporte les colonnes suivantes :
Nom de colonne | La description | Taper | Nul | Clé | Défaut |
---|---|---|---|---|---|
comment_ID | Il s'agit d'un ID unique pour l'entrée. Il s'incrémente automatiquement | gros entier(20) | Primaire | N / A | |
comment_post_ID | Il s'agit de l'ID de la publication pour laquelle le commentaire a été écrit, tel qu'il se trouve dans la table wp_posts | gros entier(20) | Indice | 0 | |
comment_author | C'est le nom de l'auteur qui a écrit le commentaire | texte minuscule | |||
comment_author_email | Ceci est l'adresse e-mail de l'auteur qui a écrit le commentaire | varchar(100) | Indice | ||
comment_author_url | Il s'agit de l'URL du site Web de l'auteur qui a écrit le commentaire | varchar(200) | |||
comment_author_IP | Ceci est l'adresse IP de l'auteur qui a écrit le commentaire | varchar(100) | |||
date_commentaire | Il s'agit de la date et de l'heure auxquelles le commentaire a été publié | date-heure | 0000-00-00 00:00:00 | ||
comment_date_gmt | Il s'agit de la date et de l'heure GMT (Greenwich Meridian Time) auxquelles le commentaire a été publié | date-heure | Index et Index Pt2 | 0000-00-00 00:00:00 | |
comment_content | Ceci est le vrai commentaire laissé | texte | |||
comment_karma | Ceci est disponible pour une utilisation par des plugins à des fins de gestion des commentaires | entier(11) | |||
commentaire_approuvé | Ceci indique si le commentaire a été approuvé ou non | varchar(20) | Index Partie 1 | 0 | |
comment_agent | C'est de là que le commentaire a été posté | varchar(255) | |||
type_commentaire | C'est le type de commentaire laissé | varchar(20) | |||
comment_parent | Si le commentaire est une réponse, ce champ indique le commentaire parent | bigint (20) non signé | Indice | 0 | |
identifiant d'utilisateur | Si un utilisateur commentateur est enregistré, ce sera son identifiant tel qu'il est disponible dans wp_users | bigint (20) non signé | 0 |
wp_links
Ce tableau a été créé à l'origine pour prendre en charge les blogrolls, une fonctionnalité qui a été abandonnée à partir de WordPress 3.5. Il est conservé pour la rétrocompatibilité mais n'est plus utilisé. Le tableau comporte les colonnes suivantes :
Nom de colonne | La description | Taper | Nul | Clé | Défaut |
---|---|---|---|---|---|
lien_id | Il s'agit d'un ID unique pour l'entrée. Incrémente automatiquement | bigint (20) non signé | Primaire | ||
lien_url | Ceci est l'URL du lien | varchar(255) | |||
nom_lien | |||||
C'est le nom du lien | varchar(255) | ||||
lien_image | Il s'agit de l'URL de l'image liée au lien | varchar(255) | |||
lien_cible | Ceci est le cadre cible du lien | varchar(25) | |||
lien_description | Ceci est une description du lien | varchar(255) | |||
lien_visible | Cela nous indique si le lien est affiché publiquement ou non | varchar(20) | Indice | Oui | |
link_owner | Il s'agit de l'ID utilisateur de l'utilisateur qui a créé le lien tel qu'il est disponible dans wp_users | bigint (20) non signé | 1 | ||
link_rating | C'est la note du lien | entier(11) | 0 | ||
lien_mis à jour | Il s'agit de la date et de l'heure auxquelles le lien a été mis à jour | date-heure | 0000-00-00 00:00:00 | ||
lien_rel | C'est la relation du lien | varchar(255) | |||
link_notes | Ceci est des notes sur le lien | texte moyen | |||
lien_rss | Ceci est l'adresse du flux rss du lien | varchar(255) |
wp_options
Les paramètres WordPress configurés via la console d'administration sont stockés ici. Les plugins et les thèmes stockeront généralement également les informations de paramètres ici, comme illustré dans la capture d'écran ci-dessous. Ici, nous pouvons voir l'option de fréquence d'analyse de notre propre moniteur de modifications de fichiers de site Web définie sur quotidiennement.
Le tableau comporte les colonnes suivantes :
Nom de colonne | La description | Taper | Nul | Clé | Défaut |
---|---|---|---|---|---|
option_id | Il s'agit d'un ID unique pour l'entrée. Incrémente automatiquement. | bigint(20) non signé | Primaire | ||
nom_option | Il s'agit du nom de l'option/du paramètre | varchar(64) | Unique | ||
valeur d'option | Il s'agit de la valeur du paramètre stocké | texte long | |||
chargement automatique | Ce paramètre indique à wp_load_alloptions() s'il doit charger automatiquement l'option ou non | varchar(20) | Indice | oui |
wp_postmeta
Les métadonnées des publications qui accompagnent chaque publication sont stockées ici. Les métadonnées peuvent inclure des fichiers joints, des vignettes, le slug de publication souhaité et d'autres informations de ce type. Le tableau comporte les colonnes suivantes :
Nom de colonne | La description | Taper | Nul | Clé | Défaut |
---|---|---|---|---|---|
meta_id | Il s'agit d'un ID unique pour l'entrée. Incrémente automatiquement | bigint(20) non signé | Primaire | ||
Nom de domaine post_id | Il s'agit de l'ID du message auquel les métadonnées sont associées, tel qu'il est disponible dans wp_posts | bigint(20) non signé | Indice | 0 | |
meta_key | Il s'agit d'une clé d'index qui identifie les métadonnées, puisque chaque article peut avoir plusieurs métadonnées | varchar(255) | Oui | Indice | Nul |
meta_value | Ce sont les métadonnées réelles | texte long | Oui | Nul |
wp_posts
La table wp_posts est majeure et contient le cœur des données WordPress. Il contient les messages réels, les pages, ainsi que les éléments du menu de navigation, comme le montre l'exemple ci-dessous montrant l'exemple de page par défaut inclus dans chaque nouvelle installation de WordPress.
Le tableau comporte les colonnes suivantes :
Nom de colonne | La description | Taper | Nul | Clé | Défaut |
---|---|---|---|---|---|
IDENTIFIANT | Il s'agit d'un ID unique pour l'entrée. Incrémente automatiquement | bigint(20) non signé | Primaire et Index (Partie 4) | ||
post_author | Il s'agit de l'ID de l'auteur qui a écrit le message comme disponible dans wp_users | bigint(20) non signé | Indice | 0 | |
postdater | Il s'agit de la date et de l'heure de création du message | date-heure | Index (Partie 3) | 0000-00-00 00:00:00 | |
post_date_gmt | Il s'agit de la date et de l'heure GMT (Greenwich Mean Time) auxquelles la publication a été créée | date-heure | 0000-00-00 00:00:00 | ||
Publier un contenu | Ceci est le contenu réel du message | texte long | |||
titre de l'article | C'est le titre du post | texte | |||
post_extrait | Ceci est un extrait du message | texte | |||
post_status | Voici le statut du poste | varchar(20) | Index (Partie 2) | publier | |
comment_status | Cela nous indique si les commentaires sur le post sont autorisés ou non | varchar(20) | ouvrir | ||
ping_status | Cela nous indique si le ping et les trackbacks sont autorisés ou non | varchar(20) | ouvrir | ||
post_password | Les messages peuvent être protégés par mot de passe avec n'importe quel mot de passe applicable stocké ici | varchar(20) | |||
après le nom | Ceci est le slug d'URL du titre du message | varchar(200) | indice | ||
to_ping | Il s'agit d'une liste d'URL auxquelles WordPress doit envoyer des pingbacks chaque fois que la publication est mise à jour | texte | |||
cinglé | Il s'agit d'une liste d'URL que WordPress a pingbackées lors de la mise à jour | texte | |||
post_modifié | Il s'agit de la date et de l'heure de la dernière modification du message | date-heure | 0000-00-00 00:00:00 | ||
post_modified_gmt | Il s'agit de la date et de l'heure GMT de la dernière modification de la publication | date-heure | 0000-00-00 00:00:00 | ||
post_content_filtered | Il s'agit d'une version filtrée de post_content qui est généralement utilisée par les plugins à des fins de mise en cache | texte long | |||
post_parent | Lorsque le message est une révision ou une pièce jointe, cela crée la relation parent-enfant | bigint(20) non signé | Indice | 0 | |
guide | Il s'agit de l'identifiant global unique (GUID) de la publication | varchar(255) | |||
menu_order | Il s'agit du numéro d'ordre dans lequel les pages et les éléments non postaux apparaissent | entier(11) | 0 | ||
Type de poste | Ceci identifie le type de contenu | varchar(20) | Index (Partie 1) | Publier | |
post_mime_type | C'est le type mime des pièces jointes | varchar(100) | |||
compteur de commentaire | Il s'agit du nombre total de commentaires, de rétroliens et de pingbacks | gros entier(20) | 0 |
wp_terms
Les termes sont des objets de classification utilisés pour classer les objets dans WordPress. Par exemple, les catégories et les balises utilisées dans les publications sont des types de termes. Ce tableau contient tous les différents types de termes utilisés dans WordPress. Le tableau comporte les colonnes suivantes :
Nom de colonne | La description | Taper | Nul | Clé | Défaut |
---|---|---|---|---|---|
term_id | Il s'agit d'un ID unique pour l'entrée. Incrémente automatiquement | bigint(20) non signé | Primaire | ||
Nom | C'est le nom du terme | varchar(200) | Indice | ||
limace | C'est la limace du terme | varchar(200) | Plusieurs | ||
term_group | Il s'agit d'un alias que les thèmes et les plugins peuvent utiliser pour regrouper les termes | gros entier(10) | 0 |
wp_termmeta
Cette table stocke les métadonnées associées aux termes trouvés dans wp_terms. Le tableau comporte les colonnes suivantes :
Nom de colonne | La description | Taper | Nul | Clé | Défaut |
---|---|---|---|---|---|
meta_id | Il s'agit d'un ID unique pour l'entrée. Incrémente automatiquement | bigint(20) non signé | Primaire | ||
term_id | Il s'agit de l'ID du terme auquel les métadonnées se rapportent, tel qu'il est disponible dans wp_terms | bigint(20) non signé | Indice | 0 | |
meta_key | Il s'agit d'une clé d'identification pour le terme métadonnées | varchar(255) | Oui | Indice | NUL |
meta_value | Ce sont les métadonnées réelles | texte long | Oui | NUL |
wp_term_relations
Ce tableau maintient les relations entre les publications et les taxonomies. Le tableau comporte les colonnes suivantes :
Nom de colonne | La description | Taper | Nul | Clé | Défaut |
---|---|---|---|---|---|
object_id | Il s'agit de l'ID du message tel qu'il est disponible dans wp_posts | bigint(20) non signé | Primaire (Partie 1) | 0 | |
term_taxonomy_id | Il s'agit de l'ID de la taxonomie des termes telle qu'elle est disponible dans wp_term_taxonomy | bigint(20) non signé | Primaire (Partie 2) et Index | 0 | |
term_order | C'est l'ordre du terme | entier(11) | 0 |
wp_term_taxonomy
Ce tableau donne les taxonomies des termes et, à ce titre, un contexte dans lequel ils peuvent être utilisés. Par exemple, nous pouvons utiliser le terme base de données comme catégorie de publication et comme catégorie de produit (en supposant que nous vendons des services de base de données). Dans ce cas, la catégorie de publication et la catégorie de produit sont des taxonomies de termes. Le tableau comporte les colonnes suivantes :
Nom de colonne | La description | Taper | Nul | Clé | Défaut |
---|---|---|---|---|---|
term_taxonomy_id | Il s'agit d'un ID unique pour l'entrée. Incrémente automatiquement | bigint(20) non signé | Primaire | ||
term_id | Il s'agit de l'ID du terme disponible dans wp_terms | bigint(20) non signé | Unique (Partie 1) | 0 | |
taxonomie | C'est la limace de la taxonomie | varchar(32) | Unique (Partie 2) et Index | ||
la description | Ceci est une description de la taxonomie | texte long | |||
parent | Il s'agit de l'ID de la taxonomie parent si la taxonomie est un enfant | bigint(20) non signé | 0 | ||
compter | Il s'agit du nombre d'objets auxquels cette taxonomie est affectée | gros entier(20) | 0 |
wp_usermeta
Cette table stocke des données utilisateur supplémentaires qui ne se trouvent pas dans la table wp_users. WordPress lui-même, ainsi que des plugins ou des thèmes, peuvent utiliser ce tableau.
Un exemple de métadonnées utilisateur est le surnom de l'utilisateur. Bien que WordPress inclue ce champ par défaut, il fait toujours partie des métadonnées, comme indiqué ci-dessous. Un autre exemple est WooCommerce ; un plugin de commerce électronique qui utilise cette table pour stocker des informations client telles que l'adresse de livraison.
Le tableau comporte les colonnes suivantes :
Nom de colonne | La description | Taper | Nul | Clé | Défaut |
---|---|---|---|---|---|
umeta_id | Il s'agit d'un ID unique pour l'entrée. Incrémente automatiquement | bigint(20) non signé | Primaire | ||
identifiant d'utilisateur | Il s'agit de l'identifiant de l'utilisateur auquel les informations se rapportent, tel qu'il se trouve dans wp_users | bigint(20) non signé | Indice | 0 | |
meta_key | Il s'agit d'un identifiant clé pour l'entrée méta | varchar(255) | oui | Indice | Nul |
meta_value | Ce sont les métadonnées réelles | texte long | Oui | Nul |
wp_users
Les informations des utilisateurs de WordPress sont stockées ici. Les utilisateurs faisant partie intégrante de l'écosystème WordPress, ce tableau est essentiel.
Le tableau ne stocke que les informations de base pour chaque utilisateur, comme illustré dans l'exemple ci-dessous. Toutes les autres informations sont stockées dans la table wp_usermeta.
Le tableau comporte les colonnes suivantes :
Nom de colonne | La description | Taper | Nul | Clé | Défaut |
---|---|---|---|---|---|
IDENTIFIANT | Il s'agit d'un ID unique pour l'entrée. Incrémente automatiquement | bigint(20) non signé | Primaire | ||
Utilisateur en ligne | Ceci est le nom d'utilisateur de l'utilisateur | varchar(60) | Indice | ||
passe d'utilisateur | Ceci est le mot de passe de l'utilisateur | varchar(64) | |||
user_nicename | Ceci est le nom d'affichage de l'utilisateur | vachar(50) | Indice | ||
utilisateur_email | Il s'agit de l'adresse e-mail de l'utilisateur | varchar(100) | |||
URL_utilisateur | Il s'agit de l'URL de l'utilisateur (ex. site Web) | varchar(100) | |||
utilisateur_enregistré | Il s'agit de la date et de l'heure auxquelles l'utilisateur a été enregistré | date-heure | 0000-00-00 00:00:00 | ||
user_activation_key | Il s'agit de la clé d'activation de l'utilisateur, utilisée pour réinitialiser son mot de passe | varchar(60) | |||
statut de l'utilisateur | Ce n'est plus utilisé à partir de WordPress 3.0, mais utilisé pour indiquer si l'utilisateur était un spam | entier(11) | 0 | ||
Afficher un nom | Il s'agit du nom d'affichage public de l'utilisateur | varchar(250) |
Se familiariser avec la base de données WordPress
Les bases de données peuvent être assez intimidantes pour les non-initiés – après tout, elles contiennent toutes les données nécessaires au fonctionnement de WordPress. S'il est vrai qu'un faux pas ici peut faire planter le site, ne vous laissez pas intimider. Après tout, connaître votre chemin dans la base de données WordPress peut grandement faciliter vos efforts de dépannage si cela est nécessaire.
La mise en place d'un environnement de test ou de mise en scène peut vous fournir un espace sûr dans lequel vous êtes libre d'expérimenter sans risquer de mettre votre site Web hors ligne. Vous pouvez même configurer gratuitement un environnement de staging XAMPP sur votre ordinateur, vous fournissant tout ce dont vous avez besoin pour maîtriser la base de données de WordPress.