Cómo migrar wordpress de un hosting a otro

A continuación les voy a explicar el procedimiento que realizo siempre que me veo en la necesidad de migrar WordPress de un hosting a otro.

Ya sea por que tenemos que cambiar de proveedor de hosting o dominio, o simplemente porque lo tenemos en local y lo queremos montar ya en producción, vale la pena que leas este tutorial ya que te brindará los conocimientos necesarios para mover tu blog de un lugar a otro cuando lo necesites.

El proceso consta de seis sencillos pasos:

  1. Respaldar la base de datos
  2. Comprimir los archivos de instalación
  3. Cargar el archivo comprimido en el servidor destino y descomprimir
  4. Importar el respaldo de la base de datos
  5. Modificar el archivo wp-config.php
  6. Actualizar la base de datos (en caso de cambiar de dominio o ruta de instalación)

Respaldando la base de datos

Uno de los principales pasos de la migración es el respaldo de la base de datos donde tenemos montado nuestro blog, ya que es donde se guardan nuestros contenidos de las entradas, nuestras etiquetas, categorías y usuarios del sistema. Lo podemos hacer de la forma sencilla que todos conocemos a través de phpMyAdmin o directamente desde consola o vía SSH con el siguiente comando:

sudo mysqldump -u usuario_db -p nombre_db > nombre_archivo.sql

Donde ‘usuario_db’ corresponde al nombre de usuario de la base de datos, ‘nombre_db’ al nombre de la base de datos y ‘nombre_archivo.sql’ al nombre que le daremos al archivo de respaldo que se nos generará.

Al ejecutar el comando y antes de arrancar con la exportación, se nos solicitará la contraseña de la base de datos para poder proceder con la creación del archivo, por lo que deberás ingresarla y asegurarte de tener permisos de superusuario o pertenecer al grupo de usuarios “sudoers” para acceder a MySQL y crear el archivo.

Te sugiero ejecutar el comando desde la misma raíz donde tienes toda la instalación (usualmente ‘/var/www/wordpress/‘), ya que al finalizar la ejecución del comando se generará un archivo bajo la extensión .sql que necesitaremos para concluir con la migración. Yo acostumbro dejar el archivo de respaldo en la misma raíz de instalación para que a la hora de comprimir se vaya todo junto, y de paso si queremos, nos podemos quedar con el archivo para guardarlo como un respaldo más.

Comprimiendo todo

Ya que tenemos respaldada la base de datos con su respectivo archivo en el mismo directorio, vamos a comprimir todo en un archivo zip. Suponiendo que seguimos parados en la raíz de nuestra instalación, debemos ingresar el siguiente comando para proceder con la compresión:

zip -r respaldo.zip *

Donde ‘-r’ es la orden para que se compriman recursivamente todos los archivos de todos los niveles de carpetas y subcarpetas de la instalación, ‘respaldo.zip’ el nombre que le queramos dar al archivo comprimido y el ‘*’, que es la instrucción para que lo haga partiendo de la raíz en adelante.

La estructura de nuestro archivo debería quedar más o menos como la siguiente:

Mudándonos al servidor destino

Ya que tenemos nuestro archivo zip, lo que resta es cargarlo en el servidor destino, lo cual podemos hacer subiéndolo vía FTP o, si el antiguo servidor aún sigue en línea, descargándolo en la carpeta de instalación del nuevo servidor desde consola con el comando WGET.

wget http://antiguodominio.com/respaldo-17-04-18.zip

En cuanto tengamos el archivo comprimido listo, podemos proceder a descomprimirlo; aunque ojo, esta opción sólo podrá hacerse desde la consola, así que para todos aquellos que no tienen acceso a esta, lo que pueden hacer es descomprimir localmente el archivo y subir todos los archivos vía FTP.

El compando para descomprimir cualquier archivo zip es el siguiente:

unzip respaldo-17-04-18.zip

Importando la base de datos

Esta parte la podemos hacer también desde consola o a través del panel gráfico de phpMyAdmin. El comando para hacerlo desde consola sería el siguiente:

#crear la base de datos
mysql> create database nombre_base_de_datos;

#Proceso inverso al mysqldump
mysql -u root -p nombre_base_de_datos < archivo_respaldo.sql

Modificando el archivo de configuración (wp-config.php)

Ya con nuestra base de datos creada y restaurada, ahora tenemos que actualizar el archivo de configuración de nuestro WordPress para actualizar el nombre de la base de datos, el usuario y la contraseña.

Esta edición es importante realizarla inmediatamente después de que restauramos nuestra base de datos, ya que nuestro sitio al estar ya migrado

Actualizando el dominio en la base de datos

Este paso es solo para todos aquellos que cambiaron de dominio o la ruta de instalación de su blog.