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

Cambiar el prefijo de tabla de la base de datos de WordPress es una forma sencilla pero eficaz de mejorar la seguridad de tu sitio. De forma predeterminada, WordPress asigna el prefijo de tabla wp_, lo que lo convierte en un objetivo común para los hackers que intentan ataques de inyección SQL. Modificar este prefijo puede ayudarte a proteger tu base de datos de este tipo de amenazas.

En esta guía, te explicaremos tres métodos diferentes para cambiar de forma segura el prefijo de tabla de la base de datos de WordPress.

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

Cómo funcionan las bases de datos en WordPress.
This image demonstrates how Databases work in WordPress.

¿Por qué cambiar el prefijo de tabla de WordPress?

Cambiar el prefijo de tabla predeterminado wp_ 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

Antes de empezar: haz una copia de seguridad de tu base de datos

Antes de hacer cualquier cambio, crea una copia de seguridad completa de tu base de datos de WordPress utilizando phpMyAdmin, un plugin como WP Staging o una herramienta de línea de comandos.

Cambiar el prefijo de la base de datos de WordPress puede ser una tarea crítica y no siempre es fácil. Debes asegurarte de no romper tu sitio al cambiar el prefijo de tabla de WordPress.

Antes de cambiar el prefijo de la base de datos, recomendamos hacerlo en un sitio de staging. Así podrás comprobar a fondo si la actualización funciona y, después de cambiar el prefijo de la BBDD, pasar tu sitio de staging al sitio de producción sin ningún riesgo de pérdida de datos.

Un sitio de staging es una copia de tu sitio en producción, lo que te permite realizar diferentes cambios/pruebas y publicar esos cambios con un solo clic.

Puedes crear un sitio de staging gratuito con WP STAGING.

Al instalar WordPress, uno de los errores más habituales es olvidarse de cambiar el prefijo de la base de datos, lo que permite a los atacantes ejecutar inyecciones SQL automatizadas. Por eso es fundamental tomar medidas preventivas para proteger tu sitio web de ser hackeado.

Cómo cambiar 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 (3) opciones para cambiar y renombrar el prefijo de la base de datos de tu sitio WordPress:

  1. Usar un plugin para cambiar el prefijo de tabla de la base de datos.
  2. Renombrar el prefijo de la base de datos de WordPress mediante una consulta de base de datos con Adminer.
  3. Renombrar el prefijo de la base de datos de WordPress mediante una consulta de base de datos con PhpMyAdmin.

Método 1: Usar un plugin para cambiar el prefijo de tabla de la base de datos

Primero, te recomendamos hacer una copia de seguridad de tu sitio web (ya sea con la función de copia de seguridad de WP STAGING | PRO o manualmente a través de CPanel) para evitar cualquier contratiempo provocado por la instalación de un plugin.

Podemos cambiar el prefijo de la base de datos mediante un plugin. Aquí tienes unos pasos sencillos para hacerlo en WordPress.

  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.
actualizar el prefijo de la base de datos de WordPress mediante un plugin

El plugin está activado y podemos empezar a cambiar el prefijo de la base de datos de WordPress de inmediato.

  1. Ve a "Herramientas" y haz clic en "DB Prefix". Verás el prefijo actual de tu base de datos y podrás cambiarlo por uno nuevo.
prefijo de la base de datos de WordPress

Si tu archivo wp-config.php no se puede escribir, recibirás un aviso de error porque este plugin no puede cambiar el prefijo de la base de datos en el archivo wp-config.php.

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

Método 2: Renombrar el prefijo de la base de datos de WordPress mediante una consulta SQL con Adminer

Cambiar el prefijo de tabla en el archivo wp-config.php

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

Para editar el archivo wp-config.php, puedes iniciar sesión por FTP o SFTP utilizando Filezilla o cualquier otro cliente FTP. Encontrarás los datos de FTP en cPanel (dependiendo de tu alojamiento, ya que algunos hosts no tienen cPanel y usan su propio panel personalizado).

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

$table_prefix = 'wp_testing123_';

 
Esta imagen muestra dónde se encuentra el prefijo de tabla en el archivo wp-config.php.
It should look like this in the wp-config file:
Esta imagen muestra cómo queda la línea actualizada.
That is what the updated line should look like.

Solo puedes usar un prefijo con números, letras y guiones bajos. Una vez hechos los cambios en el archivo wp-config.php, guárdalo.

Renombrar las tablas de la base de datos

Si utilizas Adminer, encontrarás el botón de comando SQL en la esquina superior izquierda; selecciona ese botón.

Esta imagen muestra una captura de pantalla de dónde encontrar el botón de comando SQL en Adminer
Where to find the SQL command button

La consulta SQL siguiente se puede utilizar para cambiar el prefijo de tabla de WordPress en la base de datos de un sitio de WordPress existente.

Actualiza las propiedades SET según tus necesidades:

  • nombre de la base de datos
  • oldprefix_
  • newprefix_

Esta 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:

Una consulta SQL para actualizar el prefijo de la base de datos de WordPress
Use this SQL query to update the WordPress database Prefix

Ejecuta esa consulta y, como resultado, obtendrás consultas adicionales como estas:

RENAME oldprefix_options to newprefix_options;
RENAME oldprefix_users to newprefix_users;

Copia estas consultas y vuelve a ejecutarlas para renombrar las tablas a los nuevos nombres.

Usa esta consulta SQL para renombrar las tablas de la base de datos de WordPress
Use this SQL query to rename WordPress database tables

Renombrar el prefijo en la tabla user meta

Después de renombrar las tablas, también debes reemplazar algunos valores en las tablas *_usermeta y *_options con las consultas que aparecen a continuación.

No olvides actualizar las cadenas resaltadas.

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

SQL
UPDATE `newprefix_usermeta`
SET meta_key = REPLACE(meta_key, 'oldprefix_', 'newprefix_')
WHERE meta_key LIKE 'oldprefix_%';
Usa esta consulta SQL para renombrar el prefijo de tabla en la tabla wp_usermeta
Use this SQL query to rename the prefix in table wp_usermeta

Actualizar el prefijo en la tabla wp_options

El último paso es reemplazar los valores en la tabla *_options.

Utiliza esta consulta:

SQL
UPDATE wp_options SET option_name = replace(option_name, 'wp_', 'new_') WHERE option_name LIKE 'wp_%';
Esta imagen muestra las consultas SQL para reemplazar los valores en la tabla options
Execute this query to replace the values in the options table.

Eso es todo.

Método 3: Renombrar el prefijo de la base de datos de WordPress mediante una consulta SQL con PHPmyAdmin

Cambiar el prefijo de tabla en wp-config.php.

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

Para editar el archivo wp-config.php, puedes iniciar sesión por FTP o SFTP utilizando Filezilla o cualquier otro cliente FTP. Encontrarás los datos de FTP en cPanel (dependiendo de tu alojamiento, ya que algunos hosts no tienen cPanel y usan su propio panel personalizado).

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

$table_prefix = 'wp_testing123_';

Solo puedes usar un prefijo con números, letras y guiones bajos. Una vez hechos los cambios en el archivo wp-config.php, guárdalo.

Renombrar las tablas de la base de datos

Supongamos que estás usando cPanel y accediendo a PhpMyAdmin. En el lado izquierdo verás tus bases de datos. Si no usas cPanel, contacta con tu host y accede a la base de datos de tu sitio.

Selecciona la base de datos en la que quieras cambiar el prefijo de tabla especificado en el archivo wp-config.php y sigue los pasos a continuación.

  1. Selecciona la base de datos.
  2. Marca la casilla "marcar todo" para seleccionar todas las tablas.
  3. Haz clic en el desplegable y selecciona "Reemplazar prefijo de tabla".
cambiar el prefijo de tabla de WordPress
  1. Reemplaza el prefijo antiguo por el nuevo.
actualizar el prefijo de la base de datos de WordPress

Después de introducir el nuevo prefijo, haz clic en continuar y se cambiará el prefijo en la base de datos.

Renombrar el prefijo en la tabla Options

Busca el prefijo wp_ en la tabla options con esta consulta.

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

Reemplaza todos los prefijos antiguos por los nuevos.

Reemplaza los prefijos de tabla antiguos por nuevos prefijos usando una consulta SQL.

Actualizar el prefijo en la tabla Usermeta

Necesitamos buscar wp_ como prefijo en la tabla usermeta y reemplazarlo con esta consulta.

SQL
SELECT * FROM `wp_testing123_usermeta` WHERE `meta_key` LIKE '%wp_%'
prefijo de la base de datos del sitio WordPress

Otra opción es que, si quieres cambiar el prefijo de la base de datos mediante una consulta de base de datos, puedes usar esta única consulta para hacerlo.

Si quieres cambiar el prefijo de tabla de WordPress de la base de datos en un sitio de WordPress existente, puedes usar la siguiente consulta SQL:

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 generará otra consulta SQL que puedes usar para renombrar todos los prefijos de tabla a los nuevos.

Después de hacerlo, también debes reemplazar algunos valores en las tablas wp_usermeta y wp_options con las consultas a continuación.

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.

No puedo iniciar sesión en el escritorio de administración de WordPress después de renombrar el prefijo de tabla

Este es el error más habitual con el que se encuentran los usuarios al renombrar el prefijo de tabla de WordPress.
Verifica que has actualizado el prefijo de todos estos nombres de columnas y que no pasas por alto ninguno:

En la tabla wp_option

  • wp_user_roles

En la tabla wp_user_meta

  • wp_capabilities
  • wp_user_level

Tras cambiar el prefijo de estas columnas para que coincida con el de los nombres de tabla, podrás volver a iniciar sesión en tu sitio WordPress.

Conclusión

Cambiar el prefijo de tabla de WordPress es una medida de seguridad sencilla pero efectiva. Tanto si utilizas 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 proteger tu sitio 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.