En esta guía trataremos de explicar como hacer un cambio de URL Interna de wordpress. Este cambio se utiliza cuando pasamos de una web de pruebas a producción por ejemplo.
Acceder a la consola ssh
Lo primero sera acceder a la consola del servidor via SSH:
Acceder a la carpeta de la web
Lo siguiente sera acceder al directorio donde este la web.
Si es el dominio principal puedes hacer:
cd www
Si es un dominio adicional:
cd sites/www.midominio123.com
sustituyendo la ruta donde esta la web.
Crear un backup de la base de datos de wordpress
Por si las moscas, vamos a crear una copia de seguridad de la base de datos
wp-cli db export
Nos dará el nombre del fichero .sql en el que se ha guardado la base de datos
Cambio de URL
En este punto jugamos con fuego 😉 hay que tener claro que es lo que tenemos que hacer.
Para cambiar la url interna de wordpress tenemos que recorrer toda la base de datos y sustituir una cadena de caracteres por otra. Ejemplo:
URL Original: http://midominio123.com
Nueva URL: http://www.midominio123.com
Comprobamos que el comando es correcto con el parámetro --dry-run:
wp-cli search-replace --all-tables --dry-run '/midominio123.com' '/www.midominio123.com'
Al añadir el --dry-run nos dara un resumen de los cambios que puede hacer, pero no hara ninguno. Si estamos de acuerdo solo tendremos que quitar el --dry-run del comando y volver a ejecutarlo.
Ejecutamos el cambio en base de datos sin el parámetro --dry-run:
wp-cli search-replace --all-tables '/midominio123.com' '/www.midominio123.com'
¡Ya esta el cambio!
Una vez hecho esto, limpiamos la cache de la web:
wp-cli cache flush
Solo queda comprobar que la web funciona correctamente en la nueva URL.
Recuperación de desastre
Si por alguna razón, el cambio no ha sido correcto, podremos recuperar la versión original de la base de datos que hemos salvado previamente con este comanto.
wp-cli db import NOMBRE_FICHERO.sql
*** Sustituir el NOMBRE_FICHERO.sql por el nombre en el que se salvo la base de datos en el punto anterior.