La guía definitiva para la base de datos de WordPress

Publicado: 2022-02-09

En esencia, WordPress es un CMS (Sistema de gestión de contenido). Para administrar el contenido, necesita poder almacenarlo. WordPress hace esto a través de carpetas y archivos, y una base de datos. Anteriormente hemos cubierto el sistema de archivos de WordPress en un artículo separado; esta vez nos centraremos en la base de datos.

En este artículo, veremos la base de datos de WordPress, su estructura y cómo funciona cada campo. También hemos incluido una breve lección de historia sobre MySQL. Sugerencia: My en MySQL no significa que sea tuyo; Mi es una persona real, pero ¿quién? - Continúe leyendo para averiguar.

Tabla de contenido

  • Una (muy) breve historia de SQL, MySQL y MariaDB
  • Cómo acceder a la base de datos de WordPress
    • phpMyAdmin
    • Plesk/cPanel
    • Cliente SSH/MySQL/MariaDB
    • Complementos de WordPress
  • Estructura de la base de datos de WordPress
    • Estructura de la mesa
      • wp_commentmeta
      • wp_comentarios
      • wp_enlaces
      • opciones_wp
      • wp_postmeta
      • wp_posts
      • wp_terms
      • wp_termmeta
      • wp_term_relationships
      • wp_term_taxonomy
      • wp_usermeta
      • usuarios_wp

Una (muy) breve historia de SQL, MySQL y MariaDB

WordPress usa un RDBMS llamado MySQL. Técnicamente está basado en MySQL ya que, cada vez más, se utiliza MariaDB en lugar de MySQL. SQL significa Lenguaje de consulta estructurado y es el lenguaje que usamos para interactuar con la base de datos, y no la base de datos en sí.

MySQL ha jugado un papel importante en el crecimiento de Internet tal como lo conocemos hoy. Presentado por primera vez en 1995 como una alternativa a los productos ofrecidos por Microsoft y Oracle, se convirtió rápidamente en el estándar de referencia de RDBMS.

La historia de MySQL es colorida, ya que fue adquirida por Sun Microsystems y luego por Oracle (Oracle adquirió Sun Microsystems y MySQL con ella).

En respuesta a la adquisición de MySQL por parte de Oracle, Monty Widenius, el creador original de MySQL, introdujo MySQL en MariaDB, que nombró en honor a su hija, María. (Curiosamente, MySQL lleva el nombre de la otra hija de Monty: My). Con el tiempo, se desarrollaron diferencias entre MariaDB y MySQL; sin embargo, los dos siguen siendo intercambiables en muchos escenarios, incluidas las bases de datos de WordPress.

De hecho, en muchos casos, MariaDB se considera un reemplazo directo de MySQL. Esto significa que puede desinstalar MySQL, instalar MariaDB en su lugar y continuar trabajando como si nada hubiera cambiado. Dicho esto, MariaDB puede ofrecer mejoras de rendimiento en algunas situaciones y también ofrece una compatibilidad más amplia con, por ejemplo, motores de almacenamiento.

Es importante tener en cuenta que MySQL sigue siendo gratuito y se publica bajo un sistema de licencia dual. En muchos casos, MySQL se usa para referirse a bases de datos que son MySQL o MariaDB.

Cómo acceder a la base de datos de WordPress

Hay algunas opciones diferentes disponibles cuando se trata de conectarse a la base de datos de WordPress. El método o los métodos disponibles para usted dependerán en gran medida del tipo de alojamiento de WordPress que utilice. Si no está seguro de cómo está configurado su servidor, hable con su proveedor de alojamiento o administrador de sistemas. De cualquier manera, las opciones pueden incluir;

phpMyAdmin

phpMyAdmin es una herramienta favorita ya que nos permite conectarnos a la base de datos a través de una GUI basada en web. phpMyAdmin debe instalarse en el mismo servidor que aloja la base de datos, y muchos proveedores de alojamiento ofrecen phpMyAdmin directamente.

Plesk/cPanel

Plesk y cPanel son dos plataformas de panel de control que cumplen una función similar: una interfaz de usuario que facilita la administración del servidor. Por supuesto, existen ciertas diferencias clave, incluidas las tecnologías y los sistemas operativos que admiten. De cualquier manera, también nos permiten acceder a bases de datos, aunque de formas ligeramente diferentes.

Cliente SSH/MySQL/mariaDB

SSH es una forma menos fácil de usar para conectarse a una base de datos, que ofrece una CLI (interfaz de línea de comandos) en lugar de una GUI. Debido a esto, se recomienda una comprensión más profunda de los comandos SQL. SSH debe configurarse explícitamente en el mismo servidor que aloja la base de datos antes de conectarse a ella.

Complementos

También puede usar complementos de WordPress para acceder a su base de datos de WordPress. Con un complemento, puede acceder a la base de datos directamente desde su consola de administración de WordPress. Aquí, deberá asegurarse de elegir un complemento de un proveedor de confianza y seguir todas las mejores prácticas aplicables para mantener sus datos seguros. Si no está seguro de qué complemento elegir, lea nuestra guía sobre cómo elegir los mejores complementos para su sitio web de WordPress.

Estructura de la base de datos de WordPress

La base de datos de WordPress se compone de 12 tablas. Cada tabla, por defecto, comienza con el prefijo wp_; sin embargo, esto se puede cambiar durante el proceso de instalación y configuración inicial. Por lo general, se recomienda cambiar el prefijo por razones de seguridad de WordPress, especialmente si tiene la intención o ya tiene varias instalaciones en el mismo servidor.

Las 12 tablas que componen la base de datos de WordPress son las siguientes (enumeradas en orden alfabético):

  • wp_commentmeta
  • wp_comentarios
  • wp_enlaces
  • opciones_wp
  • wp_postmeta
  • wp_posts
  • wp_terms
  • wp_termmeta
  • wp_term_relationships
  • wp_term_taxonomy
  • wp_usermeta
  • usuarios_wp

Ahora revisaremos cada tabla individualmente y veremos qué datos almacena y su estructura interna.

Estructura de la mesa

Antes de entrar en los detalles de cada tabla, vale la pena tomarse un tiempo para ver cómo está estructurada. Si no está familiarizado con la documentación de la base de datos, esta sección le brindará un curso intensivo que encontrará útil en la siguiente sección. Por otro lado, si está bastante familiarizado con las tablas SQL, no dude en saltar hacia adelante.

  • Nombre del campo: este es el nombre del campo, que encontrará en la tabla SQL
  • Descripción: hemos incluido esto para ayudarlo a comprender qué tipo de datos contiene el campo
  • Tipo: este es el tipo de datos que acepta el campo. Los números entre paréntesis representan el límite estricto en la cantidad de caracteres aceptables que podemos ingresar
  • Nulo: no está claro por qué se usa este campo en este momento
  • Clave – Esto nos dice si la entrada es una clave o no. Hay diferentes tipos de llaves, incluyendo:
    • Primario
    • Primaria (Parte)
    • Índice
    • Índice (Parte)
    • Único
    • Múltiple
  • Predeterminado: si la entrada tiene un valor predeterminado, el valor predeterminado se mostrará aquí
  • Notas: cualquier nota adicional

wp_commentmeta

La tabla wp_commentsmeta almacena metadatos relacionados con los comentarios. Los comentarios se almacenan por separado en la tabla wp_comments. La tabla tiene los siguientes campos:

Nombre de la columna Descripción Tipo Nulo Llave Defecto
meta_id Esta es una identificación única para la entrada. Se incrementa automáticamente bigint(20)sin firmar Primario
comentario_id Este es el ID del comentario con el que se relacionan los metadatos tal como se encuentra en la tabla wp_comments bigint(20)sin firmar Índice 0
meta_clave Esto identifica el tipo de metadatos para la entrada. varchar(255) Índice Nulo
meta_valor Estos son los metadatos reales texto largo Nulo

wp_comentarios

La tabla wp_comments almacena comentarios de publicaciones. Los metadatos relacionados con los comentarios se almacenan en la tabla wp_commentmeta. La tabla tiene las siguientes columnas:

Nombre de la columna Descripción Tipo Nulo Llave Defecto
comentario_ID Esta es una identificación única para la entrada. Se incrementa automáticamente grande(20) Primario N / A
comment_post_ID Este es el ID de la publicación para la que se escribió el comentario, tal como se encuentra en la tabla wp_posts grande(20) Índice 0
comentario_autor Este es el nombre del autor que escribió el comentario. pequeñotexto
comentario_autor_correo electrónico Esta es la dirección de correo electrónico del autor que escribió el comentario. varchar(100) Índice
comentario_autor_url Esta es la URL del sitio web del autor que escribió el comentario. varchar(200)
comentario_autor_IP Esta es la dirección IP del autor que escribió el comentario. varchar(100)
comentario_fecha Esta es la fecha y hora en que se publicó el comentario. fecha y hora 0000-00-00 00:00:00
comentario_fecha_gmt Esta es la fecha y hora GMT (hora del meridiano de Greenwich) en la que se publicó el comentario. fecha y hora Índice e Índice Pt2 0000-00-00 00:00:00
comentario_contenido Este es el comentario real dejado texto
comentario_karma Esto está disponible para que lo usen los complementos con fines de gestión de comentarios. int(11)
comentario_aprobado Esto indica si el comentario ha sido aprobado o no. varchar(20) Índice Parte 1 0
comentario_agente Desde aquí se publicó el comentario. varchar(255)
comentario_tipo Este es el tipo de comentario dejado. varchar(20)
comentario_padre Si el comentario es una respuesta, este campo indica comentario principal bigint(20)sin firmar Índice 0
id_usuario Si un usuario comentador está registrado, esta será su ID disponible en wp_users bigint(20)sin firmar 0

wp_enlaces

Esta tabla se creó originalmente para admitir blogrolls, una función que se eliminó a partir de WordPress 3.5. Se mantiene por compatibilidad con versiones anteriores, pero ya no está en uso. La tabla tiene las siguientes columnas:

Nombre de la columna Descripción Tipo Nulo Llave Defecto
link_id Esta es una identificación única para la entrada. Incrementa automáticamente bigint (20) sin firmar Primario
URL del enlace Esta es la URL del enlace. varchar(255)
enlace_nombre
Este es el nombre del enlace. varchar(255)
enlace_imagen Esta es la URL de la imagen relacionada con el enlace. varchar(255)
enlace_objetivo Este es el marco de destino del enlace. varchar(25)
enlace_descripcion Esta es una descripción del enlace. varchar(255)
enlace_visible Esto nos dice si el enlace se muestra públicamente o no. varchar(20) Índice Y
propietario_del_enlace Esta es la ID de usuario del usuario que creó el enlace como disponible en wp_users bigint (20) sin firmar 1
link_rating Esta es la calificación del enlace. int(11) 0
enlace_actualizado Esta es la fecha y hora en que se actualizó el enlace. fecha y hora 0000-00-00 00:00:00
link_rel Esta es la relación del enlace. varchar(255)
enlace_notas Estas son notas sobre el enlace. texto medio
enlace_rss Esta es la dirección del feed rss del enlace varchar(255)

opciones_wp

La configuración de WordPress configurada a través de la consola de administración se almacena aquí. Los complementos y temas generalmente también almacenarán información de configuración aquí, como se ilustra en la captura de pantalla a continuación. Aquí podemos ver nuestra propia opción de frecuencia de escaneo del Monitor de cambios de archivos del sitio web establecida en diario. Frecuencia de escaneo del monitor de cambios de archivos de WordPress

La tabla tiene las siguientes columnas:

Nombre de la columna Descripción Tipo Nulo Llave Defecto
opción_id Esta es una identificación única para la entrada. Incrementa automáticamente. bigint(20) sin firmar Primario
opción_nombre Este es el nombre de la opción/configuración varchar(64) Único
valor de la opción Este es el valor de la configuración que se está almacenando texto largo
carga automática Esta configuración le dice a wp_load_alloptions() si debe cargar automáticamente la opción o no varchar(20) Índice

wp_postmeta

Los metadatos de las publicaciones que acompañan a cada publicación se almacenan aquí. Los metadatos pueden incluir archivos adjuntos, miniaturas, slug de publicación deseada y otra información similar. La tabla tiene las siguientes columnas:

Nombre de la columna Descripción Tipo Nulo Llave Defecto
meta_id Esta es una identificación única para la entrada. Incrementa automáticamente bigint(20) sin firmar Primario
Nombre del campo
ID del mensaje

Este es el ID de la publicación a la que están asociados los metadatos como disponible en wp_posts bigint(20) sin firmar Índice 0
meta_clave Esta es una clave de índice que identifica los metadatos, ya que cada publicación puede tener más de un metadato. varchar(255) Índice Nulo
meta_valor Estos son los metadatos reales texto largo Nulo

wp_posts

La tabla wp_posts es importante y contiene el núcleo de los datos de WordPress. Contiene las publicaciones reales, las páginas y los elementos del menú de navegación, como se ve en el siguiente ejemplo que muestra la página de muestra predeterminada incluida en cada instalación nueva de WordPress. Página de muestra incluida en cada instalación nueva de WordPress

La tabla tiene las siguientes columnas:

Nombre de la columna Descripción Tipo Nulo Llave Defecto
IDENTIFICACIÓN Esta es una identificación única para la entrada. Incrementa automáticamente bigint(20) sin firmar Primaria e Índice (Parte 4)
post_autor Esta es la identificación del autor que escribió la publicación como disponible en wp_users bigint(20) sin firmar Índice 0
posfechar Esta es la fecha y hora en que se creó la publicación. fecha y hora Índice (Parte 3) 0000-00-00 00:00:00
post_date_gmt Esta es la fecha y hora GMT (hora del meridiano de Greenwich) cuando se creó la publicación fecha y hora 0000-00-00 00:00:00
Publicar Contenido Este es el contenido real de la publicación. texto largo
título de la entrada este es el titulo de la publicacion texto
post_extracto Este es un extracto de la publicación. texto
post_status Este es el estado de la publicación. varchar(20) Índice (Parte 2) publicar
estado_comentario Esto nos dice si los comentarios en la publicación están permitidos o no. varchar(20) abierto
estado_ping Esto nos dice si el ping y los trackbacks están permitidos o no. varchar(20) abierto
post_contraseña Las publicaciones se pueden proteger con contraseña con cualquier contraseña aplicable almacenada aquí varchar(20)
Nombre del puesto Este es el slug de la URL del título de la publicación. varchar(200) índice
to_ping Esta es una lista de URL a las que WordPress debe enviar pingbacks cada vez que se actualiza la publicación. texto
hecho ping Esta es una lista de URL que WordPress ha hecho pingback cuando se actualizó texto
post_modificado Esta es la fecha y hora de la última modificación de la publicación. fecha y hora 0000-00-00 00:00:00
post_modificado_gmt Esta es la fecha y hora GMT de la última modificación de la publicación. fecha y hora 0000-00-00 00:00:00
post_content_filtered Esta es una versión filtrada de post_content que normalmente usan los complementos con fines de almacenamiento en caché. texto largo
post_parent Cuando la publicación es una revisión o archivo adjunto, esto crea la relación padre-hijo bigint(20) sin firmar Índice 0
guía Este es el identificador único global (GUID) de la publicación varchar(255)
menu_order Este es el número de pedido en el que aparecen las páginas y los elementos que no son de publicación. int(11) 0
tipo de mensaje Esto identifica el tipo de contenido. varchar(20) Índice (Parte 1) correo
post_mime_type Este es el tipo mime de archivos adjuntos de publicación. varchar(100)
Recuento de comentarios Este es el número total de comentarios, trackbacks y pingbacks grande(20) 0

wp_terms

Los términos son objetos de clasificación utilizados para clasificar objetos en WordPress. Por ejemplo, las categorías y etiquetas utilizadas en las publicaciones son tipos de términos. Esta tabla contiene todos los diferentes tipos de términos utilizados en WordPress. La tabla tiene las siguientes columnas:

Nombre de la columna Descripción Tipo Nulo Llave Defecto
term_id Esta es una identificación única para la entrada. Incrementa automáticamente bigint(20) sin firmar Primario
nombre Este es el nombre del término varchar(200) Índice
babosa Esta es la babosa del término varchar(200) Múltiple
término_grupo Este es un alias que los temas y complementos pueden usar para agrupar términos juntos grande(10) 0

wp_termmeta

Esta tabla almacena los metadatos asociados con los términos que se encuentran en wp_terms. La tabla tiene las siguientes columnas:

Nombre de la columna Descripción Tipo Nulo Llave Defecto
meta_id Esta es una identificación única para la entrada. Incrementa automáticamente bigint(20) sin firmar Primario
term_id Este es el ID del término con el que se relacionan los metadatos según esté disponible en wp_terms bigint(20) sin firmar Índice 0
meta_clave Esta es una clave de identificación para el término metadatos varchar(255) Índice NULO
meta_valor Estos son los metadatos reales texto largo NULO

wp_term_relationships

Esta tabla mantiene relaciones entre publicaciones y taxonomías. La tabla tiene las siguientes columnas:

Nombre de la columna Descripción Tipo Nulo Llave Defecto
id_objeto Este es el ID de la publicación disponible en wp_posts bigint(20) sin firmar Primaria (Parte 1) 0
term_taxonomy_id Este es el ID del término taxonomía disponible en wp_term_taxonomy bigint(20) sin firmar Primaria (Parte 2) e Índice 0
term_order Este es el orden del término. int(11) 0

wp_term_taxonomy

Esta tabla proporciona taxonomías de términos y, como tal, un contexto en el que se pueden utilizar. Por ejemplo, podemos usar el término base de datos como una categoría de publicación y como una categoría de producto (suponiendo que estamos vendiendo servicios de base de datos). En este caso, la categoría de publicación y la categoría de producto son taxonomías de términos. La tabla tiene las siguientes columnas:

Nombre de la columna Descripción Tipo Nulo Llave Defecto
term_taxonomy_id Esta es una identificación única para la entrada. Incrementa automáticamente bigint(20) sin firmar Primario
term_id Este es el ID del término disponible en wp_terms bigint(20) sin firmar Único (Parte 1) 0
taxonomía Esta es la babosa de la taxonomía. varchar(32) Único (Parte 2) e Índice
descripción Esta es una descripción de la taxonomía. texto largo
padre Este es el ID de la taxonomía principal si la taxonomía es secundaria bigint(20) sin firmar 0
contar Este es el número de objetos a los que se les asigna esta taxonomía. grande(20) 0

wp_usermeta

Esta tabla almacena datos de usuario adicionales que no se encuentran en la tabla wp_users. El propio WordPress, así como los complementos o temas, pueden hacer uso de esta tabla.

Un ejemplo de metadatos de usuario es el apodo de usuario. Aunque WordPress incluye este campo por defecto, sigue siendo parte de los metadatos, como se muestra a continuación. Otro ejemplo es WooCommerce; un complemento de comercio electrónico que utiliza esta tabla para almacenar información del cliente, como la dirección de envío.

Metadatos de apodo de usuario

La tabla tiene las siguientes columnas:

Nombre de la columna Descripción Tipo Nulo Llave Defecto
umeta_id Esta es una identificación única para la entrada. Incrementa automáticamente bigint(20) sin firmar Primario
id_usuario Esta es la identificación del usuario con la que se relaciona la información que se encuentra en wp_users bigint(20) sin firmar Índice 0
meta_clave Este es un identificador clave para la entrada meta varchar(255) Índice Nulo
meta_valor Estos son los metadatos reales texto largo Nulo

usuarios_wp

La información de los usuarios de WordPress se almacena aquí. Dado que los usuarios son una parte integral del ecosistema de WordPress, esta tabla es esencial.

La tabla solo almacena la información principal de cada usuario, como se muestra en el siguiente ejemplo. Toda la demás información se almacena en la tabla wp_usermeta.

Usuarios de WordPress otra metainformación

La tabla tiene las siguientes columnas:

Nombre de la columna Descripción Tipo Nulo Llave Defecto
IDENTIFICACIÓN Esta es una identificación única para la entrada. Incrementa automáticamente bigint(20) sin firmar Primario
inicio de sesión de usuario Este es el nombre de usuario del usuario. varchar(60) Índice
contraseña de usuario Esta es la contraseña del usuario. varchar(64)
nombre_de_usuario Este es el nombre para mostrar del usuario. varchar(50) Índice
usuario_email Esta es la dirección de correo electrónico del usuario. varchar(100)
url_usuario Esta es la URL del usuario (ej. sitio web) varchar(100)
usuario_registrado Esta es la fecha y hora en que se registró el usuario fecha y hora 0000-00-00 00:00:00
clave_de_activación_de_usuario Esta es la clave de activación del usuario, utilizada para restablecer su contraseña varchar(60)
Estatus de usuario Esto ya no se usa a partir de WordPress 3.0, pero se usa para indicar si el usuario era spam int(11) 0
nombre para mostrar Este es el nombre para mostrar público del usuario. varchar(250)

Familiarízate con la base de datos de WordPress

Las bases de datos pueden ser bastante intimidantes para los no iniciados; después de todo, contienen todos los datos necesarios para que WordPress funcione. Si bien es cierto que un paso en falso aquí puede hacer que el sitio se derrumbe, no dejes que esto te intimide. Después de todo, conocer la base de datos de WordPress puede facilitar enormemente sus esfuerzos de resolución de problemas en caso de que sea necesario.

La configuración de un entorno de prueba o ensayo puede proporcionarle un espacio seguro en el que puede experimentar sin correr el riesgo de desconectar su sitio web. Incluso puede configurar un entorno de prueba XAMPP en su computadora de forma gratuita, brindándole todo lo que necesita para dominar la base de datos de WordPress.