Cómo cambiar el prefijo de las tablas en WordPress para seguridad (cPanel)
¿Por qué cambiar el prefijo de las tablas de WordPress?
WordPress utiliza por defecto el prefijo wp_ para todas sus tablas en la base de datos. Esto es algo que los atacantes conocen perfectamente, y es una de las primeras cosas que intentan explotar cuando buscan vulnerabilidades en tu sitio.
Si un ciberdelincuente consigue acceso a tu base de datos mediante inyección SQL u otro método, saber que el prefijo es wp_ le facilita mucho el trabajo, ya que conoce exactamente qué tablas buscar y cómo interactuar con ellas.
Cambiar el prefijo de las tablas de tu WordPress es una medida de seguridad sencilla pero muy efectiva que añade una capa extra de protección. No es infalible, pero sí disuade a muchos atacantes y complica enormemente los intentos de acceso no autorizado.
En este artículo te voy a explicar, paso a paso y sin tecnicismos innecesarios, cómo cambiar el prefijo de las tablas de tu WordPress usando cPanel. No necesitas ser un experto en programación, solo seguir las instrucciones con calma y atención.
¿Qué necesitas antes de empezar?
Antes de ponernos manos a la obra, es fundamental que tengas a mano los siguientes datos:
- Acceso a tu panel de control de hosting (cPanel)
- Usuario y contraseña de tu base de datos
- Acceso al panel de administración de WordPress
- Un cliente FTP o el administrador de archivos de cPanel (opcional pero recomendado)
Importante: Te recomiendo encarecidamente que hagas una copia de seguridad completa de tu sitio web antes de realizar cualquier cambio en la base de datos. Un error aquí podría dejar tu web inaccesible, así que más vale prevenir que curar.
Paso 1: Haz una copia de seguridad completa
Este paso no es negociable. Antes de tocar nada, asegúrate de tener una copia de seguridad reciente de tu sitio web y de tu base de datos.
Cómo hacer la copia de seguridad desde cPanel
- Entra en tu cPanel con tus credenciales
- Busca la sección Archivos y haz clic en Copia de seguridad o Backup
- Selecciona la opción de Copia de seguridad completa o Backup completo
- Espera a que se genere el archivo y descárgalo a tu ordenador
También puedes usar un plugin como UpdraftPlus o BackupBuddy desde el propio WordPress, pero la opción de cPanel es más directa y fiable.
Paso 2: Accede a phpMyAdmin desde cPanel
Ahora que ya tienes tu copia de seguridad, vamos a entrar en la base de datos.
- Inicia sesión en tu cPanel
- Busca la sección Bases de Datos y haz clic en phpMyAdmin
- Se abrirá una nueva ventana o pestaña con phpMyAdmin
- En el panel lateral izquierdo, verás una lista de tus bases de datos. Haz clic en la que corresponda a tu WordPress
[INFO] Si no sabes cuál es tu base de datos de WordPress, puedes consultarla en el archivo
wp-config.phpde tu instalación. Busca la línea que diceDB_NAMEy ahí verás el nombre exacto.
Paso 3: Identifica todas las tablas de tu WordPress
Una vez dentro de tu base de datos, verás una lista de tablas en el panel lateral o en la parte central de la pantalla. Todas las tablas de WordPress empiezan con el prefijo wp_ (o el que hayas usado en su momento).
Por ejemplo, verás tablas como:
wp_postswp_optionswp_userswp_commentswp_postmeta
Anota todas las tablas que empiecen con wp_. Las necesitarás para el siguiente paso.
Paso 4: Cambia el prefijo de las tablas con una consulta SQL
Ahora viene la parte técnica, pero no te preocupes, es más fácil de lo que parece. Vamos a usar una consulta SQL para renombrar todas las tablas de una vez.
En la pestaña SQL de phpMyAdmin (suele estar en la parte superior), vas a pegar el siguiente código:
RENAME TABLE wp_commentmeta TO nuevo_prefijo_commentmeta;
RENAME TABLE wp_comments TO nuevo_prefijo_comments;
RENAME TABLE wp_links TO nuevo_prefijo_links;
RENAME TABLE wp_options TO nuevo_prefijo_options;
RENAME TABLE wp_postmeta TO nuevo_prefijo_postmeta;
RENAME TABLE wp_posts TO nuevo_prefijo_posts;
RENAME TABLE wp_terms TO nuevo_prefijo_terms;
RENAME TABLE wp_termmeta TO nuevo_prefijo_termmeta;
RENAME TABLE wp_term_relationships TO nuevo_prefijo_term_relationships;
RENAME TABLE wp_term_taxonomy TO nuevo_prefijo_term_taxonomy;
RENAME TABLE wp_usermeta TO nuevo_prefijo_usermeta;
RENAME TABLE wp_users TO nuevo_prefijo_users;
Pero espera, no lo ejecutes todavía. Primero tienes que hacer dos cosas:
- Reemplaza
nuevo_prefijopor el prefijo que quieras usar. Por ejemplo:miwp_,seguro_,misitio_, etc. - Comprueba si tienes más tablas que las que aparecen en la lista. Algunos plugins crean sus propias tablas, así que deberías añadir líneas para esas también.
[TIP] Elige un prefijo que sea difícil de adivinar. Evita cosas como
wp_,wordpress_oblog_. Algo comox7k9_omiweb_segura_es mucho mejor.
[WARNING] Si no estás seguro de qué tablas tienes, NO ejecutes la consulta. Mejor hazlo tabla por tabla desde la opción "Operaciones" de cada tabla, aunque sea más lento.
Si prefieres hacerlo tabla por tabla (más seguro para principiantes):
- Haz clic en una tabla (por ejemplo,
wp_posts) - Ve a la pestaña Operaciones
- Busca el campo Renombrar tabla a o Rename table to
- Escribe el nuevo nombre con tu prefijo personalizado
- Haz clic en Continuar o Go
- Repite esto con cada tabla
Paso 5: Actualiza el archivo wp-config.php
Ahora que las tablas tienen un nuevo prefijo, necesitamos decirle a WordPress que las busque con ese nuevo nombre. Esto se hace en el archivo wp-config.php.
- Ve a Administrador de archivos en cPanel (sección Archivos)
- Navega hasta la carpeta donde tienes instalado WordPress (normalmente
public_htmlo una subcarpeta) - Busca el archivo
wp-config.phpy haz clic derecho para Editar - Busca la línea que dice:
$table_prefix = 'wp_';
- Cámbiala por tu nuevo prefijo:
$table_prefix = 'nuevo_prefijo';
- Guarda los cambios y cierra el archivo
[WARNING] Asegúrate de que el prefijo que pones aquí es EXACTAMENTE el mismo que usaste en las tablas. Un solo carácter diferente y WordPress no encontrará sus tablas.
Paso 6: Actualiza las opciones guardadas en la base de datos
Además de renombrar las tablas y actualizar el archivo de configuración, hay dos opciones dentro de la tabla options que contienen referencias al prefijo antiguo. Necesitamos actualizarlas.
Ejecuta esta consulta SQL en phpMyAdmin (en la pestaña SQL):
UPDATE nuevo_prefijo_options SET option_name = 'nuevo_prefijo_user_roles' WHERE option_name = 'wp_user_roles';
Reemplaza nuevo_prefijo por el tuyo. Esta consulta actualiza la referencia que WordPress usa para los roles de usuario.
Paso 7: Actualiza las metas de usuario si es necesario
Si tienes usuarios registrados en tu sitio (o si tú mismo tienes una cuenta de administrador), necesitas actualizar los metadatos de usuario que contienen referencias al prefijo antiguo.
Ejecuta esta consulta SQL:
UPDATE nuevo_prefijo_usermeta SET meta_key = 'nuevo_prefijo_capabilities' WHERE meta_key = 'wp_capabilities';
UPDATE nuevo_prefijo_usermeta SET meta_key = 'nuevo_prefijo_user_level' WHERE meta_key = 'wp_user_level';
UPDATE nuevo_prefijo_usermeta SET meta_key = 'nuevo_prefijo_user-settings' WHERE meta_key = 'wp_user-settings';
UPDATE nuevo_prefijo_usermeta SET meta_key = 'nuevo_prefijo_user-settings-time' WHERE meta_key = 'wp_user-settings-time';
Paso 8: Comprueba que todo funciona
Este es el momento de la verdad. Antes de darlo todo por hecho, verifica que tu sitio funciona correctamente.
- Abre tu sitio web en una ventana de incógnito
- Comprueba que la página principal carga correctamente
- Entra en el panel de administración (
tusitio.com/wp-admin) - Navega por algunas páginas internas
- Si tienes una tienda online o formularios, pruébalos también
[INFO] Si algo falla, no entres en pánico. Vuelve a tu copia de seguridad y restaura la base de datos y los archivos. Por eso era tan importante hacerla al principio.
Errores comunes y cómo solucionarlos
Error: "Error establishing a database connection"
Este error significa que WordPress no puede conectar con la base de datos. Las causas más comunes son:
- El prefijo en
wp-config.phpno coincide con el de las tablas - Alguna tabla se renombró mal o no se renombró
Solución: Revisa el archivo wp-config.php y asegúrate de que el prefijo coincide exactamente con el que usaste en las tablas.
Error: "Tabla no existe"
Si ves mensajes como "Table 'tu_bd.wp_posts' doesn't exist", significa que te has dejado alguna tabla sin renombrar.
Solución: Vuelve a phpMyAdmin y comprueba qué tablas siguen con el prefijo antiguo. Renómbralas y actualiza el wp-config.php si es necesario.
Error: "No tienes permisos para acceder"
Si no puedes entrar en el panel de administración, es posible que haya un problema con los metadatos de usuario.
Solución: Ejecuta de nuevo las consultas del Paso 7. Asegúrate de que el prefijo en las consultas es el correcto.
Preguntas frecuentes (FAQ)
¿Es realmente necesario cambiar el prefijo de las tablas?
No es obligatorio, pero sí muy recomendable. Es una capa extra de seguridad que complica los ataques de inyección SQL. Combinado con otras medidas como contraseñas fuertes y plugins de seguridad, hace tu sitio mucho más difícil de vulnerar.
¿Puedo cambiar el prefijo de las tablas sin acceder a phpMyAdmin?
Sí, existen plugins como "Change Table Prefix" que hacen el trabajo por ti. Sin embargo, hacerlo manualmente como te he explicado te da más control y no dependes de un plugin de terceros.
¿El cambio de prefijo afecta al SEO de mi web?
No, el cambio de prefijo de las tablas no tiene ningún efecto sobre el SEO. Las URLs, el contenido y la estructura de tu sitio permanecen iguales.
¿Tengo que cambiar el prefijo si uso Syspanel en lugar de cPanel?
Si usas Syspanel (anteriormente conocido como HestiaCP), el proceso es muy similar. Accede a Syspanel a través del puerto 2106 y busca la sección de bases de datos. El resto del proceso es idéntico.
¿Cuánto tiempo tarda el proceso?
Si sigues todos los pasos con calma, entre 30 y 60 minutos es un tiempo razonable. La primera vez siempre lleva más tiempo, pero una vez que lo has hecho, es muy rápido.
¿Qué pasa con las tablas de los plugins?
Los plugins pueden crear sus propias tablas con el prefijo de WordPress. Deberías renombrarlas también para mantener la coherencia. La mayoría de plugins usarán el prefijo que definas en wp-config.php automáticamente.
¿Puedo deshacer el cambio si algo sale mal?
Sí, si tienes tu copia de seguridad. Restaura la base de datos desde la copia y vuelve a poner wp_ en el wp-config.php. Todo volverá a la normalidad.
Consejos adicionales de seguridad para tu base de datos
Cambiar el prefijo de las tablas es solo una de las muchas cosas que puedes hacer para proteger tu WordPress. Aquí tienes algunas recomendaciones más:
- Cambia el usuario de la base de datos por defecto y usa contraseñas complejas
- Limita los intentos de inicio de sesión en WordPress para evitar ataques de fuerza bruta
- Mantén WordPress, temas y plugins actualizados siempre
- Usa un plugin de seguridad como Wordfence o iThemes Security
- Haz copias de seguridad periódicas de tu sitio y base de datos
- Desactiva la edición de archivos desde el panel de administración añadiendo
define('DISALLOW_FILE_EDIT', true);alwp-config.php
Conclusión
Cambiar el prefijo de las tablas de WordPress desde cPanel es un proceso que parece más complicado de lo que realmente es. Siguiendo estos pasos con calma y atención, tendrás tu sitio más seguro en menos de una hora.
Recuerda que la seguridad de tu web no depende de una sola medida, sino de la combinación de varias. El cambio de prefijo es una pieza más del puzle, pero una pieza que merece la pena tener.
Si tienes cualquier duda durante el proceso, no dudes en volver a consultar esta guía o contactar con el soporte de tu hosting. Todos hemos sido principiantes alguna vez, y es normal tener dudas.
Ahora que ya sabes cómo hacerlo, ¿a qué esperas para proteger tu WordPress?
