WordPress tiene algunas opciones que puedes considerar para mejorar la seguridad de tu sitio, una de estas opciones es el cambio de prefijo de las tablas de la base de datos, si bien no es una solución infalible para el ataque de inyección SQL, dificultará la acción de un atacante.
1- Generalidades
El nombre de las tablas de WordPress por seguridad tienen un prefijo que deberías cambiar, este prefijo por defecto es wp_ , tal como se muestra en el siguiente diagrama:
2- ¿Qué prefijo usar?
Es importante tener en cuenta que debido a que estas cambiando el nombre de las tablas, sólo deberías usar caracteres alfanuméricos aleatorios y guion bajo, por ejemplo: a7x3yl_
Te puede interesar también identificar las tablas de wordpress aún con wp_ delante por lo que tu prefijo podria ser: wp_a7x3yl_
3- Cambiando el prefijo al instalar WordPress
Al momento de instalar WordPress tienes la opción de elegir el prefijo que tendrán las tablas de la base de datos, verás que por defecto el prefijo es wp_, tal como se muestra en la siguiente imagen, puedes cambiar el prefijo y continuar con la instalación.

4- Cambiando el prefijo en una instalación ya realizada
4.1- Realiza una copia de seguridad
Esto es lo primero que tienes que hacer antes de hacer este tipo de cambios, en caso algo vaya mal puedes recuperar la copia que has realizado.
4.2- Cambia el archivo wp-config.php
Ubica el archivo wp-config.php en la raíz de tu sitio, luego ubica la variable table_prefix y cámbiala
$table_prefix = 'wp_a7x3yl_';
4.3- Renombrar las tablas de WordPress
Navega hasta las base de datos de tu sitio web, usualmente usarás la aplicación PHPMyAdmin para esto, ubica la Base de Datos y luego en el tab de SQL agrega lo siguiente:
RENAME table `wp_commentmeta` TO `wp_a7x3yl_commentmeta`;
RENAME table `wp_comments` TO `wp_a7x3yl_comments`;
RENAME table `wp_links` TO `wp_a7x3yl_links`;
RENAME table `wp_options` TO `wp_a7x3yl_options`;
RENAME table `wp_postmeta` TO `wp_a7x3yl_postmeta`;
RENAME table `wp_posts` TO `wp_a7x3yl_posts`;
RENAME table `wp_terms` TO `wp_a7x3yl_terms`;
RENAME table `wp_termmeta` TO `wp_a7x3yl_termmeta`;
RENAME table `wp_term_relationships` TO `wp_a7x3yl_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_a7x3yl_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_a7x3yl_usermeta`;
RENAME table `wp_users` TO `wp_a7x3yl_users`;
4.4- Renombrar campos en la tabla options
Usando igualmente PHPMyAdmin, en el tab de SQL puede hacer una consulta a la tabla de opciones de WordPress filtrando los campos que tengan el prefijo. La consulta SQL sería:
SELECT * FROM `wp_a7x3yl_options` WHERE `option_name` LIKE 'wp_%'
Esto te devolverá algunos resultados con el prefijo anterior y los cuales puedes cambiar manualmente por el nuevo prefijo.
wp_user_roles
El cual tienes que cambiar por:
wp_a7x3yl_user_roles
4.5- Renombrar campos en la tabla de usermeta
Haremos lo mismo para la tabla metadatos de usuario, la consulta a usar será:
SELECT * FROM `wp_a7x3yl_usermeta` WHERE `meta_key` LIKE 'wp_%'
Esto nos devolverá algunos registros los cuales cambiarás manualmente.
wp_capabilities
wp_user_level
wp_user-settings
Los cuales puedes cambiar por:
wp_a7x3yl_capabilities
wp_a7x3yl_user_level
wp_a7x3yl_user-settings
5- Conclusión
Tal como has podido ver, realizar el cambio de prefijo te da una seguridad extra en tu base de datos, la mayoría de los cambios puedes hacerlo directamente usando SQL a través de PHPMyAdmin.
¿Aún con dudas?, en el siguiente video se detalla los puntos anteriores.
Muy bueno el tutorial. Muchas gracias
Gracias Caro!. Saludos.
Gracias por la guia, me fue como un tiro
Que bueno que te sirvió 🙂
Excelente articulo y muy util.!!!
Gracias Willy. Saludos.
Gracias por el aporte! Todo salio perfecto!
🙂 que bueno. Saludos.
También si tienes muchas tablas (como en mi caso) y todas comienzan con wp_ puedes correr esta consulta que te devolverá todos las líneas a ejecutar para cambiar de nombres a todas las tablas.
Gran post, fue de mucha ayuda, muchas gracias.
Saludos!
Hola, gracias por el aporte. Saludos.
Lo puse en práctica y me salió muy bien! Lo recomiendo
Muchas gracias!