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

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. Modifications des fichiers WordPress Surveillance de la fréquence d'analyse

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. Exemple de page 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.

Métadonnées du surnom de l'utilisateur

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.

Utilisateurs de WordPress autres méta-informations

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.