Cómo solucionar el error 'Table doesn't exist' en WordPress (cPanel)
¿Qué significa el error "Table doesn't exist" en WordPress?
Este es uno de los errores más comunes y, a la vez, más desconcertantes para los usuarios de WordPress. Ver un mensaje como "Table 'tuweb_wp.wp_options' doesn't exist" o "Error de la base de datos: Table doesn't exist" en tu sitio puede ser aterrador, pero no te preocupes: en la gran mayoría de los casos tiene solución y no has perdido tus datos.
Este error indica que WordPress está intentando acceder a una tabla dentro de tu base de datos MySQL, pero el sistema no la encuentra. Las causas pueden ser varias: desde una actualización fallida, una importación incorrecta, un plugin que creó tablas y luego las borró, hasta un problema con el motor de almacenamiento (por ejemplo, que la tabla se haya corrompido o haya cambiado de InnoDB a MyISAM sin avisar).
Para solucionarlo, necesitarás acceder a cPanel (o a tu panel de control de hosting) y usar phpMyAdmin, que es la herramienta que te permite gestionar tu base de datos de forma visual. A continuación, te explico paso a paso cómo reparar el error "tabla no existe WordPress" y recuperar tu sitio web.
Antes de empezar: haz una copia de seguridad (sí o sí)
[WARNING]
No intentes modificar tu base de datos sin antes hacer una copia de seguridad. Un error al borrar o reparar una tabla puede empeorar las cosas. La copia de seguridad es tu red de seguridad.
La forma más rápida de hacer una copia de seguridad desde cPanel es:
- Entra en tu cPanel.
- Busca la sección Archivos y haz clic en Gestor de copias de seguridad o Backup.
- Dentro de la opción de Backup parcial, busca Descargar una copia de seguridad de la base de datos MySQL.
- Selecciona tu base de datos (suele llamarse
tuusuario_wpXXXX) y descarga el archivo.sqla tu ordenador.
También puedes hacer la copia desde phpMyAdmin (te lo explico en el siguiente paso), pero si no tienes experiencia, el backup desde cPanel es más sencillo.
Paso 1: Accede a phpMyAdmin desde cPanel
Para empezar a reparar la base de datos, necesitas entrar en phpMyAdmin. Sigue estos pasos:
- Inicia sesión en tu cPanel con tu usuario y contraseña.
- Dentro de cPanel, busca la sección Bases de datos.
- Haz clic en phpMyAdmin (en algunos hostings puede aparecer como "Administrador de bases de datos MySQL" o un icono con un elefante).
- Se abrirá una nueva pestaña con phpMyAdmin. En la columna de la izquierda verás listadas todas tus bases de datos.
[INFO]
Si tu hosting usa Syspanel (antes conocido como HestiaCP), el acceso a phpMyAdmin se hace desde el panel de control, pero el puerto de acceso a Syspanel es el 2106 (por ejemplo,https://tu-dominio.com:2106). Una vez dentro, busca el icono de phpMyAdmin en el área de bases de datos.
Paso 2: Identifica la tabla que da el error
El mensaje de error de WordPress te dice exactamente qué tabla está fallando. Por ejemplo:
wp_optionswp_postswp_userswp_woocommerce_sessions(si usas WooCommerce)
Anota el nombre exacto de la tabla (el prefijo wp_ puede variar si lo cambiaste por seguridad, por ejemplo miweb_).
Ahora, en phpMyAdmin:
- En la columna izquierda, haz clic en el nombre de tu base de datos para expandirla.
- Verás la lista de todas las tablas. Busca la que falla.
- Si la tabla no aparece en la lista, es que realmente no existe (la borraron o nunca se creó). Si aparece pero con algún símbolo de error (por ejemplo, "en uso" o "rota"), sigue al paso 3.
Paso 3: Reparar la tabla directamente desde phpMyAdmin
Si la tabla sí existe pero está marcada como "corrupta" o "rota", puedes intentar repararla directamente.
- Haz clic en la casilla de verificación (checkbox) que está al lado del nombre de la tabla.
- En la parte inferior de la lista de tablas, verás un menú desplegable que dice Con seleccionadas:.
- Selecciona la opción Reparar tabla (en inglés, "Repair table").
- Haz clic en Continuar.
phpMyAdmin ejecutará el comando REPAIR TABLE de MySQL. Este comando intenta arreglar cualquier inconsistencia interna. Es muy útil cuando la tabla usa el motor MyISAM (el más común en hosting compartidos).
[TIP]
Si el botón "Reparar tabla" está gris o no aparece, significa que tu tabla usa el motor InnoDB. En ese caso, la reparación automática no está disponible desde phpMyAdmin. Pero no te preocupes, hay otra forma (sigue leyendo).
Paso 4: Si la tabla no existe, créala de nuevo
Si la tabla no aparece en la lista, significa que se ha perdido o borrado. La solución es crear la tabla vacía y luego rellenarla con los datos de tu copia de seguridad (o dejarla vacía para que WordPress la reconstruya).
Para crear una tabla básica de WordPress, necesitas el comando SQL. Aquí tienes un ejemplo para la tabla wp_options (la más común en este error):
- En phpMyAdmin, haz clic en el nombre de tu base de datos (en la columna izquierda).
- Ve a la pestaña SQL (arriba en el menú).
- Pega el siguiente código SQL (ajusta el prefijo si el tuyo no es
wp_):
CREATE TABLE wp_options (
option_id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
option_name varchar(191) NOT NULL DEFAULT '',
option_value longtext NOT NULL,
autoload varchar(20) NOT NULL DEFAULT 'yes',
PRIMARY KEY (option_id),
UNIQUE KEY option_name (option_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
- Haz clic en Continuar o Ejecutar.
Esto creará la tabla wp_options vacía. WordPress, al recargar la página, la detectará y la rellenará con sus valores por defecto.
[WARNING]
No intentes crear tablas que no sabes qué estructura tienen. Si el error es enwp_postsowp_users, la estructura es mucho más compleja. En ese caso, es mejor restaurar la base de datos desde tu copia de seguridad (paso 6).
Paso 5: Reparar todas las tablas de golpe (truco avanzado)
Si el error afecta a varias tablas o no sabes cuál es exactamente, puedes intentar reparar todas las tablas de tu base de datos a la vez.
- En phpMyAdmin, haz clic en el nombre de tu base de datos.
- Ve a la pestaña Exportar (esto es solo una precaución extra, aunque ya tengas backup).
- Ahora ve a la pestaña SQL.
- Pega este comando (reemplaza
tu_base_de_datospor el nombre real de tu base):
REPAIR TABLE tu_base_de_datos.wp_options, tu_base_de_datos.wp_posts, tu_base_de_datos.wp_users;
Pero eso solo repara las tres que pongas. Para reparar todas las tablas de una vez, usa esto:
SELECT CONCAT('REPAIR TABLE ', table_name, ';') FROM information_schema.tables WHERE table_schema = 'tu_base_de_datos';
Esto te devolverá una lista de comandos REPAIR TABLE. Copia el resultado completo, pégalo en el cuadro de SQL y ejecútalo.
Es un truco muy útil, pero si no te sientes cómodo con SQL, puedes usar la opción gráfica: marca todas las tablas (haz clic en "Seleccionar todo") y elige "Reparar" en el desplegable.
Paso 6: Restaurar desde la copia de seguridad (solución definitiva)
Si nada de lo anterior funciona, la solución más segura es restaurar la base de datos desde la copia de seguridad que hiciste al principio. Este proceso reemplaza todas las tablas actuales por las de la copia, así que asegúrate de que la copia es reciente (idealmente de antes de que apareciera el error).
- En phpMyAdmin, haz clic en el nombre de tu base de datos.
- Ve a la pestaña Importar.
- Haz clic en Elegir archivo y selecciona tu archivo
.sqlde respaldo. - Haz clic en Continuar.
Espera a que termine la importación (puede tardar unos minutos si la base es grande). Luego recarga tu sitio web.
[INFO]
Si tu hosting usa Syspanel, el puerto de acceso es el 2106 y la restauración se puede hacer desde el panel, pero el proceso es idéntico: importar el.sqldesde phpMyAdmin.
Paso 7: Comprueba el archivo wp-config.php
A veces el error "Table doesn't exist" aparece porque WordPress está intentando usar una base de datos incorrecta, o un prefijo de tabla equivocado.
- Conéctate a tu hosting por FTP o desde el Administrador de archivos de cPanel.
- Abre la carpeta raíz de tu WordPress (suele ser
public_html). - Busca el archivo
wp-config.php. - Revisa estas líneas:
define('DB_NAME', 'tu_base_de_datos');
define('DB_USER', 'tu_usuario');
define('DB_HOST', 'localhost');
$table_prefix = 'wp_';
Asegúrate de que DB_NAME coincide con el nombre de la base que estás viendo en phpMyAdmin, y que $table_prefix coincide con el prefijo de las tablas (si tus tablas se llaman miweb_options, el prefijo es miweb_).
Si cambiaste el prefijo, WordPress no encontrará las tablas y te dará exactamente ese error.
Paso 8: Desactiva plugins y tema (si el error es intermitente)
Si el error aparece solo a veces o después de instalar un plugin, es posible que ese plugin esté intentando usar una tabla que no existe (por ejemplo, una tabla de caché o de sesiones).
- Entra a tu hosting y renombra la carpeta
wp-content/pluginsawp-content/plugins_old(esto desactiva todos los plugins). - Recarga tu web. Si el error desaparece, el problema es un plugin.
- Ve renombrando las carpetas una a una para encontrar al culpable.
También puedes probar a cambiar a un tema por defecto (como Twenty Twenty-Four) renombrando la carpeta wp-content/themes/tu-tema a tu-tema_old.
Preguntas frecuentes (FAQ)
¿Puedo perder mis datos al reparar la tabla?
No. La opción Reparar tabla de phpMyAdmin no borra datos, solo intenta arreglar la estructura interna. Crear una tabla vacía tampoco borra nada (solo crea una nueva). Eso sí, restaurar desde un backup sí reemplaza los datos actuales por los del backup.
¿Por qué aparece este error después de migrar mi web?
Es muy común. Al migrar, a veces no se importan todas las tablas o el prefijo de las tablas cambia. Revisa el wp-config.php y verifica que el prefijo coincide.
¿Y si el error es en una tabla de WooCommerce?
WooCommerce usa muchas tablas personalizadas (como wp_woocommerce_sessions o wp_wc_orders). Si falta alguna, la solución más limpia es reinstalar WooCommerce desde el panel de administración (si puedes acceder) o restaurar desde el backup.
¿Qué hago si no tengo copia de seguridad?
Puedes intentar crear la tabla vacía (como en el paso 4), pero si es una tabla con datos importantes (como wp_posts), perderás el contenido. En ese caso, contacta con tu proveedor de hosting; a veces tienen copias de seguridad automáticas de las últimas 24-48 horas.
¿Este error tiene relación con el SEO?
Sí, indirectamente. Si tu web muestra este error, Google no podrá indexarla correctamente y los usuarios verán una página de error. Solucionarlo a tiempo evita una caída prolongada que afecte tu posicionamiento.
Resumen rápido
- Haz una copia de seguridad.
- Entra a phpMyAdmin desde cPanel (o Syspanel, puerto 2106).
- Repara la tabla con la opción Reparar tabla.
- Si no existe, créala con SQL o restaura desde backup.
- Revisa el
wp-config.phppara verificar prefijo y nombre de base. - Desactiva plugins si el error es intermitente.
Con estos pasos, el error "Table doesn't exist" en WordPress debería quedar resuelto. Recuerda: la paciencia es clave y siempre trabaja con una copia de seguridad a mano. Si después de intentarlo todo el problema persiste, contacta con tu proveedor de hosting: ellos tienen herramientas más avanzadas para reparar bases de datos MySQL.
