Tabla de Contenidos
La base de datos es donde se guarda toda la información de tu sitio web de WordPress, actuando como una gran despensa donde se van incluyendo todos los contenidos y archivos. Por ese motivo, es el blanco favorito de los piratas de la red como los spammers y hackers que envían códigos automatizados para meter inyecciones SQL.
Por desgracia, mucha gente se olvida de cambiar el prefijo de base de datos mientras que instalan WordPress ( yo también me incluyo). Esto hace que sea más fácil para los hackers planificar un ataque masivo al dirigirse al prefijo por defecto wp_ . La forma más inteligente que tienes para proteger tu base de datos está cambiando el prefijo de la misma, que es realmente fácil de hacer en un sitio que se está configurando. Pero es necesario un par de pasos para cambiar el prefijo de la base de datos de WordPress adecuadamente para un sitio web establecido sin mezclarlo todo.
💡 Como podemos cambiar el prefijo de la bbdd en WordPress de forma sencilla
Te recomiendo que hagas una copia de seguridad de tu base de datos de WordPress antes de realizar lo que vamos a indicar a continuación. Es importante mantener copias de seguridad diarias de tu sitio, te puedo recomendar el plugin duplicator para hacerlo y es gratuito. El siguiente paso recomendable es redirigir a tus visitantes a una página de mantenimiento temporal.
Cambia el prefijo de la tabla en wp-config.php
Abre el archivo wp-config.php que se encuentra en el directorio raíz de WordPress. Cambia la línea del prefijo de tabla de wp_ a otra cosa como por ejemplo wp_ab1234_
Así que la línea se vería de este modo:
$ table_prefix = 'wp_ab1234_';
Nota: Sólo se puede cambiar a números, letras y guiones bajos.
🔎 Cambiar todos los nombres de las tablas de la base de datos
Necesitas tener acceso a tu base de datos (lo mas sencillo es a través de phpMyAdmin) y cambiar los nombres de las tablas a la que hemos incluido en el archivo wp-config.php. Si estás utilizando cPanel en el hosting de WordPress, entonces puedes encontrar el icono de phpMyAdmin en tu cPanel. Mira la imagen de abajo:
Hay un total de 11 tablas de WordPress por defecto, así que cambiar todo manualmente sería un dolor de cabeza.
Es por esto que para hacer las cosas más sencillas y rápidas, tenemos una consulta SQL que puedes utilizar.
RENAME table `wp_commentmeta` TO `wp_ab1234_commentmeta`; RENAME table `wp_comments` TO `wp_ab1234_comments`; RENAME table `wp_links` TO `wp_ab1234_links`; RENAME table `wp_options` TO `wp_ab1234_options`; RENAME table `wp_postmeta` TO `wp_ab1234_postmeta`; RENAME table `wp_posts` TO `wp_ab1234_posts`; RENAME table `wp_terms` TO `wp_ab1234_terms`; RENAME table `wp_term_relationships` TO `wp_ab1234_term_relationships`; RENAME table `wp_term_taxonomy` TO `wp_ab1234_term_taxonomy`; RENAME table `wp_usermeta` TO `wp_ab1234_usermeta`; RENAME table `wp_users` TO `wp_ab1234_users`;
Puede que tengas que añadir líneas para los plugins que suelen añadir sus propias tablas en la base de datos de WordPress. La idea es cambiar todas los prefijos de las tablas por defecto a la nueva para aumentar la seguridad.
La tabla «options»
Tenemos que buscar la tabla de opciones para cualquier otro campo que está utilizando wp_ como prefijo, por lo que podemos reemplazarlos. Para hacer esto pulsa en la tabla «options» y de nuevo en SQL utiliza esta consulta para facilitar el proceso:
SELECT * FROM `wp_ab1234_options` WHERE `option_name` LIKE '%wp_%'
Esto devolverá un montón de resultados, donde hay que ir uno por uno para cambiar estas líneas y renombrarlas por el nuevo prefijo.
La tabla «usermeta»
A continuación, tenemos que buscar en la tabla usermeta para todos los campos que usan wp_ como prefijo, para que podamos reemplazarlo. Utiliza esta consulta SQL hacer esto:
SELECT * FROM `wp_ab1234_usermeta` WHERE `meta_key` LIKE '%wp_%'
El número de entradas puede variar según los plugins que estemos utilizando. Sólo tienes que cambiar todo lo que incluye el prefijo por defecto wp_ al nuevo prefijo.
🔌 Plugin para cambiar el prefijo de las tablas de WordPress
Si eres de los que prefieres no tacar nada del servidor y no mancharte la manos con códigos que no entiendes, puedes utilizar el plugin Brozzme DB Prefix . Los pasos son realmente sencillos. Solo tienes que instalar el plugin e ir hacia Ajustes > Brozzme DB Prefix y encontrarás un formulario donde tienes que incluir el nuevo prefijo de la tabla y guardar los cambios. Una vez realizado el cambio puedes desactivar y eliminar el plugin si quieres.
Copia de seguridad y listo
Ahora estás listo para probar el sitio. Si has seguido los pasos anteriores, entonces todo debería estar funcionando bien. Ahora, lo recomendable es hacer una nueva copia de seguridad de tu base de datos para tener a salvo los nuevos cambios que hemos realizado.
JJ dice
Estos cambios no se afectan al realizar una actualización?, ya sea de una nueva versión de WordPress o de algun plugin.
Pedro Mendez dice
Hola JJ. Pues no afecta en absoluto. Puedes estar tranquilo ya que lo que se cambia son el prefijo de las tablas de la base de datos de WordPress, no los archivos o carpetas
Tengo 3 dominios con WP en mi hosting y me gustaria cambiar los nombres a las Bases de Datos. Creo que debería haberlo hecho mientras iba añadiendo los dominios e instalando los WP, pero no lo hice. Ahora, ¿cómo puedo distinguir qué base de datos pertenece a qué dominio? Uso cPanel, y las bases de datos las ha llamado wp-1, wp-2 y wp-3. ¿Hay alguna manera de saber a qué dominio pertenece cada una, para poder renombrarlas correctamente?
Gracias.
Hola Cuchy. El nombre de usuario de cada web de WordPress es distinto?
Hola cómo vas.
Pregunta no se si sea tonta, lo mas sencillo es desde el principio no nombrar los prefijos de tabla Wp_ sino ponerles otro prefijo, verdad?
Cambiar desde el principio este prefijo afecta en algo el funcionamiento?
Hola Carlos. Si, lo correcto es hacerlo desde el principio y no afecta nada para que funciona correctamente. Saludos
Hola Pedro buen artículo pero creo que he tenido un problema 🙁
Yo use el plugin que recomiendas, revise los cambios que hizo y fue igual al tutorial que das, cambio el prefix de la DB del archivo wp-config.php y los cambios en la DB. Siendo así, desinstale y borre el plugin y ahora quiero instalar un plugin nuevo desde el dashboard y al buscarlo siempre me aparece una leyenda que dice: «Ha sucedido un error inesperado. Puede que haya un problema con WordPress.org o con la configuración de este servidor. Si continuas teniendo problemas, por favor prueba en los foros de soporte» no entiendo si es problema del plugin o de mi alojamiento, en todo caso ya les mande un ticket pero aún no recibo respuesta, a que se debe esto ?
Saludos y gracias.
Hola Noé. Cuando recibas respuesta del hosting nos comentas que te han dicho, y así ya tenemos una idea de cual puede ser el motivo. Saludos
Hola Pedro, ante todo gracias por compartir tu post. Una pregunta : las tablas a renombrar deben ser las del wordpress que vienen por defecto ( eso lo tengo claro) pero tambien habra que renombrar las tablas que han sido creadas por los plugins que se han instalado.
Te pregunto esto porque al acceder al phpMyAdmin observo mas tablas de las que tu muestras en tu post. Por ejemplo tengo la tabla : wp_revslider_slides , wp_easy_query , wp_StatSurfer, etc.
Si debo renombrar estas tablas que vienen con los plugins , no se veran afectadas el funcionamiento de estos plugins ?
Saludos cordiales
Jorge
Hola Jorge,
No tiene por que verse afectados al cambiar el prefijo de los plugins en la base de datos. Por esa regla de tres tampoco se podría cambiar los prefijos del núcleo de WordPress. Eso si, haz siempre una copia de seguridad antes de tocar nada. Saludos!
Hola, realicé los cambios tal y como pones en el post sin embargo, ahora al entrar en midominio/wp-admin me dice que no tengo permisos para acceder a esta página, que he podido hacer mal???
Hola Juan,
Como realizaste los cambios, manualmente? o con el plugin
Hola Pedro,
Enlacé este post al mío de «Limpiar y optimizar base de datos de WordPress», puedes leerlo en http://www.evaristogz.com/limpiar-optimizar-base-datos-wordpress/
Un saludo! 🙂
Gracias Evaristo! Se agradece 😉
Gracias muy util