Cambiar el prefijo de la base de datos de WordPress: 3 métodos fáciles

Para cambiar el prefijo de las tablas de la base de datos de WordPress, edita $table_prefix en wp-config.php, renombra cada tabla de la base de datos con el nuevo prefijo y actualiza las claves con prefijo dentro de wp_options y wp_usermeta. El método con plugin es el más rápido y seguro para la mayoría de los sitios; el SQL en phpMyAdmin o Adminer te da un control total en bases de datos más grandes. Haz siempre primero una copia de seguridad de tu base de datos.

Cambiar el prefijo de las tablas de la base de datos de WordPress es una forma sencilla pero eficaz de mejorar la seguridad de tu sitio. Por defecto, WordPress asigna el prefijo de tabla wp_, lo que lo convierte en un objetivo habitual para los hackers que intentan ataques de inyección SQL. Modificar este prefijo puede ayudar a proteger tu base de datos frente a esas amenazas.

¿Qué método deberías usar?

Método Requiere Nivel de riesgo Ideal para
Plugin acceso a wp-admin, wp-config.php con permisos de escritura Bajo La mayoría de los sitios; usuarios no técnicos
SQL con phpMyAdmin acceso a cPanel / phpMyAdmin Medio Hosts que incluyen phpMyAdmin
SQL con Adminer acceso a la base de datos a través de Adminer Medio Administración de base de datos en un solo archivo

Los tres cambian las mismas tres cosas: el prefijo en wp-config.php, los nombres de las tablas y las claves con prefijo en wp_options y wp_usermeta. Solo se diferencian en la herramienta que utilizas para hacerlo.

Cada acción en un sitio de WordPress está interconectada con la base de datos:

How Databases work in WordPress.
This image demonstrates how Databases work in WordPress.

¿Por qué deberías cambiar el prefijo de tabla de WordPress?

Cambiar el prefijo de tabla wp_ predeterminado ayuda a:

  • Reducir el riesgo de ataques de inyección SQL
  • Dificultar que los atacantes adivinen los nombres de las tablas
  • Añadir una capa extra de seguridad a tu sitio de WordPress

Es un paso de refuerzo único. Un prefijo personalizado no detiene por sí solo a un atacante decidido, pero sí frustra los scripts automatizados que asumen los nombres wp_ predeterminados, y esos scripts son la mayor parte de lo que ataca una base de datos de WordPress.

Haz una copia de seguridad de tu base de datos antes de empezar

Before making any changes, create a full backup of your WordPress database using phpMyAdmin, a plugin like WP Staging, or a command-line tool.

Changing the WordPress database prefix can be a critical task, and it’s not always easy. You must ensure you don’t break your website by changing the WordPress table prefix.

Before changing the database prefix, we recommend doing it on a staging site. So you can check thoroughly if the update works and can safely push your staging site to the production site without any risk of data loss after changing the DB prefix.

A staging site is a copy of your live site, so you can do different changes/testing and make those changes live with a single click.

You can create a free staging site with WP STAGING.

Al instalar WordPress, uno de los errores más comunes es olvidarse de cambiar el prefijo de la base de datos, lo que deja la puerta abierta a inyecciones SQL automatizadas. Tomar medidas preventivas es crucial para proteger tu sitio web de los hackeos. Un prefijo renombrado afecta a todas las tablas, así que una copia de seguridad actualizada es tu red de seguridad si algún paso falla: puedes hacer una copia de seguridad y restaurar tu sitio web de WordPress en minutos antes de realizar cualquier cambio.

¿Cómo cambias el prefijo de la base de datos de WordPress?

Sigue esta guía paso a paso para renombrar el prefijo de la base de datos de WordPress de forma segura. Hay tres opciones:

  1. Usar un plugin para cambiar el prefijo de las tablas de la base de datos.
  2. Renombrar el prefijo con una consulta SQL en Adminer.
  3. Renombrar el prefijo con una consulta SQL en phpMyAdmin.

Método 1: Cambiar el prefijo de tabla con un plugin

First, we recommend you take a backup of your website (either with the backup feature of WP STAGING | PRO or manually through CPanel) to avoid any mishappening caused by installing a plugin.

Un plugin es la opción más rápida y de menor riesgo porque edita wp-config.php, renombra las tablas y actualiza por ti las claves con prefijo de option y usermeta. Estos son los pasos:

  1. Ve al escritorio de WordPress.
  2. Ve a la pestaña ‘Plugins’ y haz clic en ‘Añadir nuevo’.
  3. Busca Brozzme DB Prefix & Tools Add-ons en el repositorio de plugins de WordPress.
  4. Haz clic en el botón Instalar ahora para instalar Brozzme DB Prefix & Tools Add-on en tu sitio.
  5. Haz clic en el botón activar para activar este plugin.
updatewp database prefix via plugin

El plugin está activado y podemos empezar a trabajar de inmediato en el cambio del prefijo de la base de datos de WordPress.

  1. Ve a Herramientas y haz clic en DB Prefix. Puedes ver el prefijo actual de tu base de datos y cambiarlo por uno nuevo.
wordpress database prefix

Si tu archivo wp-config.php no tiene permisos de escritura, recibirás un aviso de error, porque el plugin no puede cambiar el prefijo de la base de datos en el archivo wp-config.php. Corrige los permisos del archivo (o edita wp-config.php manualmente, como se muestra en el Método 2) e inténtalo de nuevo.

Habrás terminado al hacer clic en el botón "Change DB Prefix".

Método 2: Cambiar el prefijo con SQL en Adminer

Paso 1: Cambiar el prefijo de tabla en wp-config.php

Cambia el valor del prefijo de tabla en el archivo wp-config.php que se encuentra en la carpeta raíz del directorio de WordPress.

Para editar wp-config.php, inicia sesión por FTP o SFTP usando FileZilla o cualquier otro cliente FTP. Puedes encontrar tus datos de FTP en cPanel (según tu host; algunos usan un panel personalizado en lugar de cPanel). Consulta la guía de WordPress para editar wp-config.php para la referencia completa.

Busca esta línea en el archivo wp-config.php:

$table_prefix = 'wp_testing123_';

 
This picture shows where the table prefix can be found in the wp-config.php file.
It should look like this in the wp-config file:
This picture shows how the updated line looks like.
That is what the updated line should look like.

Un prefijo solo puede contener números, letras y guiones bajos. Una vez que hayas hecho el cambio en wp-config.php, guárdalo.

Paso 2: Renombrar las tablas de la base de datos

Si estás usando Adminer, busca el botón del comando SQL en la esquina superior izquierda y selecciónalo.

This picture shows a screenshot of where to find the SQL command button on Adminer
Where to find the SQL command button

La consulta SQL siguiente cambia el prefijo de tabla de WordPress en un sitio existente. Actualiza las propiedades SET según tus necesidades:

  • nombre de la base de datos
  • oldprefix_
  • newprefix_

Esa es la consulta SQL:

sql
SET @database  = "<strong>databasename</strong>";
SET @oldprefix = "<strong>oldprefix_</strong>";
SET @newprefix = "<strong>newprefix_</strong>";
 
SELECT
    concat(
        "RENAME TABLE ",
        TABLE_NAME,
        " TO ",
        replace(TABLE_NAME, @oldprefix, @newprefix),
        ';'
    ) AS "SQL" FROM information_schema.TABLES WHERE TABLE_SCHEMA = @database;

Después de personalizar la consulta, obtendrás algo como esto:

A SQL query to update the WordPress database Prefix
Use this SQL query to update the WordPress database Prefix

Ejecuta esa consulta. Genera un segundo conjunto de sentencias RENAME, como este:

RENAME oldprefix_options to newprefix_options;
RENAME oldprefix_users to newprefix_users;

Copia esas sentencias y ejecútalas para renombrar las tablas con sus nuevos nombres. (RENAME TABLE es estándar de MySQL; consulta la referencia de RENAME TABLE de MySQL.)

Use this SQL query to rename WordPress database tables
Use this SQL query to rename WordPress database tables

Paso 3: Renombrar el prefijo en la tabla usermeta

Después de renombrar las tablas, reemplaza los valores con prefijo en *_usermeta y *_options con las consultas siguientes. No olvides actualizar las cadenas resaltadas.

Para reemplazar los valores en la tabla *_usermeta, usa esta consulta:

SQL
UPDATE `newprefix_usermeta`
SET meta_key = REPLACE(meta_key, 'oldprefix_', 'newprefix_')
WHERE meta_key LIKE 'oldprefix_%';
Use this SQL query to rename the table prefix in table wp_usermeta
Use this SQL query to rename the prefix in table wp_usermeta

Paso 4: Actualizar el prefijo en la tabla wp_options

El último paso es reemplazar los valores en la tabla *_options. Usa esta consulta:

SQL
UPDATE wp_options SET option_name = replace(option_name, 'wp_', 'new_') WHERE option_name LIKE 'wp_%';
This picture shows the sql queries to replace the values in the options table
Execute this query to replace the values in the options table.

Eso es todo para el método con Adminer.

Método 3: Cambiar el prefijo con SQL en phpMyAdmin

Paso 1: Cambiar el prefijo de tabla en wp-config.php

Cambia el prefijo de tabla en el archivo wp-config.php que se encuentra en la carpeta raíz del directorio de WordPress.

Para editar wp-config.php, inicia sesión por FTP o SFTP usando FileZilla o cualquier otro cliente FTP. Puedes encontrar tus datos de FTP en cPanel (según tu host; algunos usan un panel personalizado en lugar de cPanel).

Encuentra esta línea en el archivo wp-config.php:

$table_prefix = 'wp_testing123_';

Un prefijo solo puede contener números, letras y guiones bajos. Una vez que hayas hecho el cambio en wp-config.php, guárdalo.

Paso 2: Renombrar las tablas de la base de datos

Si estás usando cPanel, abre phpMyAdmin. En el lado izquierdo, puedes ver tus bases de datos. Si no estás usando cPanel, contacta con tu host para obtener acceso a la base de datos de tu sitio. La documentación de phpMyAdmin cubre el acceso y el inicio de sesión si eres nuevo en ello.

Selecciona la base de datos cuyo prefijo configuraste en wp-config.php y luego haz lo siguiente:

  1. Selecciona la base de datos.
  2. Marca la casilla ‘Marcar todo’ para seleccionar todas las tablas.
  3. Abre el menú desplegable y selecciona ‘Reemplazar prefijo de tabla’.
change wordpress table prefix
  1. Reemplaza el prefijo antiguo por el nuevo prefijo.
update wordpress database prefix

Después de introducir el nuevo prefijo, haz clic en Continuar para cambiar el prefijo en cada tabla.

Paso 3: Renombrar el prefijo en la tabla options

Busca el prefijo wp_ en la tabla options usando esta consulta:

SQL
SELECT * FROM `wp_testing123_options` WHERE `option_name` LIKE '%wp_%'

Reemplaza cada prefijo antiguo por el nuevo prefijo.

Replace old table prefix with new prefixes by using SQL query.

Paso 4: Actualizar el prefijo en la tabla usermeta

Busca wp_ como prefijo en la tabla usermeta y reemplázalo usando esta consulta:

SQL
SELECT * FROM `wp_testing123_usermeta` WHERE `meta_key` LIKE '%wp_%'
database prefix of wordpress site

Como alternativa, si quieres cambiar el prefijo de la base de datos con una sola consulta, puedes usar esta única consulta en un sitio web de WordPress existente:

SQL
SET @database = "database_name";
SET @old_prefix = "old_prefix_";
SET @new_prefix = "new_prefix_";

SELECT concat "RENAME TABLE ", TABLE_NAME, " TO", replace(TABLE_NAME, @old_prefix, @new_prefix),';') AS "SQL" FROM information_schema.TABLES WHERE TABLE_SCHEMA = @database;

Esta consulta crea una segunda consulta que renombra todos los prefijos de tabla por los nuevos. Después de ejecutarla, todavía tienes que reemplazar los valores con prefijo en wp_usermeta y wp_options con las consultas siguientes:

SQL
UPDATE `wp_testing123_usermeta`
SET meta_key = REPLACE(meta_key, 'wp_', 'new_')
WHERE meta_key LIKE 'wp_%';

UPDATE wp_options SET option_name = replace(option_name, 'wp_', 'new_') WHERE option_name LIKE 'wp_%';

Eso es todo: ese es el método manual para cambiar el prefijo de la base de datos.

¿Bloqueado fuera de wp-admin después de renombrar el prefijo?

Este es, con diferencia, el fallo más común al renombrar el prefijo de tabla de WordPress. En los tickets de soporte de WP STAGING, casi siempre se reduce a una clave con prefijo que se renombró en las tablas pero se pasó por alto dentro de los datos. Sigue esta lista de verificación en orden:

  1. ¿Actualizaste wp-config.php? El valor de $table_prefix debe coincidir exactamente con los nuevos nombres de las tablas. Una discrepancia aquí es la causa habitual de "Error al establecer una conexión con la base de datos" o de un bucle de inicio de sesión.
  2. ¿Actualizaste la clave de capabilities en wp_usermeta? La fila wp_capabilities debe renombrarse a newprefix_capabilities. Si todavía usa el prefijo antiguo, WordPress no puede leer tus roles y te bloquea el acceso.
  3. ¿Actualizaste la clave de user level en wp_usermeta? Renombra wp_user_level a newprefix_user_level por la misma razón.
  4. ¿Actualizaste la clave de user roles en wp_options? Renombra wp_user_roles a newprefix_user_roles. WordPress lee las definiciones de roles desde aquí al iniciar sesión.

Las claves que debes verificar, por tabla:

En la tabla wp_options:

  • wp_user_roles

En la tabla wp_usermeta:

  • wp_capabilities
  • wp_user_level

Después de renombrar estas claves para que usen el mismo prefijo que tus tablas, podrás volver a iniciar sesión. Si sigues bloqueado, restaura la copia de seguridad que hiciste al principio y vuelve a intentar los pasos.

Preguntas frecuentes

¿Es seguro cambiar el prefijo de la base de datos de WordPress en un sitio en producción?

Es seguro si primero haces una copia de seguridad de la base de datos y actualizas todos los lugares donde aparece el prefijo: wp-config.php, los nombres de las tablas y las claves con prefijo en wp_options y wp_usermeta. El método con plugin gestiona todo esto automáticamente, por eso es la opción de menor riesgo. Pruébalo primero en una copia de staging si puedes.

¿Por qué obtengo "Error al establecer una conexión con la base de datos" después del cambio?

El $table_prefix en wp-config.php ya no coincide con los nombres de tus tablas. Abre wp-config.php y confirma que el prefijo coincide exactamente con las tablas renombradas, incluido el guion bajo final.

¿Tengo que cambiar el prefijo en un sitio existente o solo en el momento de la instalación?

Puedes hacerlo en cualquier momento. Cambiarlo en la instalación es lo más sencillo porque no hay datos que migrar, pero los tres métodos anteriores también funcionan en un sitio existente.

¿Puede un prefijo personalizado romper los plugins?

Puede ocurrir si un plugin codifica de forma rígida wp_ en lugar de leer el prefijo configurado por WordPress. Los plugins bien hechos usan el prefijo que WordPress informa, por lo que siguen funcionando. Después del cambio, revisa tus plugins principales para confirmarlo.

Conclusión

Cambiar el prefijo de tabla de WordPress es una medida de seguridad sencilla pero eficaz. Ya sea que uses phpMyAdmin, un plugin o scripts SQL, haz siempre una copia de seguridad de tu base de datos antes de realizar cambios. Este pequeño ajuste puede contribuir mucho a la seguridad de tu sitio de WordPress.

Artículos relacionados

Rene Hermenau

Autor: Rene Hermenau

Sobre el autor: René Hermenau es el fundador de WP STAGING. Trabaja en copias de seguridad de WordPress, entornos de staging, migraciones, gestión de bases de datos y flujos de despliegue seguros.