Cómo cambiar el prefijo de las tablas de WordPress para mejorar la seguridad (cPanel)
¿Por qué cambiar el prefijo de las tablas de WordPress?
Cuando instalas WordPress, por defecto crea todas sus tablas en la base de datos con el prefijo wp_. Esto significa que tendrás tablas llamadas wp_posts, wp_options, wp_users, etc. Este es un dato que cualquier atacante conoce de antemano, porque es el estándar de la industria.
Si un hacker logra explotar una vulnerabilidad (como una inyección SQL), ya sabe exactamente qué nombres de tablas buscar. Cambiar el prefijo a algo aleatorio como x7k9_ o miweb_ añade una capa extra de seguridad por oscuridad. No es infalible, pero dificulta enormemente los intentos de ataque automatizados y manuales.
Este proceso es totalmente seguro si se hace con cuidado y siguiendo los pasos correctos. En esta guía te explicaré cómo hacerlo desde cPanel y phpMyAdmin, sin necesidad de ser un experto en programación.
Requisitos previos antes de empezar
Antes de tocar nada, asegúrate de tener lo siguiente:
- Acceso a cPanel de tu hosting (con permisos para gestionar bases de datos).
- Acceso a phpMyAdmin (normalmente está dentro de cPanel).
- Un backup completo de tu base de datos y de los archivos de tu WordPress. Esto es obligatorio, no opcional.
- Un editor de texto plano (como el Bloc de notas o Notepad++) para editar el archivo
wp-config.php.
[WARNING] No continúes si no has hecho una copia de seguridad. Un error al cambiar prefijos puede dejar tu web caída. El backup es tu red de seguridad.
Paso 1: Haz una copia de seguridad de tu base de datos
Entra en cPanel y busca la sección "Archivos" o "Bases de Datos". Dependiendo del tema de tu hosting, verás un icono llamado "Backup" o "Copias de seguridad".
- Haz clic en "Backup".
- En la sección de "Backup parcial", busca el apartado de "Descargar una copia de seguridad de la base de datos MySQL".
- Selecciona tu base de datos (la que usa WordPress) y haz clic en "Descargar".
Guarda el archivo .sql en tu ordenador. También es recomendable descargar una copia de los archivos de tu WordPress (carpeta public_html) por si acaso.
Paso 2: Accede a phpMyAdmin
En cPanel, busca el icono de "phpMyAdmin" dentro de la sección "Bases de Datos". Haz clic en él.
Se abrirá una nueva ventana. En el panel lateral izquierdo, verás la lista de tus bases de datos. Haz clic en el nombre de la base de datos que usa tu WordPress para seleccionarla.
[INFO] Si no sabes cuál es tu base de datos, ábrelo el archivo
wp-config.phpde tu WordPress (enpublic_html) y busca la línea que diceDB_NAME. Ahí aparece el nombre exacto.
Paso 3: Cambia el prefijo de todas las tablas
Este es el paso más delicado. Tienes dos opciones: usar una consulta SQL automática o hacerlo tabla por tabla. Te recomiendo la primera, es más rápida y segura.
Opción A: Usar una consulta SQL (recomendada)
Dentro de phpMyAdmin, con tu base de datos seleccionada, haz clic en la pestaña "SQL" (arriba del todo).
En el cuadro de texto, pega el siguiente código SQL, pero cámbialo antes:
- Reemplaza
wp_por tu prefijo actual (si es el estándar, déjalo así). - Reemplaza
nuevoprefijo_por el prefijo nuevo que quieras usar (por ejemplo,misegura_ox7k9_). Evita usarwp_de nuevo.
SELECT CONCAT('RENAME TABLE ', TABLE_NAME, ' TO ', REPLACE(TABLE_NAME, 'wp_', 'nuevoprefijo_'), ';')
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'nombre_de_tu_base_de_datos'
AND TABLE_NAME LIKE 'wp_%';
Ejemplo real (si tu base se llama miusuario_wpdb y quieres cambiar wp_ a segura_):
SELECT CONCAT('RENAME TABLE ', TABLE_NAME, ' TO ', REPLACE(TABLE_NAME, 'wp_', 'segura_'), ';')
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'miusuario_wpdb'
AND TABLE_NAME LIKE 'wp_%';
Haz clic en "Continuar". Verás una lista de comandos RENAME TABLE. Copia todos esos comandos (desde RENAME TABLE hasta el ; final).
Ahora borra el contenido del cuadro SQL, pega los comandos copiados y haz clic en "Continuar" de nuevo. Se ejecutarán todos los cambios de una vez.
[TIP] Si te da error al ejecutar, revisa que el nombre de la base de datos en la consulta coincida exactamente con el que aparece en phpMyAdmin (suele tener un prefijo como
tuusuario_).
Opción B: Cambiar tabla por tabla (manual)
Si prefieres hacerlo manualmente (por ejemplo, si solo quieres cambiar algunas tablas), selecciona la tabla (por ejemplo wp_posts), haz clic en la pestaña "Operaciones" y busca el campo "Renombrar tabla a". Escribe el nuevo nombre (por ejemplo, segura_posts) y pulsa "Continuar".
Repite esto con cada tabla. Es más tedioso, pero igual de válido.
Paso 4: Actualiza el archivo wp-config.php
Ahora tienes que decirle a WordPress que el prefijo ha cambiado. Para ello, edita el archivo wp-config.php que está en la raíz de tu instalación (normalmente en public_html).
- Ve a cPanel > Administrador de archivos.
- Navega hasta
public_htmly busca el archivowp-config.php. - Haz clic derecho sobre él y elige "Editar" (o "Edit").
- Busca la línea que dice:
$table_prefix = 'wp_';
- Cámbiala por tu nuevo prefijo:
$table_prefix = 'segura_';
- Guarda el archivo y ciérralo.
[WARNING] No cambies ninguna otra cosa en este archivo. Si ves que el archivo no se puede editar, descárgalo, edítalo con un editor de texto y súbelo de nuevo.
Paso 5: Actualiza las opciones de tu sitio en la base de datos
WordPress guarda algunas opciones internas que incluyen el prefijo en su contenido. No las cambies todas, solo dos claves importantes:
- Vuelve a phpMyAdmin.
- Selecciona tu base de datos y busca la tabla que antes era
wp_options(ahora se llamarásegura_options). - Haz clic en "Buscar" (arriba, junto a la pestaña SQL).
- Busca el término
wp_y reemplázalo por tu nuevo prefijo. Pero ojo: solo debes cambiar los valores de las filas donde el nombre del campo (option_name) seasiteurlohome.
Para hacerlo más seguro, ejecuta estas consultas SQL directamente en la pestaña "SQL":
UPDATE segura_options SET option_value = REPLACE(option_value, 'wp_', 'segura_') WHERE option_name = 'siteurl';
UPDATE segura_options SET option_value = REPLACE(option_value, 'wp_', 'segura_') WHERE option_name = 'home';
[INFO] Si tu sitio usa una URL con
wwwo es un subdominio, la URL completa se actualizará correctamente con este comando.
Paso 6: Revisa y limpia la caché
Después de estos cambios, es posible que veas errores o que la web no cargue bien. Esto suele deberse a la caché del navegador o a plugins de caché.
- Borra la caché de tu navegador o prueba en modo incógnito.
- Si usas un plugin de caché (como W3 Total Cache o WP Rocket), ve a su panel y pulsa "Vaciar caché".
- Si tienes una caché a nivel de servidor (como LiteSpeed Cache en cPanel), actívala desde el panel de control.
Prueba a acceder a tu web y a la URL de administración (tudominio.com/wp-admin). Si todo carga bien, ¡enhorabuena! Has cambiado el prefijo con éxito.
Paso 7: Verifica que todo funciona correctamente
- Entra en el panel de administración:
tudominio.com/wp-admin. - Navega por las páginas públicas: revisa que las imágenes, enlaces y formularios funcionan.
- Prueba a crear un borrador de entrada y guardarlo.
- Revisa los comentarios: publica un comentario de prueba.
Si algo falla, repasa los pasos anteriores. El error más común es haber escrito mal el prefijo en wp-config.php o no haber actualizado las opciones siteurl y home.
Qué hacer si algo sale mal
Si la web se rompe, no entres en pánico. Tienes el backup que hiciste al principio.
- Restaura la base de datos desde cPanel > Backup > Restaurar.
- Revierte el archivo
wp-config.phpa su versión original (cámbialo de nuevo awp_).
Con eso, tu web debería volver a la normalidad.
Preguntas frecuentes (FAQ)
¿Es obligatorio cambiar el prefijo de las tablas?
No es obligatorio, pero es una buena práctica de seguridad. Es una capa extra que, combinada con otras medidas (como contraseñas fuertes o plugins de seguridad), reduce el riesgo de ataques automatizados.
¿Puedo usar cualquier prefijo?
Sí, pero te recomiendo que sea algo aleatorio y que no tenga relación con tu marca o dominio. Por ejemplo, a1b2c3_ es mejor que mipagina_. Evita los prefijos comunes como wp_, blog_ o cms_.
¿Afecta esto al rendimiento de mi web?
No. El cambio de prefijo no tiene ningún impacto en la velocidad de carga ni en el rendimiento. Es puramente una medida de seguridad.
¿Qué pasa si tengo varios WordPress en la misma base de datos?
Si tienes varias instalaciones en la misma base de datos, cada una debe tener su propio prefijo. Asegúrate de cambiar solo las tablas que corresponden a la instalación que quieres modificar.
¿Necesito cambiar el prefijo si uso Syspanel (antes HestiaCP)?
El proceso es exactamente el mismo, ya que Syspanel (cuyo panel de control se accede por el puerto 2106) también utiliza cPanel o su propio administrador de archivos y phpMyAdmin. Solo cambia la interfaz de acceso, pero los pasos de MySQL son idénticos.
¿Puedo evitar la inyección SQL solo con cambiar el prefijo?
No. Cambiar el prefijo dificulta los ataques, pero no los previene. Para evitar inyecciones SQL en WordPress debes:
- Mantener WordPress, temas y plugins siempre actualizados.
- Usar plugins de seguridad (como Wordfence o Sucuri).
- Evitar instalar plugins o temas de fuentes no confiables.
- Usar contraseñas fuertes en la base de datos y en el panel de administración.
Conclusión final
Cambiar el prefijo de las tablas de WordPress es una tarea sencilla que cualquier persona puede hacer siguiendo estos pasos. Solo necesitas calma, un buen backup y un poco de paciencia.
Este cambio, junto con otras buenas prácticas de seguridad, hará que tu sitio sea mucho menos atractivo para los atacantes. Recuerda: la seguridad en WordPress no es un destino, es un proceso continuo. Este es solo un paso más en la dirección correcta.
Si te ha quedado alguna duda, déjala en los comentarios y te ayudaré a resolverla. ¡Buena suerte con tu WordPress más seguro!
