Una de las ventajas que tienen los CMS opensource y distribuidos mediante .zip instalables en tu servidor es que no tienen los mismos problemas que los CMS ofrecidos como SaaS en los servidores del desarrollador.
¿Cuál es esta ventaja? Que podemos migrar el CMS a cualquier proveedor de hosting. En este artículo, vamos a hablar de WordPress: de cómo migrar WordPress a otro hosting o servidor en pocos pasos y de forma simple.
Lo primero que quiero recalcar es la diferencia entre wordpress.com y wordpress.org, ya que un wordpress.com es una instalación WordPress ofrecida como SaaS que NO puede ser migrada a otro hosting. Por el contrario, una instalación WordPress de wordpress.org sobre un hosting de terceros o alojado por nosotros mismos nos permite llevárnoslo a donde nosotros queramos sin ningún tipo de obstáculo.
Siempre digo lo mismo, en un proveedor SaaS los datos e información de la web no son tuyos realmente, mientras que en un CMS instalado en un hosting (como Raiola Networks) los datos SÍ que son tuyos. ¿Ejemplos de proveedores Saas? Wix, WordPress.com, Blogger, etc.
Bueno, volviendo al lío, vamos a ver distintos métodos de migrar WordPress a otro hosting o servidor dependiendo de las herramientas que tengamos disponibles para hacerlo. Vamos a segmentar la migración en 5 pasos y a realizar todo el proceso valorando distintos métodos.
¿Quieres
recibir mis articulos?
No te pierdas todos mis trucos para WordPress, CMS, Marketing Digital y WPO.
Paso 1 – Descarga de archivos del hosting antiguo
Efectivamente. El primer paso es descargar los archivos desde el hosting en el que están actualmente, es decir, el antiguo hosting.
Existen distintas formas de descargar los archivos, dependiendo del panel de control y las herramientas que tenga el hosting antiguo.
Resumiendo el tema, podemos descargar los archivos mediante estos métodos:
- Mediante FTP: Este método siempre está disponible sea cual sea el panel de control. Incluso podemos hacer lo mismo, pero por SFTP.
- Mediante File Manager: Similar a FTP, pero desde el navegador web. No siempre está disponible.
- Mediante un plugin: Existen plugins de backup o copia de seguridad que nos ayudarán a descargar los archivos e incluso la DB de WordPress.
¿Cuál de estos tres recomiendo? Yo te recomendaría el FTP por ser el mas genérico, pero mediante File Manager y mediante plugin también son procedimientos muy simples y prácticos de realizar.
Vamos a desglosar los distintos métodos para descargar los archivos de WordPress a continuación.
Descarga mediante cliente FTP como Filezilla
No voy a liarme mucho con estos métodos, ya que la mayoría ya los he explicado en mi canal de Youtube o en otras partes de este blog.
Lo primero que necesitas son los datos para conectarte por FTP al servidor o hosting y esto te lo ha tenido que dar el proveedor de hosting en el email de bienvenida al contratar el hosting. También puedes usar uno nuevo creado por ti desde el panel de control.
Después de conectarte correctamente por FTP, tienes que buscar los archivos de la web. Normalmente se encuentran dentro de la carpeta public_html, aunque es posible que si es un dominio de complemento o web adicional se encuentre en otra carpeta.
Dentro tendremos los archivos de WordPress que puedes ver aquí:
Tan solo debes arrastrarlos a una carpeta en el escritorio de tu ordenador, por ejemplo, para descargar todos los archivos de la instalación.
¿Quieres saber cómo utilizar Filezilla para trabajar con un servidor FTP? Pues en este vídeo subido a mi canal de Youtube puedes verlo:
Como ves, el proceso depende de varias cosas. Lo primero es instalar Filezilla Client en tu ordenador y lo segundo es tener datos de acceso a FTP.
Descargar mediante File Manager en el panel de control
Lo primero que quiero decir es que no todos los paneles de control tienen el mismo File Manager. La interfaz cambia, pero las funcionalidades básicas suelen ser las mismas en todos los casos. El File Manager de cPanel, personalmente, es uno de los que a mí más me gusta y con el que suelo trabajar. Por eso voy a mostrar el proceso con él.
Lo primero: para acceder al File Manager debemos acceder al panel de control y, desde ahí, normalmente tenemos un botón que nos lleva al File Manager:
Y la interfaz del File Manager de cPanel es algo similar a esto:
En el siguiente vídeo que he publicado en mi canal de Youtube puedes ver cómo utilizar el File Manager de cPanel para descargar archivos, subirlos y realizar todo tipo de acciones, incluso editar.
Este proceso no es adaptable en todos los casos y depende mucho del panel de control que tengas en tu hosting o servidor web.
Para que te hagas una idea, este es el File Manager de VestaCP, el panel de control que utilizamos en los servidores VPS optimizados de Raiola Networks y en los servidores dedicados administrados:
Como puedes ver, la interfaz es completamente diferente para cada panel y en casos donde el proveedor de hosting tiene un panel personalizado que se escapa de cPanel, Plesk, VestaCP, DirectAdmin, etc.
Descargar con un plugin de backup para WordPress
Como he dicho antes, con un plugin de copia de seguridad para WordPress también podemos descargar los archivos en un .zip o en un .tar.gz.
Existen múltiples opciones de plugins para realizar este tipo de acciones. Aunque yo normalmente utilizo BackWPup para las copias de seguridad, en este caso casi tiro por el plugin Simple Backup o algo similar.
De todas formas, si necesitas un plugin para esto, existen las siguientes opciones:
- BackWPup
- Updraft Plus
- Duplicator
- XCloner
- Akeeba Backup
No te voy a enseñar a utilizar todos estos plugins, ya que no es el objetivo de este post.
En este vídeo que he publicado en mi canal de Youtube puedes ver cómo hacer una copia de seguridad de WordPress con BackWPup.
Aunque este método es bastante popular, en sitios web muy grandes estos plugins pueden encontrarse problemas o necesitar configuraciones adicionales para funcionar correctamente y sacar todos los archivos de golpe. Es muy importante comprobar esas copias de seguridad nada más descargarlas para garantizar que tenemos todos los archivos necesarios.
Descargar mediante Installatron en Raiola Networks
Como digo siempre, en Raiola Networks utilizamos el autoinstalador de aplicaciones Installatron, que no solo sirve para realizar autoinstalaciones sino que tiene un potente motor de copias de seguridad para los CMS instalados y administrados por Installatron.
¿Qué quiere decir esto? Que podemos hacer un backup de un WordPress instalado y descargarlo a local en un archivo que no solo contiene los archivos de WordPress, sino que también contiene la base de datos, por lo que haremos un 2×1.
Y los archivos que obtendremos al descomprimir el backup son los de WordPress, incluido el .sql con la base de datos de WordPress:
En el siguiente vídeo puedes ver cómo realizar copias de seguridad con Installatron:
Como ves, el proceso es mucho mas fácil, pero no siempre tendremos disponible Installatron.
Si buscas un hosting cPanel con Installatron y con LiteSpeed, puedes consultar los planes de Raiola Networks: https://alvaro.click/hosting
¿Quieres
recibir mis articulos?
No te pierdas todos mis trucos para WordPress, CMS, Marketing Digital y WPO.
Paso 2 – Descarga de la base de datos del hosting antiguo
Si no descargamos la base de datos de WordPress, no tendremos el contenido ni la mayoría de la configuración.
Si necesitas entender más cosas acerca de la base de datos de WordPress, he escrito un post completo aquí: https://alvarofontela.com/entendiendo-base-datos-mysql-wordpress/
Realmente existen varias formas de descargar la base de datos de WordPress, pero yo solo voy a describir las “amigables”. También podemos hacerlo desde la terminal SSH de Linux, pero esto es más avanzado.
Vamos a hablar de dos métodos: mediante plugin y mediante phpMyAdmin. Además, también vamos a complementar con Installatron pero, como he dicho, no está disponible en todas las circunstancias.
Descargar la DB por phpMyAdmin desde el hosting
Lo pongo primero ya que para mí es el método principal. La mayoría de hostings (99%) tienen disponible la herramienta phpMyAdmin para manipular las bases de datos.
Al phpMyAdmin entramos a través del panel de control de nuestro hosting y, una vez dentro, la herramienta es exactamente la misma para todos los casos, exceptuando que existe una interfaz nueva y una interfaz antigua.
Si quieres aprender a realizar una copia de seguridad de tu base de datos MySQL mediante phpMyAdmin, puedes ver el siguiente vídeo que he subido a mi canal de Youtube:
Es muy importante que hagas backup de la DB COMPLETA y no solo de las tablas, ya que de lo contrario podrás encontrar problemas para importar de nuevo la nueva base de datos.
Descargar la DB mediante un plugin de backups
Como dije antes para el caso de los archivos, existen muchos plugins de copia de seguridad para WordPress que te permitirán descargar la base de datos de forma que puedas importarla directamente usando el phpMyAdmin del nuevo hosting y sin necesidad de retocar nada.
Simplemente voy a dejar aquí otra vez el listado de plugins para WordPress que te pueden ayudar a sacar un backup:
- BackWPup
- Updraft Plus
- Duplicator
- XCloner
- Akeeba Backup
Y te vuelvo a dejar otro vídeo sobre cómo hacer backups de la DB de WordPress con plugins, pero en este caso con XCloner para WordPress:
Existen plugins mucho más simples, que te permitirán simplemente descargar la DB de WordPress fácilmente sin archivos.
Descargar la DB mediante Installatron
Como hemos dicho antes, durante la descarga del backup con los archivos de WordPress con Installatron, también descargamos la base de datos.
La DB del sitio web WordPress se encuentra entre los archivos:
Si quieres saber cómo realizar backups con Installatron, te vuelvo a dejar aquí el vídeo que he subido a mi canal de Youtube:
VIDEOINSTALLATRON
El archivo .sql podemos subirlo directamente con phpMyadmin al nuevo hosting sin problemas.
Paso 3 – Subir archivos al nuevo hosting
Vamos a empezar con el nuevo hosting o servidor (espero que sea de Raiola Networks xD)
Ahora que tenemos todo en nuestro ordenador, simplemente debemos subir los archivos al nuevo hosting. En este caso podemos usar menos opciones, ya que solo tendremos el FTP o el File Manager del panel de control.
No me voy a liar mucho con esto, simplemente decirte que si quieres subir los archivos con el File Manager del panel, este vídeo que he publicado en mi canal de Youtube te servirá:
Recuerda que esto es el File Manager de cPanel. Cada panel de control tiene su propio File Manager o puede directamente no tener esta opción.
En cambio, si quieres usar un cliente FTP una vez más vas a necesitar los datos del cliente FTP, pero del nuevo hosting al que estás migrando la web. El proceso para subir los archivos una vez conectado con los datos correspondientes sería algo similar a esto:
Sea cual sea el camino, el objetivo es subir los archivos al nuevo servidor o hosting.
Evidentemente, existen formas de subir los archivos mediante consola o mediante SFTP, pero en este caso hablo de las formas más amigables.
Paso 4 – Subir la base de datos al nuevo hosting
Ahora llegamos al tema de subir la base de datos al nuevo hosting. Es posible que tengamos que crear una nueva base de datos desde cPanel (o desde el panel de control en cuestión) antes de importarla.
Como no puedo explicar cómo crear una base de datos en todos los paneles de control de hosting que existen, voy a explicarlo para cPanel que es el más común:
MUY IMPORTANTE: Debemos guardar los datos de conexión con la base de datos para poder introducirlos después en el archivo de configuración wp-config.php. ¿Qué datos debemos guardar? Nombre de la base de datos, usuario y contraseña.
Vamos a recalcar que, en este caso, para subir la base de datos de WordPress en la gran mayoría de los hosting (99%) solo existe una forma de hacerlo: mediante el phpMyAdmin. Precisamente eso es lo que voy a explicar a continuación.
Voy a ir al grano: antes de nada, debes autentificarte en el phpMyAdmin desde el panel de control de tu hosting.
Después, puedes importar el archivo .sql que tienes en tu ordenador simplemente siguiendo un proceso así:
¿Qué puede salir mal? La cosa puede que no salga exactamente como puedes ver en el vídeo, dado que depende del tamaño de la base de datos que estamos intentando subir y también en gran medida de los límites de la configuración del servidor.
Si te ha aparecido un error “MySQL has gone away…” o el tamaño del archivo máximo permitido es inferior al de la DB, lo más seguro es que sea un fallo de límites. Llegados a este punto existen dos posibilidades: que podamos definir los limites desde el panel de control del hosting o que no.
En caso de que el proveedor de hosting no permita modificar los límites, tienes que hablar con el soporte para que te importen el archivo.
Existen otros casos como el de Raiola Networks, donde puedes modificar la mayoría de limites para tu cuenta de hosting directamente desde el panel:
En cualquier caso, existen ciertos límites que no podemos modificar desde el panel y que son aplicables a bases de datos MUY grandes.
Paso 5 – Reconfigurar wp-config.php el nuevo hosting
Ahora que tenemos tanto los archivos como la base de datos subidas al nuevo hosting, pero antes de realizar el paso final de cambiar las DNS y realizar las comprobaciones, debemos reconfigurar el archivo wp-config.php.
Es posible que no te hayas dado cuenta, pero al subir los archivos al hosting nuevo también has subido el archivo wp-config.php. El archivo wp-config.php es un archivo base de configuración para WordPress. Si necesitas ayuda con su estructura, puedes ver este post que he publicado en mi blog: https://alvarofontela.com/configurar-wp-config-php-wordpress/
¿Qué tiene de malo este archivo? Que contiene configuraciones que solo son válidas para el viejo hosting, sobre todo la conexión con la base de datos MySQL que contiene el contenido y que ya tenemos subida al nuevo server.
Vamos a ir a la carpeta donde tenemos ese archivo en nuestro ordenador, es decir, el archivo que hemos subido al nuevo hosting y que viene del viejo hosting:
Y ahora lo abrimos con un editor de texto o código. Mi favorito es Notepad ++.
Y debemos editar los parámetros de conexión a la base de datos con los datos que previamente hemos GUARDADO durante la creación de la base de datos MySQL desde el panel de control del hosting.
Después de editar este archivo, lo subimos al nuevo hosting con el mismo método con el que hemos subido antes los archivos de WordPress desde nuestro ordenador al nuevo hosting.
Nos aseguramos que lo hemos subido correctamente y ahora podemos seguir dos caminos:
- Continuar al paso 6.
- Comprobar que la web carga perfectamente en la nueva ubicación sin cambiar las DNS para prevenir posibles fallos o problemas que podamos pasar por alto.
Esto último yo suelo hacerlo mediante el archivo HOSTS de Windows. Existen procedimientos fáciles: https://raiolanetworks.es/blog/modificar-archivo-hosts-en-windows-linux-y-mac/
Paso 6 – Cambio de servidores DNS o registros DNS
No quiero entrar mucho en esto, simplemente mencionarlo como paso final para acabar con la migración de un WordPress de un hosting a otro hosting.
¿Cuál es la razón por la que no voy a detallarlo? Pues porque cada proveedor de dominios es diferente y la interfaz que tenemos en Raiola Networks no es la misma que tienen otros proveedores. Por eso, no existe un patrón específico.
Lo único que puedo decir es que hay que cambiar los servidores DNS o al menos modificar los registros A correspondientes para que el dominio apunte al nuevo servidor. El tiempo también puede variar dependiendo del tipo de dominio, ya que un dominio .es puede tardar unas 24 horas en propagar, mientras que un dominio .com es casi instantáneo.
Yo personalmente siempre uso las DNS de CloudFlare, ya que son geodistribuidas y de las DNS más rápidas que me he podido encontrar junto a Amazon Route53.
Si quieres más información acerca de cómo trabajar con CloudFlare como proveedor de DNS, puedes ver el siguiente vídeo que he subido a mi canal de Youtube:
Créeme, es bastante rentable utilizar CloudFlare como DNS para tus dominios por su excelente rendimiento y su buen SLA. Puedes comprobarlo en este enlace: https://www.dnsperf.com/
Paso 7 – Comprobaciones finales de WordPress
Ahora que tenemos nuestra web funcionando correctamente, solo nos faltan algunas cosas por realizar.
Una de ellas es comprobar que la galería multimedia funciona correctamente, ya que en muchos casos una instalación puede quedarse “pillada” por una ruta absoluta en el wp-config.php.
En cualquier caso, te recomiendo que revises la instalación a fondo parte por parte después de la migración y siempre con un navegador en modo incógnito para evitar falsos positivos ocasionados por el cache.
Por otro lado, también te recomiendo borrar cache de plugins como WP Rocket y comprobar que no hay ningún 404 a ningún archivo, así como borrar cache en el servicio CDN que utilices (si lo utilizas).
Conclusiones finales
Finalmente, quiero decirte varias cosas.
La primera es que todo este proceso puede variar un poco dependiendo del proveedor de hosting y de las circunstancias, aunque yo he tratado de ser lo mas “neutral” posible y describirlo de una forma genérica, aunque sea más compleja de explicar. Debes ENTENDER el proceso y no hacerlo de forma sistemática ya que, si no tienes ni idea y lo haces paso a paso sin entenderlo, posiblemente no llegues al final.
Por otro lado, existen aplicaciones y plugins que prometen una migración asistida de una instalación de WordPress. ¿Lo consiguen? Pues depende del grado de personalización que tenga la instalación de WordPress y también de las circunstancias tanto del hosting antiguo como (sobre todo) del nuevo hosting.
El plugin Duplicator es una excelente herramienta para migración y tiene buena fama, pero falla más que una escopeta de feria en esta tarea y la mayoría de las veces es por los permisos que tiene la cuenta en el hosting antiguo.
Hay algo más que deberías saber: este procedimiento es solo para migrar un sitio web WordPress de un hosting a otro hosting, manteniendo el mismo dominio. Si necesitas cambiar el dominio el procedimiento es similar, pero hay que añadir un paso más mediante el cual se cambia el dominio no solo en la configuración, sino también en las rutas de la base de datos.
Si necesitas ayuda con cualquier migración puedes consultarme, aunque recuerda que solo te voy a dar soporte si la migración es a mi propia empresa: Raiola Networks.
6 Responses
Muy buen artículo Álvaro! Bien claro y con la profundidad necesaria para resolver el 90% de los casos que se nos pueden presentar durante un proceso de migración. Muy buen dato lo de Duplicator, sigo pensando que lo mejor es siempre hacer todo en forma manual y asegurarnos que dejar el tema en manos de un plugin.
Gracias Eduardo!! Yo también prefiero hacerlo todo manual, pero la mayoría de la gente al realizar estas tareas busca “atajos” y facilidades que depende de la situación, son indicadas o no… independientemente de lo que usemos, es importante verificar varias veces lo que estamos haciendo.
Estupendo artículo Álvaro. Aunque me gusta hacer los traslados de forma manual, nunca está de más ver más recursos y opciones. Una pregunta que tengo es la siguiente: ¿Hay forma de habilitar las instalaciones de wordpress trasladadas a los paneles de Installatron? Entiendo que al haber sido instaladas con esa aplicación, no pueden o no deben aparecer ahí, pero la verdad, la aplicación tiene ventajas como son las copias de seguridad o la clonación desde ese panel. Es algo que resulta muy útil para hacer copias antes de actualizaciones, y me parece que es uno de los puntos flacos al hacer una copia manual. Entiendo que con softacolous pasará tres cuarto de lo mismo. ¿no?
Hola Kinharo, claro que hay forma, simplemente tienes que importar la instalación.
Tengo este video en el canal de Raiola Networks, pero es algo antiguo, con la interfaz antigua: https://www.youtube.com/watch?v=mNTH0CcGhBo
Y te dejo una captura de donde se encuentra la opción, simplemente es como si fueras a instalar WordPress, pero despliegas y le das a importar:
Del tema Softacolous ni idea, ya que hace al menos dos años que no lo he utilizado.
Mil gracias por la respuesta Álvaro, me has dado una alegría… ¡y esta semana la necesitaba! Espero poder probarlo pronto. Un abrazo y a cuidarse mucho.
Gracias a ti Kinharo 🙂