Cambiar de hosting forma parte del crecimiento de un sitio web, pero puede resultar un tanto traumático, debido a la cantidad de detalles a tomar en cuenta y el miedo a perder nuestra información. Pero ¡tranquilo! que si tenemos un Plan, migrar WordPress resulta bastante sencillo.
Si quieres aprender cómo hacerlo no dejes de leer este post, al cual le he puesto bastante cariño ❤ para que tengas todo cubierto al momento de mover tu sitio web a otro servidor.
Te recomiendo leer completo este tutorial antes de migrar WordPress, así tendrás una idea clara de lo que debes hacer y las contingencias que puedan surgir.
Al finalizar la migración y compruebes que todo funciona bien, borra el WordPress del hosting antiguo (manteniendo los respaldos en tu computadora).
Contenido del post
El Plan para migrar WordPress
Al momento de migrar WordPress es posible que tengas estas dudas:
- ¿A cuál hosting voy a migrar WordPress?
- ¿Cómo hago la migración de WordPress y la base de datos?
- Tengo Cloudflare en mi web, ¿Tendré problemas al migrar WordPress?
- Tengo un certificado SSL Let’s Encrypt, ¿Lo pierdo?
Todas estas preguntas es muy posible que hayan pasado por tu cabeza y debemos estructurarlas para obtener los mejores resultados.
El Plan lo dividiremos en varias partes:
- Ubicar el servidor óptimo
- Hacer la migración propiamente dicha
- Cambio en el redireccionamiento (DNS)
- Actualización de Enlaces permanentes (si cambias de dominio)
- Migración de certificado Let’s Encrypt (si lo tienes)
Sin más habladuría, pasemos a la acción .
Cuál es el mejor hosting para migrar
Esta es la parte donde yo te digo cual es el mejor hosting del mundo, el cual te da todo lo que necesitas y a un precio increíble 🤨
Pues nada de eso, no pretendo venderte espejos. El mejor servidor será aquel que cubra tus necesidades y te permita crecer con él.
Las necesidades vienen dadas por lo general por la cantidad de visitantes diarios que tenga tu WordPress, los plugins instalados y por supuesto, el presupuesto que tengas.
Te recomiendo buscar hosting que ofrezcan discos SSD con un mínimo de 5Gb, al menos 1 Gb de memoria Ram y transferencias que no bajen de 1 Tb. Desde ahí, el cielo es el límite.
Esto es más que suficiente para una web con un promedio de 10.000 visitas al mes.
Las estadísticas de tu sitio web te pueden ayudar en este aspecto. Google Analytics Dashboard for WP (GADWP) es una buena opción.
Actualmente para los planes compartidos (Shared hosting) los proveedores tienden a mostrar muy poca información al respecto, si no lo consigues en su sitio web, contáctalos, de no querer ofrecerlas, pasa de ellos.
La mayoría de páginas que ofrecen análisis (reviews) de los hosting son poco confiables, ya que solo les interesa vender sus vínculos de afiliados sin ofrecer información fidedigna. Prefiero los foros donde los mismos usuarios cuentan sus experiencias, te recomiendo forobeta o webhostingtalk.
El hosting que yo uso en la actualidad es Banahosting. Ofrece un excelente servicio y lo mejor con soporte en español. Y para que veas que no soy un charlatán más, el vínculo anterior no es de afiliado, así que no gano nada con recomendártelo 😉
Si te sirvió mi post, te interesa contratar con este hosting y quieres ayudar con el mantenimiento de mi blog, te dejo este link de Banahosting que si es de afiliado. Recuerda que no tiene ningún costo adicional para ti.
Cambiando nuestro WordPress a otro servidor
Una vez tenemos contratado nuestro nuevo hosting, vamos a ponernos manos a la obra para trasladar nuestro sitio web 💪
En este proceso de migración de WordPress, nuestro sitio web puede estar online, ya que no requiere ningún cambio que afecte su funcionamiento, al menos hasta cambiar los DNS.
Lo que haremos básicamente al migrar WordPress será clonarlo y pasarlo al nuevo servidor.
Es posible que podamos perder algún comentario que se haya generado durante el proceso de migración, pero ya que estimo que no debería tomar más de 30 minutos hacerlo, creo que ni eso perdemos.
Recomiendo hacerlo en el horario de menor afluencia en tu sitio web para evitar molestias a tus usuarios debido a inconvenientes que puedan surgir.
1. Copiando la base de datos al migrar WordPress
Es necesario que conozcas el nombre de la base de datos. Lo puedes ubicar en el wp-config.php, después de: define(‘DB_NAME’, . Este archivo se encuentra en la raíz de la carpeta de WordPress.
Tenemos dos maneras para exportar nuestra base de datos: haciendo uso del plugin WP Migrate DB o mediante el phpMyAdmin de nuestro hosting.
Exportando la base de datos con WP Migrate DB
Para instalar el plugin WP Migrate DB, dirígete en el panel de administración de WordPress a: Plugins > Añadir nuevo. Hacemos la búsqueda en el campo disponible, y una vez ubicado hacemos clic al botón Instalar ahora y luego a Activar.
Ahora nos dirigimos a: Herramientas > Migrate DB. En la pestaña Migrate, en el apartado Export File, marca las dos opciones: Save as file to yourcomputer y Compress file with gzip.
Si necesitas cambiar de dominio o tienes algún elemento en WordPress que apunta en la base de datos a una carpeta estática (practica no recomendada), sírvete de los campos disponibles en la columna Replace para sustituirlos por los nuevos. Guarda la base de datos con el botón Export.
Incluye siempre el dominio con su extensión (Ejemplo: .com, .org, .io), y las www (si lo tienes definido así).
Si en la migración solo vas a cambiar de servidor, elimina estas dos columnas con el botón X ubicado al lado derecho de cada campo y hacemos clic a Export.
Exportando la base de datos con phpMyAdmin
Accede al phpMyAdmin de tu hosting. En cPanel está ubicado en la pestaña Bases de datos > phpMyAdmin.
Seleccionamos la base de datos del WordPress en el menú a la izquierda, vamos a la pestaña Exportar, y hacemos clic al botón Continuar para guardar la base de datos.
Este metodo es directo y sin vueltas , pero si tu base de datos es muy grande, recomiendo exportarla comprimida, esto te evitará problemas al momento de cargarla en el nuevo servidor.
Para lograrlo, selecciona la base de datos, en la pestaña Exportar haz clic a la casilla Personalizado para que nos muestre las opciones avanzadas, en la fila Compresión escoge comprimido con zip del menú desplegable. Sin modificar nada más, ve al final de la pantalla y pulsa Continuar para proceder a guardarla.
Si vas a migrar WordPress a un nuevo dominio, te enseñaré como cambiarlo en la base de datos con phpMyAdmin cuando hagamos la importación del Wordpres al nuevo servidor; si no puedes esperar 😜 dirígete aquí.
2. Copiando la carpeta de WordPress
Ahora que ya tenemos la base de datos en nuestra computadora, vamos a exportar también la carpeta que contiene el WordPress.
Para ello debes saber dónde está ubicada la carpeta en el servidor. Por lo general se instala en la carpeta de publicación: public_html.
Si no conoces su ubicación exacta, sírvete de plugin WP Migrate DB. En el segundo campo de la columna Find, te lo muestra.
El respaldo lo podemos hacer de varias maneras, te muestro dos de ellas.
Respaldar la carpeta WordPress con cPanel
Entra al cPanel de tu hosting. En la pestaña Archivos, hacemos clic a Administrador de Archivos.
Una vez dentro del Administrador busca la carpeta donde está ubicado el WordPress (por lo general se instala en la carpeta de publicación: public_html) y selecciona todos los archivos: con la tecla Shift pulsada, marca con el ratón del primero al último archivo, incluidas las carpetas.
Si están las carpetas well-known y cgi-bin, óbvialas, no son necesarias
Manteniendo la selección, presiona el vínculo Comprimir ubicado en el menú superior.
En el cuadro que se muestra, escoge zip como tipo de compresión, ponle un nombre al archivo y lo guardamos con Compress File(s). Espera que concluya la compresión.
Selecciona el archivo zip, y lo bajamos con el vínculo Descargar del menú superior.
Respaldo de wordpress con FTP
Haciendo uso de un programa FTP como Filezilla, conéctate al servidor con tu usuario y clave, ubica la carpeta del WordPress, y descárgala en su totalidad en tu computadora.
El usuario y clave, así como los parámetros de conexión, los envía por lo general a tu correo electrónico el hosting cuando creas la cuenta con ellos.
El usuario FTP puede estar limitado a su carpeta de acceso, por lo que es posible que no puedas descargar los archivos de la carpeta public_html. Si es el caso, entra con cPanel comprime el WordPress y muévela a la carpeta FTP.
Si te estás preguntando: ¿para qué voy a hacerlo vía FTP?, si igual debo entrar y comprimir con cPanel, ¡mejor lo hago directamente con el método anterior!.
Usar FTP tiene ventajas interesantes: permite parar las descargar y reanudarlas posteriormente o crear una lista de descargas que puede ser ejecutada una detrás de la otra, entre otras.
Esta guía sobre como gestionar archivos con Filezilla te puede ayudar.
Esto resulta muy útil si el archivo a bajar es muy grande y la conexión no es muy buena o errática. Dejas el FTP abierto y él se encarga de gestionar la descarga por ti, incluso si debe hacer reconexiones 😎
3. Cargando la base de datos en el nuevo servidor
Ahora necesitamos crear una base de datos vacía en el nuevo hosting y asignar un usuario que la gestione.
Por seguridad, si tienes varias webs en tu hosting, crea un usuario para cada base de datos.
Creando la base de datos y usuario
En cPanel ve en la pestaña Base de datos > Bases de Datos MySQL.
En el apartado Crear una nueva base de datos, coloca el nombre que desees tenga la base de datos, no tiene porque coincidir con la anterior, ya que cada hosting les coloca un prefijo a las suyas. Finalizamos haciendo clic en Crear una base de datos.
En la misma pantalla en el apartado Añadir nuevo usuario, coloca el nombre de usuario y la contraseña, luego presionamos el botón Crear usuario.
El siguiente paso es asignar el usuario creado para que gestione la base de datos.
Vuelve nuevamente a la pantalla Bases de datos MySQL, ve a Añadir usuario a la base de datos, selecciona la base de datos y el usuario creados de los menús desplegables y hacemos clic al botón Añadir.
En la pantalla siguiente selecciona la casilla Todos los privilegios, y haz clic a Hacer cambios.
Con esto habremos asignado la capacidad al usuario de gestión enteramente la base de datos.
Importando la base de datos en phpMyAdmin
Dirígete al phpMyAdmin en cPanel, selecciona la nueva base de datos creada y haz clic a la pestaña Importar. Con el botón Seleccionar archivo ubica en tu computadora la base de datos y le damos al botón Continuar en phpMyAdmin.
Dependiendo del tamaño de tu base de datos, tardará algo de tiempo. Es hora de un cafecito ☕
Si todo sale bien deberás ver una pantalla parecida a esta, lo que significa que tu base de datos se importó exitosamente.
Los errores más comunes en cuanto a la importación, se deben a bases de datos muy grandes que exceden el máximo permitido por el servidor; si es tu caso contacta con el soporte técnico de tu hosting para que te proporcionen una solución.
El máximo tamaño de archivos que puede subir lo visualizas en el phpMyAdmin en la pestaña Importar en el apartado Archivo a importar.
phpMyAdmin al importar acepta archivos comprimidos, lo cual reduce drásticamente su tamaño.
Con esto ya tendremos la base de datos en nuestro nuevo hosting.
Actualizando tu dominio en phpMyAdmin
Si exportaste la base de datos con el plugin WP Migrate DB, también sáltate este paso, recuerda que ya lo cambiamos 😆
Selecciona la base de datos en phpMyAdmin y ve a la pestaña SQL, introduce en el campo en blanco el siguiente código y dale clic a Continuar para ejecutar los cambios.
UPDATE wp_options SET option_value = replace(option_value, 'midominioactual.com', 'minuevodominio.com') WHERE option_name = 'home' OR option_name = 'siteurl';
Reemplaza en el código midominioactual.com por tu dominio actual y minuevodominio.com por el dominio a migrar. Cuida de no borrar las comillas.
Si el prefijo de la base de datos es distinto a wp_ debes cambiarlo también.
Después de ejecutarlo debe mostrarte que se ejecuto exitosamente.
Con esto actualizaremos, el url del WordPress, pero pueden quedar aun muchos links que apunten a la dirección vieja, casi siempre en las entradas y páginas de tu sitio web.
Si quieres cambiarlos masivamente, con estos tres comandos SQL desde phpMyAdmin puedes lograrlo.
UPDATE wp_posts SET guid = replace(guid, 'midominioactual.com','minuevodominio.com'); UPDATE wp_posts SET post_content = replace(post_content, 'midominioactual.com', 'minuevodominio.com'); UPDATE wp_postmeta SET meta_value = replace(meta_value,'midominioactual.com','minuevodominio.com');
Soy un tanto receloso de usarlos, ya que he obtenido algunos errores en el pasado con ellos. Yo recomiendo migrar tu WordPress a un localhost y probar desde ahí si todo funciona perfectamente con estos comandos.
Esta guía para montar tu WordPress en localhost, puede ser de ayuda.
Será un tanto más complejo, pero estarás 100% seguro de que todo funcionara bien.
Recuerda que siempre puedes migrarla con el plugin WP Migrate DB 😀
4. Migrando la carpeta de WordPress al nuevo hosting
Al momento de importar la carpeta de WordPress se nos puede presentar dos situaciones:
- Que sea un hosting contratado recientemente y al momento de comprarlo hayamos introducido el dominio que ya tenemos contratado.
De esta manera el hosting configura automáticamente el dominio en cPanel y la carpeta de publicación predeterminada seria public_html (esta carpeta puede variar).
En ella volcaremos la carpeta de WordPress que exportamos. - La otra situación puede darse con un hosting que permita alojar varios dominios, en el cual ya exista previamente una web, por lo que deberemos crear el dominio en cPanel.
Independientemente de la situación que tengas, tendrás que subir el WordPress dentro del nuevo servidor.
Subiendo WordPress al servidor
En esta parte asumiremos la primera situación antes mencionada. Vamos a subir el WordPress a la carpeta public_html.
Cargar la carpeta de WordPress en el nuevo hosting es el proceso inverso al de exportación 🙃, por lo tanto, lo podemos hacer mediante FTP o con cPanel.
Para hacerlo con cPanel, dirígete al Administrador de Archivos. Ubícate en la carpeta public_html, en el menú superior haz clic al botón Cargar.
En la pantalla que se abre, ubica en tu computadora el archivo comprimido de WordPress previamente descargado, usando el botón Seleccionar archivo. La carga estará completa cuando la barra llegue al 100%.
Vuelve a la carpeta public_html del Administrador de Archivos, selecciona el archivo y lo descomprimimos con el botón Extraer del menú superior.
Cuida de no crear una subcarpeta, todo debe estar volcado directamente en public_html.
Borra el archivo zip en cuanto finalice la descompresión, con el botón Eliminar del menú superior.
Subir el WordPress mediante FTP, implica acceder al servidor con tu usuario y clave previamente creado, y hacer el proceso inverso que te mencioné durante la descarga de la carpeta WordPress.
Creando dominios en nuestro hosting con cPanel
Ahora asumiremos la segunda situación, donde crearemos en cPanel nuestro dominio, bien sea porque el hosting permite alojar multiples webs o simplemente no lo configuraste inicialmente.
En cPanel dirígete a Dominios > Dominios adicionales.
En la próxima pantalla, coloca el dominio con la extensión incluida, por ejemplo: tudominio.com. Haz clic al campo Directorio Raíz y se rellenará automáticamente con los datos predeterminados; haz clic al botón Añadir dominio.
Esta acción creará automáticamente la carpeta de publicación.
El directorio donde se cree la carpeta de publicación de tu dominio puede variar de acuerdo al hosting, algunos están configurados para crearse en una subcarpeta en public_html, otros lo crean directamente en el directorio raíz del servidor, Ejemplo: /home/dominio.com.
Independientemente de esto, toma nota del directorio donde se ubique.
Ahora ya tendremos creado el dominio en el servidor, solo queda subir el WordPress al directorio antes creado con el Administrador de archivos de cPanel o vía FTP, tal como te mostré en el paso anterior.
5. Actualizando la base de datos en el wp-config.php
Ahora que ya tenemos el WordPress cargado en el servidor, es hora de actualizar el nombre de la base de datos, usuario y password en el wp-config.php.
Con el Administrador de archivos de cPanel, ubícate en la carpeta de publicación WordPress y abrimos el archivo wp-config.php con el botón Editar del menú principal.
Se abrirá una nueva pestaña el archivo, y modificaremos los parámetros:
define('DB_NAME', 'nombre_base_de_datos'); define('DB_USER', 'nombre_usuario'); define('DB_PASSWORD', 'clave_usuario');
Sustituye entre las comillas: nombre de la base de datos, nombre de usuario y la clave del usuario de la base de datos antiguos con los nuevos.
Recuerda incluir los prefijos que asignó el servidor en el nombre de la base de datos y usuario. Por ejemplo: prefijo_nombredb.
Al finalizar salva los cambios con el botón de del menú superior Guardar cambios.
Antes de continuar, detengamos un momento y hagamos un resumen del proceso de migrar WordPress a otro servidor.
- Ya hemos seleccionado el nuevo hosting.
- Descargamos la base de datos y la carpeta del WordPress.
- Subimos al nuevo servidor tanto la base de datos como la carpeta.
- Actualizamos la base de datos con el nuevo dominio (en caso de necesitarlo).
- Configuramos el wp-config.php de WordPress.
Pues bien, la parte más pesada ya paso 😆.
Nos queda redireccionar los DNS para que apunten a nuestro nuevo servidor, migrar el correo electrónico, certificados SSL (si los tuviéramos) y actualizar los Enlaces permanentes (Permalinks) en WordPress.
Redireccionando los DNS al nuevo hosting
Lo que haremos ahora será decirle a tu proveedor de dominios que mudaste tu web y que está en una nueva dirección. Esta dirección la representan los DNS, estos son distintos en cada hosting.
Este procedimiento puede variar dependiendo del proveedor, ya que dependerá del panel de administración que pongan a tu disposición para ese fin.
Si al migrar WordPress no piensas renovar con el anterior hosting (y compraste tu dominio con él), es recomendable pasar tu dominio a un proveedor más neutral y especializado como GoDaddy, Namecheap, name.com, namesilo, etc.
Esto es una práctica que recomiendo, ya que así deslindas el servicio hosting del registrador de dominios. Los hostings van y vienen, tu dominio permanece.
Para este tutorial lo haremos para Namecheap, pero en líneas generales es igual para todos: acceder al panel de modificación de DNS y darle clic a Aceptar.
Entra en tu cuenta de Namecheap y dirígete al panel de administración (Dashboard). Haz clic en el botón Manage del dominio que deseas cambiar los DNS.
En la sección que pone Nameservers, selecciona Custom DNS del menú desplegable y coloca los DNS del nuevo hosting, uno en cada línea. Confírmalo haciendo clic al check Save color verde.
Los DNS tiene que dártelos el hosting, por lo general se envían en un correo electrónico cuando contratas el servicio.
Cambiando las DNS en el CDN
Si tienes tu sitio Web detrás de un CDN como Cloudflare, en vez de cambiar los DNS en el proveedor de dominios, debes actualizar la IP del nuevo servidor en el CDN.
Para esta guía lo ejemplificare con Cloudflare.
Primero debemos obtener la IP del nuevo servidor. Entra en cPanel, haz clic al vínculo Información del servidor ubicado en la pestaña Información general.
En la pantalla que se abre ubica la IP del servidor en la fila: Dirección IP. Toma nota de ella.
También puedes solicitarlo al soporte del hosting, que seguro te la facilitan.
Ahora logueate en tu cuenta de Cloudflare.
Dirígete en el menú superior a DNS. Ahora solo debes sustituir la IP vieja por la que obtuvimos del nuevo servidor. Simplemente pon el mouse en cada campo y rescríbela, se guarda automáticamente.
Debes sustituirla en todos los campos Tipo A, excepto en localhost.
Sin importar el método que uses, la actualización de los DNS puede tardar algo de tiempo, hasta 48 horas. Si usas Cloudflare esto suele ser bastante más rápido, por no decir inmediato 🤓
En este punto tu web debería ser visible.
Actualizando los registros DNS en el nuevo hosting
Otro aspecto a tener en cuenta en el proceso de migración es actualizar los registros DNS en tu nuevo servidor.
Por defecto, el hosting crea los registros principales estándar, que puede ser de tipo: A, CNAME, TXT, etc. Pero existen otros que pudieran estar en tu anterior servidor, que debes replicar en el servidor a Migrar.
Por ejemplo, los registros TXT de Google para la G Suite: v=spf1 include:_spf.google.com ~all
Para agregarlos, dirígete en cPanel a Dominios > Zone Editor.
Ahora dale clic a Administrar, en el dominio que quieras modificar los registros DNS
En la próxima pantalla veras los registros DNS que tienes en tu servidor. Compara los registros de tu anterior hosting con los del nuevo, si falta alguno créalo.
Para ello desplega el menú del botón Añadir registro, y selecciona el tipo de registro a crear.
Luego en la parte de abajo te mostrara los campos que debes llenar para crear el registro. Copia la información que estaba en tu anterior hosting y presionamos el botón Añadir registro.
Haz esta misma acción con todos los registros que hagan falta.
Es posible que no sea necesario crear siquiera registros adicionales, pero es un aspecto a tener en cuanta al migrar WordPress.
Actualizando los Enlaces permanentes (en caso de cambiar de dominio)
Si cambiamos de dominio, debemos actualizar los enlaces permanentes en WordPress para que no haya problemas con la nueva dirección.
Logueate en la administración de WordPress. Dirígete a Ajustes > Enlaces permanentes. Ahora haz clic al botón Guardar cambios para que se actualicen los permalinks.
Eso es todo, ¿sencillo, verdad?
Si no tienes certificados SSL o correos electrónicos que exportar, felicidades la migración de WordPress está completa.
Si no, nos falta algo de trabajo todavía 😄
Migrando el certificado SSL Let’s Encrypt
En tu antiguo servidor, debemos eliminar el certifica Let’s Encrypt.
En la pestaña Seguridad de cPanel entramos al vínculo Let’s Encryp SSL.
Ubica el certificado de tu sitio web y haz clic a Remove.
Ahora simplemente, genéralo en el nuevo servidor. Si no sabes cómo hacerlo, pásate por esta guía.
Si tienes un nuevo dominio, no es necesario eliminarlo en el antiguo servidor, solo crealo en el nuevo servidor.
Migrar el certificado SSL Let’s Encrypt si tienes Cloudflare
Si tu WordPress está detrás de Cloudflare, el procedimiento es un tanto distinto.
- Entra en tu proveedor de dominios, y redirecciona tus DNS directamente a los de tu hosting (tal como te expliqué antes).
- Genera el certificado SSL en el hosting.
- Accede a tu sitio web y comprueba que funciona bien, incluido el certificado.
- Ve nuevamente al proveedor de dominios y apunta los DNS nuevamente a Cloudflare.
Con estos pasos deberías general exitosamente tu certificado con el CDN.
¡Listo!, ya migraste tu WordPress exitosamente; creo que quedó un poco largo el post 😛
Cualquier duda que tengas o mejora a este post, déjalo en los comentarios. Saludos.
Fundador de VivaBlogger y cofundador de EVirtualplus. Soy un tecnomaniaco desde que estaba en pañales. Mi familia es el fundamento de mi vida. Sígueme en mis redes sociales.
Muy buen tutorial me ayudo bastante gracias!!!
Un placer ayudar.
Saludos.
¡Hola, muy buenas! He pasado por aquí a darte las gracias porque esta guía me ha resultado muy útil. Andaba buscando por todas partes esta información, pero con tu post me ha quedado claro enseguida 🙂 Es una maravilla encontrar artículos tan útiles y prácticos por ahí, sobre todo cuando andamos desesperados buscando la manera de hacer algo en concreto.
Así que, eso, ¡muchas gracias! Me guardo este blog para futuras consultas.