Trasladar de hosting un sitio web es una acción muy recurrente para todos aquellos que gestionan sitios web sobre WordPress.
Esta operación no solo se hace para cambiar el sitio de servidor público, sino que también se hace para disponer de una copia del sitio en un servidor privado (normalmente local) para trabajar sobre él y testar configuraciones.
Primer paso: Analizar lo que nos llevamos y dónde lo llevamos.
Primero vamos a revisar varias cosas:
- Qué cantidad de archivos hay y cuánto pesan. ¿Hay espacio e inodos suficiente en el destino?
- Base de datos, la versión y su tamaño. ¿Habrá que trocearla para subirla sin problemas? ¿Supera la capacidad que normalmente admite MySQL? ¿Habrá problemas de cambio de codificación?
- Versión de PHP ¿Puede el software dar problemas?
- Librerías PHP ¿Hay plugins que hacen uso de librerías específicas que quizás no están en el servidor de destino?
- HTTPS ¿Debemos solicitar un certificado en el hosting de destino?
- DNS ¿Tenemos acceso? ¿Podemos modificar el TTL?
Y por supuesto, vamos a tener en cuenta que en ambos sitios tenemos credenciales suficientes para poder acceder a los recursos por FTP y a un sistema de gestión SQL.
Segundo paso: Configurar
Para no perder tiempo, antes que nada configuramos el servidor de destino.
- Creamos un espacio con el dominio que vayamos a usar.
- Solicitamos el certificado HTTPS (en caso de Let’s encrypt se puede solicitar un wildcard antes de que el dominio apunte al nuevo servidor)
- Bajamos al mínimo el TTL del registro A principal y www del DNS. Para que cuando cambiemos la IP a la que referencia el dominio en el DNS, este cambio sea lo más rápido posible.
- Si el sitio web envía emails, asegurate que el nuevo servidor tiene posibilidad de enviar emails a nombre de ese dominio, y si el registro SPF permite la salida de email desde la nueva IP. También puedes configurarle un SMTP.
Tercer paso: Descargar
Si estamos cambiando el sitio de hosting, lo ideal para empezar este paso sería indicar al administrador del sitio que no haga cambios. Si otros usuarios pueden hacer cambios sobre el sitio web, habría que implantar un método para que temporalmente no los hagan.
En este caso vamos a «llevarnos» una copia exacta del sitio web, y no queremos inconsistencias en la información, por eso evitamos que haya cambios, aunque si conoces muy bien cómo funciona el sitio, puedes descargar primero todo aquello que no vaya a ser modificado y dejar para lo último aquello que nos obligue a evitar cambios, para que el sitio siga funcionando el máximo tiempo posible.
Por ejemplo, para un sitio que funciona sobre WooCommerce, podemos descargar todos los archivos por FTP e ir subiéndolos al nuevo servidor (cuarto paso). Hecho esto, pasamos a evitar cambios en el sitio desactivando temporalmente la tienda y avisando al administrador y cuando esto esté hecho, trasladamos:
- La base de datos.
- La carpeta wp-content/uploads/(año actual)/(mes actual)
Si estamos cambiando el sitio de hosting, dejar el sitio antiguo con el bloqueo de cambios, para que en ningún caso pueda ser confundido con el nuevo sitio.
Si no estamos cambiando de hosting y solo es una copia privada sin pretensiones de publicarción, no hace falta en ningún momento bloquear los cambios.
Cuarto paso: Subir
Subimos todos los archivos por FTP y la base de datos al nuevo hosting que ya habíamos preconfigurado en el segundo paso.
Archivo /etc/hosts
Para testar los cambios que hagas antes de publicar el sitio, puedes modificar el archivo hosts, para que desde tu equipo accedas al sitio en el nuevo servidor antes de realizar el cambio de DNS
Ya solo queda:
- Configurar el archivo wp-config a los datos del nuevo servidor.
- Testar que el sitio funciona correctamente, si tenía un sistema de caché es posible que haya que reconfigurarlo.
- Deshacer el bloqueo de cambios que aplicaste en el tercer paso.
Y una vez hecho esto y solo si todo va bien:
- Cambia la IP en el DNS y subele de nuevo el TTL.
Sitio publicado
De este modo tu sitio puede cambiar de hosting con un tiempo fuera de línea totalmente nulo, lo único característico es que la edición del sitio ha estado bloqueada durante un periodo determinado de tiempo.
Esta es una operación muy habitual en cualquier proveedor de servicios relacionados con sitios web y sitios web sobre WordPress.
Un traslado no debe provocar en ningún caso pérdida de información. Un traslado podría provocar cambios sobre el software en caso de haya incompatibilidades y haya que solventarlas modificando el código.
En cualquier caso, siguiendo un protocolo de traslado seguro, como el descrito aquí, vamos a detectar los posibles problemas antes de que sea demasiado tarde.
Si, en general, realizando un proceso de traslado seguro, es posible. Como en todo hay excepciones, por ejemplo que existan incompatibilidades entre el software de la web y el del hosting, o que el hosting de destino no tenga capacidad o recursos suficientes para mostrar la información.
Si, se puede trasladar WordPress de hosting sin que exista tiempo de desconexión. Lo que si puede necesitar es un tiempo durante el cual no se pueda editar el sitio, solamente para evitar inconsistencias.