A pesar de mis años de experiencia en wordpress… cometi un error de seguridad basico…
no cambie el prefijo de las tablas en wordpress.
Esto me paso porque desarrolle un tema en xampp… y al pasarlo a producion me di cuenta de que omiti este paso al instalarlo en mi local
En este post te enseñare paso a paso como cambiar los prefijos de las tablas
Porque cambiar el prefijo de las tablas de wordpress
Siempre ha existido gente malintencionada y es una medida de seguridad que todo desarrollador wordpress debe hacer.
No hacerlo y dejarlo por default «_wp» deja una gran puerta para que le hagan travesuras a tu sitio.
Cambiar prefijo de tablas de wordpress
Uno pensaria que con cambiar de nuestro wp-config.php
$table_prefix = "wp_";
Desafortunadamente es un poco mas complicado que eso.
Antes de continuar con la solucion, asumo que eres un desarrollador intermedio y tienes nociones de programacion php, mysql, etc, aunque los pasos no son dificiles de seguir te puedes llegar a atorar por estar muy verde.
Antes que nada… realiza tu exportacion de base de datos a un .sql y crea un respaldo del fichero
Debes dirijirte al cpanel, al administrador de base de datos en mi caso phpmyadmin
Una vez en el administrador de base de datos:
- Selecciona la DB
- Dirijete a SQL
Hay que cambiar el prefijo de la base de datos con comandos sql.
para las 12 tablas realizar el sig. proceso
RENAME table wp_xxxx TO newprefix_xxxx;
Donde
- wp_xxxx es el prefijo anterior
- newprefix_ es el nuevo prefijo
Tu instruccion te debera de quedar mas o menos asi… segun tu necesidad:
Elabore un documento en excel para hacer este paso mas rapido:
Descarga, descomprime y sige las instrucciones:
Te explico…
- En wp_ reemplazar por el prefijo anterior
- en nueva_prefix reemplasar por el nuevo prefijo
- Copiar el texto de la celda en verde
ya que tienes el texto copiado seleccionas una celda vacia ( y pegas pegado especial / valores)
Esto te dará el texto que requieres, no la formula
- Regresas a tu sql, pegas el codigo generado en excel
- Click en continuar
Ahora actualiza le navegador para ver los cambios reflejados
En teoria ya acabamos… pero faltan unos pasos…
Para que WordPress funcione correctamente, debemos cambiar unos registros en base de datos, no basta solo con cambiar los nombres de las tablas.
Estas en el punto sin regreso, si tratas de logearte no tendras permisos, esto es porque wordpress trabaja con unos registros en las tablas… no te preocupes aqui te digo como recuperar el poder de tu amado blog.
En la tabla
_options existe un registro _user_roles, tienes que reemplazar «wp_user_roles» por «prefijoNuevo_user_roles»
UPDATE `wpbufa_options` SET `option_name` = 'wpbufa_user_roles' WHERE `option_name` = 'wp_user_roles'; // 1 registro
En la tabla wp_usermeta cambiar todos los registros "wp_" por prefijoNuevo_
UPDATE `wpbufa_usermeta` SET `meta_key` = REPLACE( `meta_key` , 'wp_', 'wpbufa_' ); // 6 registros aprox.
Puedes usar los comandos sql y ejecutarlos teniendo en cuenta que:
"wp_" es el nombre del prefijo que queremos cambiar
"wpbufa" es el nombre del prefijo que queremos actualizar
Para mi caso quedo de la sig manera:
Con estos pasos lograras cambiar los prefijos de tu wordpress de manera manual y no tendras problema alguno