Hace un par de días, un cliente me pidió hacer una migración de su página con WordPress a otro dominio. Este proceso ya lo había realizado en varias ocasiones y siempre buscaba en internet como hacerlo porque quería estar seguro de los pasos a seguir. Pero al buscar cada vez, veía diferentes procesos y los probé casi todos por el hecho de experimentar. Te recomiendo el último método.
A continuación, voy a describirte diferentes métodos para que puedas realizar la migración de wordpress según tus necesidades, capacidades y requerimientos.
Migrar WordPress con Duplicator, usando un plugin. Proceso Automático.
Instalar un plugin para hacer respaldos o especializados para clonar WordPress como el plugin Duplicator. Este en particular no lo he probado, pero instalar un plugin en un wordpress que no conozco no me gusta porque ya me ha pasado de que instalo un plugin y deja de funcionar todo el sitio porque tiene un error 500 (incompatibilidad en este caso).
Migrar WordPress sin Plugin, reemplazando el dominio por otro en la base de datos. Proceso Semi-Automático.
Migrar los archivos y base de datos sin modificar su contenido (solo actualizar la conexión a la base de datos) y ejecutar 4 querys para reemplazar el dominio anterior con el nuevo dominio (solo actúan sobre las tablas nativas). Este es un proceso efectivo siempre y cuando tienes un WordPress sin plugins y sin plantillas avanzadas. Pero cuando ya tienes una serie de plugins o temas que añaden tablas a la base de datos, estos 4 querys no modificarán el dominio en las otras tablas. Por lo tanto, cuando realices una migración, tendrás fallas en el funcionamiento de wordpress o en el mejor de los casos, tendrás que configurar de nuevo el tema que tienes instalado.
UPDATE wp_options SET option_value = REPLACE ( option_value, 'dominioantiguo.com', 'dominionuevo.com' );
UPDATE wp_posts SET guid = REPLACE ( guid, 'dominioantiguo.com', ‘dominionuevo.com' );
UPDATE wp_posts SET post_content = REPLACE ( post_content, 'dominioantiguo.com', 'dominionuevo.com' );
UPDATE wp_postmeta SET meta_value = REPLACE ( meta_value, 'dominioantiguo.com', 'dominionuevo.com' );
Migrar WordPress Manualmente, enlace por enlace. Proceso Artesanal.
Este procedimiento es el más efectivo, tienes que migrar los archivos y base de datos sin modificar su contenido (como en el punto anterior) pero en vez de ejecutar los 4 querys, tienes que buscar manualmente todos los enlaces de tu dominio anterior en la base de datos con phpMyAdmin y reemplazarlo con el nuevo nombre de dominio sobre la base de datos donde se hizo la migración.
Lo malo es que es un proceso manual y es propenso a errores de varios tipos como errores de dedo o la eliminación de información sin darse cuenta. Es un proceso efectivo, pero no eficiente y menos cuando tenemos que hacer cientos de reemplazos.
Puedes hacer un hibrido entre la ejecución de los 3 querys antes señalados y el reemplazo manual. Si eres programador y va a ser fácil que generes los querys que te hacen falta para que hagas el reemplzado del dominio anterior con el nuevo. Proceso semi autompatico.
Aquí te dejo un video de cómo se puede automatizar el reemplazo del dominio anterior con el nuevo en todas las tablas con un script.
Proceso recomendado, Rápido, Eficiente y Fácil sin instalar plugins o montar scripts en el sitio
Esta es la mejor forma para realizar una migración y consiste en reemplazar el dominio anterior con el nuevo dominio directamente en el archivo que se descarga de phpMyAdmin (base de datos). Esto está orientado para los que usan Linux.
El proceso lo podemos dividir en 3 faces:
Fase 1
Crear respaldo de la base de datos y de los archivos. Esta fase es la misma que la de cualquier otro método.
Fase 2
Reemplazar el dominio origen con el dominio destino. Abre una consola de Linux e ingresa a la carpeta donde se encuentra el archivo SQL que descargaste de tu base de datos (phpMyAdmin) y ejecuta el siguiente comando:
sed -i 's/dominio-origen.com/dominio-destino.com/g' miBaseDeDatos.sql
El comando sed reemplazara la cadena dominio-origen.com por la de dominio-destino.com dentro del archivo miBaseDeDatos.sql. Por el hecho de ser Linux, el reemplazo es exageradamente rápido.
Fase 3
Importar la base de datos y archivos en el servidor destino. Actualiza los datos de conexión a la base de datos y actualiza el archivo .htaccess en caso de que el WordPress se haya encontrado en una subcarpeta del dominio
Ventajas:
- No es necesario instalar algún plugin que pudiera generar algún tipo de conflicto.
- Descargas el sitio origen como si hicieras un respaldo normal de archivos y base de datos.
- Solo tienes que modificar un archivo (base de datos SQL).
- El proceso de modificar la base de datos que vamos a importar es extremadamente fácil y rápido.
- Es la opción más rápida especialmente si nuestro sitio tiene cientos o miles de entradas puesto que Linux es muy eficaz en este proceso.
- No se requiere de ningún programa especializado ni de la descarga de un script de procesamiento sobre el servidor.