🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo cambiar el prefijo de las tablas de WordPress (wp_) para mejorar la seguridad

Actualizado el 3 de octubre de 2025

¿Por qué deberías plantearte cambiar el prefijo de las tablas de WordPress? La respuesta corta es: seguridad por oscuridad. Aunque no es una solución mágica, sí que añade una capa extra de protección frente a los ataques de inyección SQL más automatizados. Cuando instalas WordPress por defecto, todas las tablas de tu base de datos se crean con el prefijo wp_ (por ejemplo, wp_users, wp_posts, wp_options). Los bots y scripts maliciosos que escanean la web a millones de sitios por hora asumen que usas ese prefijo estándar. Si lo cambias, tus consultas SQL tendrán una firma diferente, y muchos de esos ataques automatizados fallarán antes de siquiera intentar explotar una vulnerabilidad.

En esta guía extensa y práctica, vamos a explicarte paso a paso cómo realizar este cambio de forma segura, tanto si eres un usuario novel como si ya tienes algo de experiencia. Cubriremos los dos métodos principales: el manual (con phpMyAdmin o acceso a la base de datos) y el automático (con plugins). Además, te daremos consejos para evitar errores comunes y cómo solucionar problemas si algo sale mal. Al final, tendrás un checklist para que tu WordPress sea un poco más resistente a los ataques dirigidos.

¿Qué es el prefijo de las tablas en WordPress?

Antes de ponernos manos a la obra, es fundamental entender qué es exactamente este prefijo. En una base de datos relacional como MySQL (la que usa WordPress), las tablas son como hojas de cálculo gigantes que almacenan toda la información de tu web: usuarios, entradas, comentarios, opciones de configuración, etc. Para organizarlas, se les pone un nombre único. El prefijo es la parte inicial de ese nombre.

Por ejemplo, en una instalación típica, tendrás:

  • wp_users (guarda los datos de los usuarios).
  • wp_posts (guarda las entradas y páginas).
  • wp_options (guarda la configuración general del sitio).
  • wp_comments (guarda los comentarios).

Si cambias el prefijo a miprefijo_, esas tablas pasarían a llamarse miprefijo_users, miprefijo_posts, etc. Este cambio no afecta a la estructura de los datos, solo al nombre de las tablas. Pero es un cambio que confunde a muchos atacantes automatizados que buscan explotar consultas SQL predefinidas.

Beneficios reales de cambiar el prefijo (y sus limitaciones)

Es importante ser honesto: cambiar el prefijo no hace tu web invulnerable. Un atacante determinado puede descubrir el nuevo prefijo mediante técnicas de enumeración o leyendo el archivo wp-config.php si tiene acceso al servidor. Sin embargo, los beneficios son claros:

  • Reduce el ruido de ataques automatizados: La mayoría de los bots lanzan consultas como SELECT * FROM wp_users y fallarán porque la tabla ya no existe. Esto reduce la carga del servidor y las entradas en los logs.
  • Dificulta la inyección SQL: Si hay una vulnerabilidad en un plugin o tema, el atacante tendrá que adivinar el prefijo correcto, lo que añade un paso extra y tiempo valioso.
  • Cumple con las buenas prácticas de hardening: Es una de las primeras recomendaciones en cualquier checklist de seguridad de WordPress.

Limitaciones: No protege contra ataques dirigidos, no sustituye a un buen firewall, ni a mantener todo actualizado. Es una capa más, no la solución definitiva.

Preparación antes de cambiar el prefijo

Cambiar el prefijo de las tablas es una operación delicada. Un error puede dejar tu web completamente rota. Por eso, la preparación es el 90% del éxito. Sigue estos pasos previos:

1. Haz una copia de seguridad completa

Esto es obligatorio. No se te ocurra tocar la base de datos sin tener un backup reciente. Necesitas dos cosas:

  • Copia de los archivos: Todo el contenido de tu carpeta public_html o www (temas, plugins, subidas, wp-config.php).
  • Copia de la base de datos: Un archivo .sql exportado desde phpMyAdmin o mediante un plugin de backup.

[WARNING] Si no sabes hacer una copia de seguridad, detente aquí. Busca tutoriales específicos sobre backups en WordPress o contrata a un profesional. Sin backup, cualquier error puede significar la pérdida total de tu contenido.

2. Accede a tu panel de control de hosting

Necesitarás acceso a phpMyAdmin (o similar) para ejecutar comandos SQL. Esto lo encuentras normalmente en cPanel, Syspanel o el panel que use tu proveedor de hosting.

[INFO] Si tu hosting usa Syspanel (antes conocido como HestiaCP), el acceso al panel de control se realiza a través del puerto 2106 (ejemplo: https://tu-dominio.com:2106). Dentro de Syspanel, busca la sección de "Bases de datos" o "phpMyAdmin" para gestionar tus tablas.

3. Anota tu prefijo actual

Es casi seguro que es wp_, pero verifícalo. Puedes mirar el archivo wp-config.php en la raíz de tu instalación. Busca la línea que dice:

$table_prefix = 'wp_';

Anota ese valor. Lo necesitarás para las consultas SQL.

Método 1: Cambiar el prefijo manualmente con SQL (Recomendado)

Este método es el más fiable y te da control total. Usaremos phpMyAdmin para ejecutar comandos SQL. No te asustes, son solo tres pasos.

Paso 1: Renombrar todas las tablas

Primero, necesitas generar una lista de todas las tablas con el prefijo actual. En phpMyAdmin, selecciona tu base de datos y haz clic en la pestaña "SQL". Ahora, ejecuta la siguiente consulta para renombrar cada tabla. Reemplaza wp_ por tu prefijo actual y nuevoprefijo_ por el que hayas elegido (por ejemplo, miseguridad_ o x9k2_).

RENAME TABLE wp_commentmeta TO nuevoprefijo_commentmeta;
RENAME TABLE wp_comments TO nuevoprefijo_comments;
RENAME TABLE wp_links TO nuevoprefijo_links;
RENAME TABLE wp_options TO nuevoprefijo_options;
RENAME TABLE wp_postmeta TO nuevoprefijo_postmeta;
RENAME TABLE wp_posts TO nuevoprefijo_posts;
RENAME TABLE wp_terms TO nuevoprefijo_terms;
RENAME TABLE wp_termmeta TO nuevoprefijo_termmeta;
RENAME TABLE wp_term_relationships TO nuevoprefijo_term_relationships;
RENAME TABLE wp_term_taxonomy TO nuevoprefijo_term_taxonomy;
RENAME TABLE wp_usermeta TO nuevoprefijo_usermeta;
RENAME TABLE wp_users TO nuevoprefijo_users;

Importante: Si tienes plugins que crean sus propias tablas (como WooCommerce, por ejemplo), también debes renombrarlas. Lo normal es que sigan el patrón wp_woocommerce_.... Para no escribir una consulta infinita, puedes usar un truco: en phpMyAdmin, ve a la pestaña "SQL" y ejecuta el siguiente comando para generar automáticamente las sentencias RENAME:

SELECT CONCAT('RENAME TABLE ', table_name, ' TO ', REPLACE(table_name, 'wp_', 'nuevoprefijo_'), ';')
FROM information_schema.tables
WHERE table_schema = 'tu_nombre_de_base_de_datos' AND table_name LIKE 'wp_%';

Esto te devolverá una lista de comandos listos para copiar y ejecutar. Sustituye tu_nombre_de_base_de_datos por el nombre real de tu BD.

[TIP] Elige un prefijo que no sea predecible. Algo como a1b2c3_ es mucho mejor que nuevoprefijo_. Evita prefijos cortos o palabras comunes.

Paso 2: Actualizar las opciones del sitio en la base de datos

WordPress guarda algunas URLs y opciones en las tablas options y usermeta. Si solo renombras las tablas, tu web fallará porque las referencias internas siguen apuntando al prefijo antiguo. Ejecuta estas consultas SQL (de nuevo, reemplaza los prefijos):

UPDATE nuevoprefijo_options SET option_name = 'nuevoprefijo_user_roles' WHERE option_name = 'wp_user_roles';
UPDATE nuevoprefijo_usermeta SET meta_key = 'nuevoprefijo_capabilities' WHERE meta_key = 'wp_capabilities';
UPDATE nuevoprefijo_usermeta SET meta_key = 'nuevoprefijo_user_level' WHERE meta_key = 'wp_user_level';
UPDATE nuevoprefijo_usermeta SET meta_key = 'nuevoprefijo_user-settings' WHERE meta_key = 'wp_user-settings';
UPDATE nuevoprefijo_usermeta SET meta_key = 'nuevoprefijo_user-settings-time' WHERE meta_key = 'wp_user-settings-time';
UPDATE nuevoprefijo_usermeta SET meta_key = 'nuevoprefijo_dashboard_quick_press_last_post_id' WHERE meta_key = 'wp_dashboard_quick_press_last_post_id';

[WARNING] Si no ejecutas estas actualizaciones, podrías perder los permisos de administrador y no podrás acceder a tu panel.

Paso 3: Modificar el archivo wp-config.php

Este es el paso final y crucial. Ve a la raíz de tu instalación de WordPress (normalmente public_html o www). Busca el archivo wp-config.php y ábrelo con un editor de texto (Bloc de notas, Sublime Text, etc.). Localiza la línea que define el prefijo y cámbiala:

$table_prefix = 'nuevoprefijo_';

Guarda el archivo y súbelo de nuevo al servidor (si lo editaste localmente). ¡Y listo! Tu WordPress debería funcionar con el nuevo prefijo.

Método 2: Usar un plugin para cambiar el prefijo (Alternativa fácil)

Si no te sientes cómodo editando SQL, existen plugins que automatizan todo el proceso. Uno de los más conocidos es "Brozzme DB Prefix Change" o "iThemes Security" (que incluye esta función). Te explico cómo hacerlo con un plugin genérico:

  1. Instala y activa el plugin desde el repositorio de WordPress.
  2. Ve a la configuración del plugin (normalmente en "Herramientas" o "Seguridad").
  3. Introduce el nuevo prefijo deseado en el campo correspondiente.
  4. El plugin se encargará de renombrar todas las tablas, actualizar las opciones y modificar el wp-config.php automáticamente.

[TIP] Aunque los plugins facilitan el trabajo, siempre es recomendable tener el backup a mano. Algunos plugins pueden fallar si la base de datos es muy grande o si hay tablas personalizadas complejas.

Posibles errores y cómo solucionarlos

Después de cambiar el prefijo, es posible que te encuentres con algún problema. Aquí tienes los más comunes y sus soluciones.

Error: "Error al establecer una conexión con la base de datos"

Esto indica que el wp-config.php no coincide con los nombres de las tablas. Revisa que has escrito bien el prefijo en el archivo y que coincide exactamente con el que usaste en las consultas SQL (cuidado con las mayúsculas y minúsculas).

Error: "No tienes permisos para acceder a esta página" o "No puedes acceder al panel"

Esto suele pasar si no actualizaste las opciones en usermeta (paso 2 del método manual). Vuelve a ejecutar las consultas UPDATE correspondientes. Si no puedes acceder al panel, tendrás que hacerlo directamente por phpMyAdmin.

Error: "La tabla no existe"

Posiblemente te dejaste alguna tabla por renombrar (sobre todo de plugins). Genera de nuevo la lista de tablas con LIKE 'wp_%' y renombra las que falten.

Preguntas frecuentes (FAQ)

¿Cuánto tiempo se tarda en hacer el cambio?
Si tienes el backup y sigues los pasos con calma, entre 15 y 30 minutos. No es una operación que se haga a la ligera.

¿Afecta al SEO de mi web?
No, el cambio de prefijo no altera las URLs, ni el contenido, ni los enlaces. Es un cambio interno de la base de datos. Tu posicionamiento no se verá afectado.

¿Necesito cambiar el prefijo si uso un hosting gestionado como Syspanel?
No es obligatorio, pero es una buena práctica de seguridad. Syspanel te da acceso a phpMyAdmin, así que puedes hacerlo tú mismo siguiendo esta guía.

¿Qué pasa si ya tengo el prefijo cambiado de antes?
Entonces no necesitas hacer nada. Si ya usas un prefijo personalizado, estás en el lado seguro.

¿Puedo cambiar el prefijo más de una vez?
Sí, pero cada cambio implica repetir todo el proceso. Te recomendamos elegir un prefijo definitivo y no cambiarlo a menos que sea necesario.

Conclusión y checklist final

Cambiar el prefijo de las tablas de WordPress es una tarea sencilla pero que requiere precisión. No es la panacea, pero es un paso más hacia una web más robusta. Aquí tienes un checklist para que no se te olvide nada:

  • Realizar copia de seguridad completa (archivos + base de datos).
  • Acceder a phpMyAdmin (o mediante Syspanel en el puerto 2106).
  • Renombrar todas las tablas con el nuevo prefijo.
  • Actualizar las opciones en options y usermeta.
  • Editar wp-config.php y cambiar $table_prefix.
  • Probar el front-end y el back-end de tu web.
  • Si algo falla, restaurar la copia de seguridad.

Si has llegado hasta aquí, ya sabes cómo cambiar wp_ tablas y cambiar el prefijo de las tablas de WordPress para mejorar la seguridad de tu sitio. Recuerda que la seguridad es un proceso continuo: combina este cambio con contraseñas robustas, mantener todo actualizado y usar un buen plugin de seguridad. ¡Tu WordPress te lo agradecerá!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel