Migrar una web consiste en cambiar la web de un servidor de origen a un servidor de destino. Esto se puede hacer de varias formas.
En caso de ser una web WordPress podemos utilizar algunos plugings como All In One WP Migration, que nos permiten realizar la migración tocando menos cosas directamente del servidor.
Pero para mi, es más sencillo, y sobre todo tengo mayor control, si hago la migración de forma manual.
Todo WordPress esta compuesto por dos partes: un conjunto de archivos y una base de datos.
El conjunto de archivos son los archivos php, css, y js que dan estructura, estilo e interacción tanto a nuestra web como al panel de administración de WordPress. Mientras que la base de datos es donde se almacenan todos los contenidos y opciones que vamos incluyendo: páginas, entradas, categorías, usuarios…
Bien, pues el objetivo de una migración es pasar los archivos y la base de datos del servidor de origen al servidor de destino. Para ello debemos exportar desde el servidor de origen e importar al servidor de destino.
Exportación desde el hosting de origen
Archivos WordPress
Los archivos que debemos exportar los encontraremos en el administración de archivos (File System) de nuestro cPanel, dentro de la subcarpeta public_html. En caso de tener solo un dominio los archivos WordPress se encuentran directamente dentro de la carpeta public_html, pero en caso de tener varios dominios dentro del mismo hosting podemos tener subcarpetas con cada uno de los dominios.
Al final, cuando accedamos a los archivos WordPress que debemos exportar veremos algo parecido a lo siguiente:

Una vez identificados los archivos, los seleccionamos todos, los comprimimos en un único archivo .zip, y lo descargamos. ¡Ya tenemos los archivos!

Base de datos WordPress
Para la base de datos, debemos volver a cPanel y buscar phpMyAdmin. Aquí es donde se guardan y administran las bases de datos asociadas a nuestro WordPress. Una vez dentro, es tan sencillo como seleccionar la base de datos que queremos exportar de la columna de la izquierda y darle a exportar. Utilizar la exportación por defecto y tipo SQL.

En caso de tener más de un WordPress en nuestro hosting, tendremos varias bases de datos, cada una asociada a un dominio diferente. Para identificar la base de datos asociada a nuestro WordPress, volvemos al administrador de archivos y abrimos el archivo wp-config.php. Aquí podremos ver el nombre de la base de datos asociada, con la variable BD.

Pues, ya tenemos en nuestro poder los archivos y la base de datos. ¡Vamos al nuevo hosting!.
Importación al hosting de destino
Archivos WordPress
Antes de importar los archivos, debemos crear la carpeta donde debemos importarlos.
Para ello, tenemos que hacer es añadir el dominio. En caso de no ser nuestro dominio principal, buscamos Dominios Adicionales dentro de nuestro cPanel. Aquí debemos añadir el nuevo dominio y identificar la ruta asociada a dicho dominio.
En mi caso, será public_html/minuevodominio.com.

Posteriormente, vamos a la ruta que acabamos de definir en el Administrador de Archivos del nuevo hosting. Una vez dentro, subimos el archivo comprimido que hemos exportado del servidor de origen y lo descomprimimos. Al hacerlo deberemos ver la misma estructura de carpetas que teníamos en primer servidor.

Base de datos WordPress
¡Ahora vamos a importar la base de datos! Para poder importar la base de datos, primero debemos crear una.
Vamos a Bases de datos y MySQL de cPanel del nuevo servidor, donde tenemos que crear una nueva base de datos, un nuevo usuario, y vincular nuestra base de datos con el usuario. Es muy importante, asignar todos los privilegios al usuario que creemos para manipular la base de datos.



Solo nos queda un punto final! Asociar nuestra Web a nuestra nueva base de datos. Esto es muy sencillo.
Volvemos a nuestro Administrador de Archivos y entramos al archivo wp-config.php (el que hemos visto en la imagen anterior). Una vez dentro, lo editamos y asignamos los nuevos nombres de base de datos, usuario y contraseña.

Ya hemos terminado la migración!
Si el dominio es el mismo, y ya tienes los DNS configurados deberías poder acceder. Pero suele ser habitual tener uno de los siguientes problemas:
Posibles problemas durante la migración
Cambio de nombre de dominio
Más que un problema, es un paso adicional al terminar la migración.
Si hemos realizado todo el proceso, pero estamos migrando nuestro WordPress de un dominio a otro, es posible que al entrar a nuestra web desde el navegador nos de un error «Database not found».
No te asustes! Solo debemos ir a la nuestra nueva base de datos y asignar nuestro nuvo dominio.

Cambio de DNS
Otro problema que podemos tener, es que los DNS del dominio no estén apuntando al nuevo hosting. En este caso veremos un error «Page not found» o similar.
Para solucionar este problema debemos ir a nuestro proveedor de dominio y apuntar los DNS a la IP de nuestro nuevo hosting.