Vamos a ver como migrar un backup WordPress de UpdraftPlus a otro alojamiento cambiando también el dominio. El funcionamiento de este plugin está explicado en otra entrada en el blog.
Tabla de contenidos
Volver a subir WordPress
Descargamos la última versión de WordPress, y la subimos a nuestro nuevo alojamiento a través de un cliente FTP, Filezilla por ejemplo.
Subir la carpeta uploads
Otra vez mediante un cliente FTP, subimos el contenido la carpeta uploads de nuestro backup dentro de la carpeta wp-content/uploads de nuestra nuevo WordPress en el nuevo servidor.
Subir los plugins
De nuevo mediante un cliente FTP, subimos el contenido de la carpeta plugins de nuestro backup dentro de la carpeta wp-content/plugins de nuestro nuevo WordPress en el nuevo servidor.
Subir el theme activo
Mediante el cliente FTP, subimos el theme que teníamos activo en el servidor antiguo, el cual encontramos en la carpeta themes del backup y lo metemos dentro de la carpeta wp-content/themes de nuestra nuevo WordPress en el nuevo servidor.
Instalar WordPress
Para instalar WordPress solo nos hace falta poner la URL de nuestro nuevo dominio y nos pedirá los datos de la base de datos en la que queremos realizar la instalación y posteriormente nos pedirá el usuario y contraseña para el acceso a la administración de WordPress.
¡Importante! La información que pongamos para el usuario y la contraseña en la instalación de WordPress se sobreescribirá cuando realicemos la importación de la base de datos del backup, y el usuario y contraseña para el acceso serán los mismos datos que teníamos en el antiguo servidor
El prefijo que ponemos en el campo “Prefijo de tabla”, tiene que ser el mismo que contienen las tablas que hay en la base de datos del backup. Si no sabemos el prefijo de tabla que hay en el backup, lo solucionaremos luego.
Subir la base de datos
Este quizás sea el paso mas complicado, para importar el backup de la base de datos que nos crea el plugin UpdraftPlus, tenemos que acceder al Phpmyadmin de nuestra nueva base de datos de nuestro nuevo servidor. Dependiendo de con que empresa tengamos el servicio de alojamiento, la opción de acceder al phpmyadmin se encuentra en diferentes secciones.
Una vez hemos accedido al Phpmyadmin, tenemos que entrar en nuestra base de datos e ir a la opción de importar y en el apartado de “Archivo a importar”, pulsando el botón de “Seleccionar archivo”, elegimos el archivo que tiene la base de datos de nuestro backup, el cual acaba siempre en db.gz
Ahora comprobamos que las tablas tenían el mismo prefijo, visualizando las tablas en Phpmyadmin, como podemos ver en la imagen inferior, en este caso está bien, sino las tablas estarían duplicadas con el otro prefijo. Si así fuera tendríamos que borrar las tablas de la nueva instalación en la que no pusimos el mismo prefijo que las tablas del backup
Cambiar url de forma masiva
Este es para mí el gran problema a la hora de realizar una migración. Al importar la base de datos, están guardadas referencias con ele dominio antiguo, es decir, las URL almacenadas en la base de datos son del tipo: http://dominioantiguo/2019/12/09, por que cuando intentemos acceder a nuestro WordPress con el nuevo dominio, seremos redireccionados al antiguo dominio provocando un error si hemos eliminado el contenido o veremos el contenido antiguo si lo hemos contenido.
La solución es cambiar todo lo que hay en la base de datos con el valor dominioantiguo por dominionuevo. Se dice pronto verdad. Pues bien, esta tarea la podemos realizar de varias maneras:
- Search Replace DB de interconnectit
- Editar base de datos y plugin Velvet Blues Update URLs
Search Replace DB
Para hacer esto, lo mejor y más sencillo que he encontrado es este script Search and Replace. Al descargarlo nos encontraremos un .zip que contiene una carpeta que se llama Search-Replace-DB-master. Esta carpeta tenemos que subirlo a nuestro hosting por FTP a la raíz del proyecto, en la misma altura que el wp-config.php. Después ponemos en la barra de direcciones del navegador web http://loquesea.260mb.net/Search-Replace-DB-master y nos aparecera esta pantalla:
En la primera sección donde pone “search/replace”, en el campo “replace” ponemos la URL local: http://localhost/loquesea y en el campo que pone “with” el nombre de nuestro dominio en Internet: http://loquesea.260mb.net
En la segunda sección donde pone “database”, van los datos de la conexión a la base de datos, nos cogerá por defecto los que haya en el fichero wp-config.php, por lo que es conveniente haber metido en este fichero los datos de conexión a la base de datos que tenemos en internet, antes de lanzar el Search and Replace.
En la sección “tables” marcamos “all tables”.
Y ahora para ejecutarlo en la sección “actions”, pulsamos en el botón que pone “live run”.
Por último, una vez haya finalizado de realizar todos los cambios en la base de datos, en la sección “delete”, pulsaremos en el botón que pone “delete me”, para borrar la carpeta de Search and Replace del servidor, ya que si alguien ajeno ejecutaría este fichero podría hacer lo que quisiera con nuestra página web.
Una vez hecho esto ya tenemos nuestro proyecto wordpress accesible en Internet, con todo el contenido, pero es posible que aparezca una ventana emergente que dice que hubo un error AJAX
Esto sucede ocasionalmente y podría ser porque el script no pudo establecer el tiempo de espera, por lo que PHP cerró la conexión antes de que la tabla pudiera procesarse, esto puede suceder en algunas configuraciones de servidor.
Editar base de datos y plugin Velvet Blues Update URLs
Lo primero que temeos que hacer es cambiar unos valores en la tabla _options, por loque necesitamos conectarnos a la base de datos a través del Phpmyadmin.
Tenemos que cambiar los valores del campo option_value, en las filas de datos cuyo campo option_name, tiene por valor siteurl y home. Tenemos que poner como valor, el nuevo dominio.
Una vez hecho esto, ya podemos acceder al panel de administración de WordPress y podemos instalar el plugin Velvet Blues Update URLs
Para cambiar todas las URL a través de este plugin, vamos a Herramientas -> Update URLs.
Ostia amigo, me has salvado la vida.
Hace dos años abandoné un proyecto en el que llevaba trabajando bastante tiempo. Ahora me había propuesto recuperar el proyecto y no encontraba la manera de que me funcionase. Al leer tu artículo lo he podido hacer sin dificultad y todo ha salido bien. Ahora simplemente me quedan ajustar ciertos retoques y traducciones.
Muchísimas gracias por esta ayuda que has compartido con todos.
Un fuerte abrazo
Me alegro mucho. Puedes seguirme también en Twitter @raulperez0481 para más consejos y tips sobre programación, WordPress, …