Migrar WordPress a otro hosting y dominio con wp-cli

WP-CLI es la interfaz de línea de comandos para WordPress. Puedes actualizar plugins, configurar instalaciones multisitio y mucho más, sin usar un navegador web.

En este tutorial vamos a partir de la base que en la migración de la web se han realizado los siguiente pasos:

– Copiada la web e importada la base de datos sin modificar en el nuevo hosting.
– Configurado el virtualhost del apache, si procede, para el nuevo dominio.
– Direccionado el nuevo dominio a este hosting

Una vez esto, podemos probar sin tocar las urls antiguas de la base de datos si todo funciona
correctamente diciéndole al wordpress que «reescriba las urls» definiendo esto en wp-config.php
de la forma:

define( 'WP_HOME', 'https://midominionuevo.com' );
define( 'WP_SITEURL', 'https://midominionuevo.com' );

IMPORTANTE: Recordar quitar estas 2 lineas una vez modificada la base de datos con wp-cli ya que sino,
nos falseará las modificaciones pensando que la base de datos esta correctamente cambiada.

Una vez que se comprueba que todo funciona y se muestra correctamente la web en el nuevo hosting
procedemos a la sustitución real de las urls en la base de datos con wp-cli.
Para ello hay que instalar en tu nuevo hosting la utilidad por linea de comandos wp-cli

Esta se puede obtener siguiendo los pasos de la web: https://wp-cli.org/

Una vez instalada y habiendo completado la web importado la base de datos sin modificar en el nuevo hosting
y direccionado el nuevo dominio a este y configurado el virtualhost en apache para ello, hacemos un backup
de la base de datos importada de la web.

Para eso nos vamos al directorio donde tenemos alojada la web y ejecutamos:

$ cd /var/www/midominionuevo.com
$ wp-cli --allow-root db export

Después probamos en modo dry-run la sustitución de un dominio en la base de datos por el nuevo el cual
te mostrará los cambio que va a realizar y en que tablas. y si todo va bien lo hacemos sin dry-run

 

$ wp-cli search-replace --allow-root --all-tables --dry-run '/midominioviejo.com' '/midominionuevo.com'

y luego lo hacemos real:

$ wp-cli search-replace --allow-root --all-tables '/midominioviejo.com' '/midominionuevo.com'

 

Recordar que en este punto y si todo ha salido bien, hay que quitar las 2 lineas define que se dieron de alta en el wp-config-php de wordpress, ya que con la sustitución anterior ya no tiene sentido.

Si todo fuese mal, podemos retornar a la base de datos original a través del backup que nos hicimos previamente
de la forma:

$ wp-cli --allow-root db import NOMBRE_FICHERO.sql

 

wp-cli es una herramienta muy potente que nos permite hacer muchas mas cosas de las que este tutorial alcanza y os animo a que miréis la documentación oficial del sitio. Gracias a esta herramienta se puede administrar un sitio o migrar este de una forma muy rápida y eficaz.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *