La estructura de la base de datos de WordPress

WordPress y casi todos los Plugins almacenan sus ajustes en una ubicacion unica en tu servidor llamada «base de datos». Los datos almacenados en la base de datos se organizan en las llamadas «tablas». Este articulo explicara en detalle el significado de todos los campos disponibles de la estructura predeterminada de la base de datos de WordPress.

TL;DR: WordPress almacena la mayor parte de los datos del sitio en una base de datos MySQL o MariaDB. Una instalacion estandar de WordPress en un solo sitio utiliza actualmente 12 tablas predeterminadas con un prefijo configurable, comunmente wp_. Estas tablas almacenan entradas, paginas, usuarios, ajustes, comentarios, terminos de taxonomia y metadatos, mientras que los Plugins, Themes, WooCommerce y las instalaciones multisitio pueden anadir mas tablas.

Nota: Para inspeccionar la base de datos de WordPress de forma segura, haz un Backup de tu sitio o crea un entorno de Staging con WP STAGING. Luego usa una herramienta de gestion de base de datos, como phpMyAdmin o Adminer, para acceder y modificar la base de datos sin afectar a tu sitio en produccion.

Tablas de la base de datos de WordPress de un vistazo

Una instalacion estandar de WordPress en un solo sitio utiliza actualmente 12 tablas de base de datos predeterminadas. La tabla a continuacion resume que almacena cada tabla, donde la usa WordPress y que puede fallar si la tabla falta o esta corrupta.

TablaAlmacenaUtilizada paraQue falla si falta o esta corrupta
wp_optionsURL del sitio, Plugins activos, ajustes del Theme, transients, reglas de reescritura, datos de cronBootstrap de WordPress, ajustes de Plugins, configuracion del sitioRedirecciones de URL incorrectas, ajustes faltantes, fallos de Plugins, cron roto, opciones de autocarga lentas
wp_postsEntradas, paginas, archivos adjuntos, revisiones, menus, tipos de publicacion personalizadosContenido, biblioteca de medios, menus de navegacion, muchos tipos de datos de PluginsPaginas/entradas/medios faltantes, menus rotos, entradas de tipos de publicacion personalizados faltantes
wp_postmetaMetadatos para entradas, paginas, archivos adjuntos, productos, constructores de paginas, Plugins SEOImagenes destacadas, datos de productos, campos SEO, disenos del constructorImagenes faltantes, disenos rotos, datos de productos faltantes, metadatos SEO incompletos
wp_usersCuentas de usuario, inicios de sesion, hashes de contrasenas, correos electronicos, nombres de visualizacionAutenticacion y autoriaLos usuarios no pueden iniciar sesion, los autores desaparecen
wp_usermetaRoles de usuario, capacidades, campos de perfil, ajustes de usuario de PluginsPermisos y ajustes especificos del usuarioEl administrador pierde permisos, los roles desaparecen, los ajustes de usuario se rompen
wp_commentsComentarios, pingbacks, trackbacks, resenasSistemas de comentarios y resenasLos comentarios o resenas desaparecen
wp_commentmetaMetadatos para comentarios y resenasEstado de spam, valoraciones, datos de comentarios de PluginsSe pierden los metadatos de resenas, los datos de spam o los datos de comentarios de Plugins
wp_termsNombres y slugs de terminosCategorias, etiquetas, categorias de enlaces, terminos de taxonomia personalizadosLos nombres de categorias y etiquetas desaparecen
wp_termmetaMetadatos para terminos de taxonomiaImagenes de terminos, metadatos SEO, campos de terminos personalizadosLos metadatos de categorias/etiquetas desaparecen
wp_term_taxonomyTipo de taxonomia, relacion padre-hijo, recuentos de terminosDistingue categoria de etiqueta y taxonomia personalizadaLas categorias/etiquetas se asignan incorrectamente o pierden su jerarquia
wp_term_relationshipsRelaciones entre contenido y terminos de taxonomiaAsigna entradas/productos/paginas a categorias y etiquetasLas entradas pierden categorias/etiquetas, se rompen los menus y las relaciones de taxonomia
wp_linksDatos heredados del gestor de blogroll/enlacesFuncion de Gestor de enlaces obsoleta y Plugins antiguosGeneralmente nada en sitios modernos, a menos que un Plugin antiguo aun lo utilice

Como son las tablas de base de datos?

Imagina una hoja de Excel con una fila de encabezado y valores en la fila inferior.

Por ejemplo, puedes ver una pequena seccion de la tabla aqui. wp_options:

Encabezado de la base de datos de WordPress de la tabla wp_options

Hablemos de esas tablas con mas profundidad para entender por que es fundamental saber que tabla es responsable del contenido de un sitio WordPress.

Entender la estructura de tablas te ayudara a saber que tabla necesitas incluir o excluir si planeas sincronizar o mover datos de un sitio de Staging al sitio en produccion o viceversa con WP STAGING. Tambien es util si planeas actualizar el sitio de Staging.

Esto cobra aun mas importancia con WordPress 7.0 y versiones posteriores. La tabla wp_collaboration prevista almacena datos de colaboracion en tiempo real del editor, que suelen ser temporales y especificos del entorno. Al publicar un sitio de Staging en el sitio en produccion, evita sobrescribir el estado de colaboracion activo del sitio en produccion a menos que quieras reemplazar intencionalmente toda la base de datos.

Lista de tablas del nucleo de WordPress

La tabla anterior ofrece una vision rapida. La siguiente seccion explica las tablas del nucleo de WordPress con mas detalle para desarrolladores, propietarios de sitios y cualquiera que este depurando migraciones, Backups o problemas de base de datos.

WordPress puede anadir nuevas tablas del nucleo en versiones principales. Por ejemplo, WordPress 7.0 tiene previsto introducir `wp_collaboration` para datos de colaboracion en tiempo real del editor.

Otras tablas en tu base de datos son creadas por Plugins o Themes y no siempre son necesarias para ejecutar el sitio web correctamente.

wp_options

La tabla wp_options es una de las tablas de base de datos de WordPress mas esenciales y almacena todos los ajustes de un sitio WordPress, como la URL, el titulo, los Plugins instalados. La mayoria de los Plugins tambien almacenan sus ajustes en esta tabla.

Todos los ajustes del panel de WordPress se almacenan en esta tabla.

wp_users,
wp_usermeta

wp_users Almacena todos los usuarios registrados en un sitio WordPress. Contiene informacion basica sobre un usuario, como un nombre de usuario y contrasena cifrada, correo electronico, hora de registro, nombre de visualizacion, estado y algunos campos mas.

wp_usermeta Almacena los metadatos de los usuarios. Extiende la tabla wp_users con mas datos. Por ejemplo, el nombre de pila de un usuario se almacena en la tabla wp_usermeta en lugar de en la tabla wp_users.

Hay dos campos necesarios en esta tabla. Los Plugins pueden almacenar datos personalizados en wp_usermeta simplemente anadiendo un nuevo valor en el campo meta_key.

wp_posts,
wp_postmeta

wp_posts La tabla almacena todos los datos relacionados con el contenido de un sitio web WordPress. Todas las entradas, paginas y sus revisiones estan disponibles en la tabla wp_posts. WordPress almacena mucho mas en esa tabla de lo que puede parecer a simple vista.

Esta tabla tambien contiene elementos del menu de navegacion, archivos multimedia y archivos adjuntos como imagenes y datos de contenido usados por Plugins.

En wp_posts hay una columna de tabla post_type que segmenta ese tipo de datos diferentes para que una consulta de base de datos pueda solicitar tipos especificos de datos. post_type es la columna mas critica de esta tabla.

En las imagenes a continuacion, puedes ver dos post_types diferentes, revision y attachment, que se almacenan en la misma tabla wp_posts:

Tabla wp_posts columna attachment post_type
Tabla wp_posts columna revision post_type

La tabla wp_postmeta, al igual que la tabla wp_usermeta, extiende la tabla wp_posts con mas datos, que tambien pueden ser usados por otros Plugins.

Por ejemplo, el popular Plugin Yoast SEO almacena etiquetas open graph personalizadas, entradas y datos de URL en esta tabla.

wp_terms,
wp_term_relationships,
wp_term_taxonomy,
wp_termmeta

La tabla wp_terms almacena categorias y etiquetas para entradas, paginas y enlaces.

Una de las columnas de esta tabla es «slug». Un slug es un termino que refleja una etiqueta de una publicacion determinada. En WordPress, puedes usar etiquetas para conectar entradas, paginas y enlaces.

wp_term_relationships es la conjuncion y conecta estas etiquetas a entradas, paginas y enlaces. Es como un mapa entre los objetos de terminos y los terminos.

wp_term_taxonomy Extiende la tabla wp_terms con mas datos. Es como metadatos para la tabla wp_terms, con la diferencia de que los Plugins no pueden anadir datos personalizados aqui. Esta tabla tambien contiene una relacion entre menus y elementos de menu.

La tabla wp_termmeta almacena metadatos para terminos de taxonomia. Funciona de manera similar a wp_postmeta, wp_usermeta y wp_commentmeta, pero para categorias, etiquetas y terminos de taxonomia personalizados.

Los Plugins y Themes pueden usar esta tabla para almacenar datos adicionales para los terminos, como imagenes de categoria, metadatos SEO, colores personalizados, ajustes de visualizacion u otros campos especificos de taxonomia.

Si esta tabla falta o esta incompleta despues de una migracion, las categorias y etiquetas pueden seguir existiendo, pero sus metadatos adicionales pueden perderse.

wp_comments,
wp_commentmeta

wp_comments almacena comentarios en entradas y paginas. Esta tabla tambien contiene comentarios no aprobados e informacion del autor, junto con la jerarquia de comentarios. La tabla wp_commentmeta contiene mas metadatos sobre los comentarios.

Esta tabla contiene informacion sobre enlaces personalizados anadidos a tu sitio. Esta obsoleta y ya no se usa. Hay algunos Plugins mas antiguos que aun la utilizan, pero generalmente es una tabla vacia.

Proxima tabla de WordPress 7.0: wp_collaboration

`wp_collaboration` es una nueva tabla de base de datos del nucleo de WordPress prevista para WordPress 7.0. Forma parte de la funcion de colaboracion en tiempo real en el editor de bloques, que permite a multiples usuarios editar la misma entrada o pagina al mismo tiempo.

Las primeras versiones beta de WordPress 7.0 almacenaban los datos de sincronizacion relacionados con la colaboracion en el almacenamiento de entradas y metadatos de entradas. Esto creo problemas de rendimiento porque la actividad del editor en tiempo real puede escribir datos con mucha frecuencia. Cada actualizacion de metadatos de entrada puede invalidar las caches de objetos relacionados con entradas, lo que puede reducir la eficacia del cache de objetos persistente mientras una sesion del editor esta abierta.

La nueva tabla `wp_collaboration` separa los datos de colaboracion de alta frecuencia de las tablas de contenido habituales como `wp_posts` y `wp_postmeta`. Su proposito es almacenar datos de sincronizacion temporales usados por el editor, como actualizaciones de edicion colaborativa, identificadores de cliente/sesion, informacion de sala y marcas de tiempo usadas para limpieza.

Esta tabla **no** reemplaza `wp_posts`, `wp_postmeta` ni el sistema de revisiones de WordPress. Las entradas, paginas, archivos adjuntos, tipos de publicacion personalizados y revisiones siguen almacenandose en `wp_posts`; los metadatos especificos de entradas permanecen en `wp_postmeta`.

Para Backups y migraciones, trata `wp_collaboration` de manera diferente a las tablas de contenido permanente. Un Backup completo de la base de datos debe incluirla, pero al publicar un sitio de Staging en produccion, esta tabla generalmente no necesita sobrescribir el sitio en vivo porque almacena datos de colaboracion/sesion de corta duracion en lugar de contenido canonico del sitio web. WordPress puede recrear el estado de colaboracion a medida que los usuarios editan el contenido.

Importante: aunque los datos son temporales, pueden contener cargas de sincronizacion del editor relacionadas con contenido en curso. No los trates como publicos o desechables desde una perspectiva de privacidad y seguridad.

Nota: el esquema final puede cambiar antes del lanzamiento de WordPress 7.0. Durante el desarrollo, las propuestas publicas para `wp_collaboration` han incluido campos como un ID autoincremental, identificador de sala, identificadores de cliente/usuario, una carga de datos y una marca de tiempo GMT. Las pruebas recientes tambien exploran el almacenamiento de datos de presencia en una tabla `wp_presence` separada. Comprueba el esquema final de la base de datos de WordPress 7.0 antes de publicar la lista exacta de columnas.

Estructura grafica de la base de datos de WordPress

Este diagrama muestra como estan conectadas las tablas de WordPress:

Estructura y tablas de la base de datos de WordPress - SVG

Abrir imagen en resolucion completa: Clic derecho -> Abrir imagen en nueva pestana

Problemas comunes de base de datos de WordPress y las tablas implicadas

ProblemaTabla(s) mas relevante(s)Que comprobar
El sitio redirige al dominio incorrecto despues de la migracionwp_optionsComprueba siteurl, home y las opciones de Plugin serializadas
El usuario administrador existe pero no tiene permisos de administradorwp_usermetaComprueba la clave de capacidades, especialmente despues de cambiar el prefijo de tabla
Las entradas existen pero faltan categorias o etiquetaswp_terms, wp_term_taxonomy, wp_term_relationshipsComprueba si todas las tablas de taxonomia se migraron juntas
Las entradas de la biblioteca de medios existen pero las imagenes estan rotaswp_posts, wp_postmeta, carpeta de subidasLos archivos adjuntos se almacenan en wp_posts; las rutas de archivo a menudo se almacenan en _wp_attached_file en wp_postmeta
Los menus desaparecen despues de la migracionwp_posts, wp_terms, wp_term_relationships, wp_postmetaLos menus de navegacion se almacenan en varias tablas
Los ajustes del Plugin desaparecenwp_options, a veces tablas especificas del PluginComprueba si el Plugin almacena ajustes en wp_options o en tablas personalizadas
El sitio se vuelve lento despues de la migracionwp_options, wp_postmetaComprueba las opciones de autocarga y las tablas de metadatos grandes
Los comentarios o resenas desaparecenwp_comments, wp_commentmetaMigra ambas tablas juntas
WordPress dice que una tabla no existewp-config.php, todas las tablas con prefijoComprueba $table_prefix y si todas las tablas usan el mismo prefijo

Updated on mayo 22, 2026

Rene Hermenau

Autor: Rene Hermenau

About the author: René Hermenau is the founder of WP STAGING. He works on WordPress backups, staging, migrations, database handling, and safe deployment workflows.