Cómo migrar WordPress de un servidor a otro
Migrar un sitio web de WordPress de un servidor a otro puede sonar a una tarea compleja, pero con las herramientas adecuadas y siguiendo un orden lógico, es un proceso bastante sencillo. En este tutorial, te guiaremos paso a paso para que puedas realizar un cambio de servidor sin perder datos, sin tiempos de inactividad prolongados y manteniendo todo tu contenido, plugins y configuraciones intactos.
Antes de empezar, es importante que sepas que existen dos formas principales de hacerlo: manualmente (copiando archivos y exportando la base de datos) o mediante plugins de migración. En esta guía nos centraremos en el método manual, ya que te da un control total sobre el proceso y no depende de herramientas de terceros. Además, es el método más fiable si tu nuevo servidor tiene recursos limitados o restricciones de plugins.
¿Qué necesitas para empezar?
Para realizar una migración exitosa, necesitarás tener a mano los siguientes datos y herramientas:
- Acceso al servidor antiguo: FTP, SFTP o panel de control (cPanel, Syspanel, Plesk, etc.).
- Acceso al nuevo servidor: Lo mismo, pero con la diferencia de que aquí ya debes tener instalado WordPress (aunque sea una instalación limpia).
- Datos de la base de datos: Nombre de la base de datos, usuario y contraseña del WordPress antiguo y del nuevo.
- Herramienta de conexión: Un cliente FTP como FileZilla, Cyberduck o el administrador de archivos del panel.
- Herramienta para gestionar bases de datos: phpMyAdmin (suele venir en la mayoría de paneles) o líneas de comando si eres más avanzado.
- Mucha paciencia y una copia de seguridad previa (por si algo sale mal).
[WARNING] Alerta importante: Antes de tocar nada, haz una copia de seguridad completa de tu sitio antiguo. Descarga todos los archivos y exporta la base de datos. Si algo falla, podrás restaurarlo fácilmente.
Paso 1: Exportar la base de datos del WordPress antiguo
La base de datos contiene toda tu información: entradas, páginas, comentarios, configuraciones de plugins y usuarios. Es la parte más delicada de la migración.
- Accede a phpMyAdmin en tu servidor antiguo. Normalmente está en
tudominio.com/phpmyadmino desde el panel de control (por ejemplo, en Syspanel, lo encuentras en la sección de Bases de Datos). - Selecciona la base de datos de tu WordPress (la que aparece en tu archivo
wp-config.php). - Haz clic en la pestaña Exportar.
- Elige el método Rápido y formato SQL.
- Haz clic en Continuar y descarga el archivo
.sqla tu ordenador. Guárdalo con un nombre claro, comobasededatos_antigua.sql.
[TIP] Si tu base de datos es muy grande (más de 50 MB), puede que phpMyAdmin tenga límites. En ese caso, usa la opción Personalizado y selecciona solo algunas tablas, o mejor aún, usa la línea de comandos con
mysqldump. Pero para sitios pequeños, el método rápido funciona perfecto.
Paso 2: Descargar todos los archivos del WordPress antiguo
Ahora vamos a copiar todos los archivos de tu sitio: el núcleo de WordPress, temas, plugins, subidas (imágenes, PDFs, etc.) y el archivo wp-config.php.
- Conéctate a tu servidor antiguo mediante FTP o desde el administrador de archivos de tu panel.
- Localiza la carpeta donde está instalado WordPress. Normalmente es
public_html,wwwohtdocs. - Selecciona TODOS los archivos y carpetas (puedes usar Ctrl+A o Cmd+A).
- Descárgalos a tu ordenador en una carpeta local. Dependiendo del tamaño, puede tardar varios minutos.
[INFO] No olvides incluir la carpeta
wp-content, que es donde están tus subidas y plugins. Esta carpeta suele ser la más pesada.
Paso 3: Preparar el nuevo servidor e instalar WordPress limpio
En tu nuevo servidor, necesitas tener un WordPress listo para recibir los datos. No instales nada adicional todavía.
- Crea una base de datos nueva en tu nuevo servidor (desde el panel de control, por ejemplo, en Syspanel vas a "Bases de Datos" y creas una nueva con usuario y contraseña).
- Anota el nombre de la base de datos, el usuario y la contraseña. Los necesitarás más adelante.
- Instala WordPress de forma limpia en tu nuevo servidor. Puedes hacerlo manualmente descargando la última versión desde wordpress.org y subiéndola por FTP, o usando el instalador automático de tu panel (Softaculous, Installatron, etc.).
- Durante la instalación, cuando te pida los datos de la base de datos, usa los que acabas de crear. No importa que luego los sobrescribamos, pero necesitas que WordPress genere las tablas iniciales.
[WARNING] No personalices nada aún. No instales temas ni plugins. Solo queremos que el WordPress esté "vivo" para poder sobreescribirlo.
Paso 4: Subir los archivos del sitio antiguo al nuevo servidor
Ahora viene la parte de copiar los archivos. Vamos a sustituir los archivos del WordPress limpio por los tuyos originales.
- Conéctate por FTP a tu nuevo servidor.
- Localiza la carpeta donde instalaste WordPress (normalmente
public_htmlowww). - Elimina todos los archivos y carpetas que haya dentro (excepto quizás
.htaccesssi lo ves, pero no te preocupes, lo regeneraremos). - Sube todos los archivos que descargaste del servidor antiguo a esta carpeta vacía. Asegúrate de que la estructura de carpetas se mantenga igual (es decir, que
wp-content,wp-admin, etc., estén en la raíz). - Espera a que termine la subida. Si tienes muchos archivos, puede llevar tiempo.
[TIP] Si tu nuevo servidor tiene un administrador de archivos (como en Syspanel), puedes comprimir todos los archivos en un ZIP, subir el ZIP y luego descomprimirlo directamente en el servidor. Esto es mucho más rápido que subir archivo por archivo.
Paso 5: Modificar el archivo wp-config.php
El archivo wp-config.php contiene la configuración de conexión a la base de datos. Como hemos cambiado de servidor, debemos actualizar estos datos.
- Abre el archivo
wp-config.phpque acabas de subir (está en la raíz de tu WordPress). - Busca las líneas que definen
DB_NAME,DB_USER,DB_PASSWORDyDB_HOST. - Cambia los valores por los de la base de datos que creaste en el nuevo servidor.
DB_NAME: el nombre de tu nueva base de datos.DB_USER: el usuario de la nueva base de datos.DB_PASSWORD: la contraseña de ese usuario.DB_HOST: normalmente eslocalhost, pero si tu nuevo servidor usa un host diferente (comomysql.tudominio.com), ponlo aquí.
- Guarda el archivo y vuelve a subirlo si lo editaste localmente.
[INFO] Si no recuerdas los datos de la base de datos antigua, no importa. Simplemente pon los nuevos. El objetivo es que WordPress se conecte a la base de datos nueva, que luego poblaremos con los datos antiguos.
Paso 6: Importar la base de datos antigua en el nuevo servidor
Ahora vamos a meter todos los datos (entradas, páginas, etc.) en la base de datos nueva.
- Accede a phpMyAdmin en tu nuevo servidor.
- Selecciona la base de datos que creaste (la que está vacía o con las tablas de la instalación limpia).
- Haz clic en la pestaña Importar.
- Haz clic en Seleccionar archivo y elige el archivo
.sqlque descargaste del servidor antiguo (basededatos_antigua.sql). - Haz clic en Continuar. Si todo va bien, verás un mensaje de éxito. Si hay errores, puede ser por límites de tamaño; en ese caso, divide el archivo SQL en partes más pequeñas o usa la línea de comandos.
[WARNING] Si tu base de datos antigua tenía el mismo prefijo de tablas (por ejemplo,
wp_) que la instalación limpia, se sobrescribirán las tablas vacías. Si tenías un prefijo diferente, se añadirán las nuevas tablas sin problema. Pero para evitar conflictos, es mejor que antes de importar, elimines las tablas de la instalación limpia (puedes seleccionarlas todas y elegir "Vaciar" o "Eliminar").
Paso 7: Actualizar las URLs en la base de datos (si cambiaste de dominio)
Si además de cambiar de servidor, también cambiaste de dominio (por ejemplo, de miviejo.com a minuevo.com), necesitas actualizar las URLs en la base de datos. Si el dominio es el mismo, puedes saltarte este paso.
-
En phpMyAdmin, selecciona tu base de datos.
-
Haz clic en la pestaña SQL.
-
Ejecuta la siguiente consulta SQL, reemplazando
miviejo.compor tu dominio antiguo yminuevo.compor el nuevo:UPDATE wp_options SET option_value = replace(option_value, 'http://miviejo.com', 'http://minuevo.com') WHERE option_name = 'siteurl' OR option_name = 'home'; UPDATE wp_posts SET guid = replace(guid, 'http://miviejo.com','http://minuevo.com'); UPDATE wp_posts SET post_content = replace(post_content, 'http://miviejo.com', 'http://minuevo.com'); UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://miviejo.com', 'http://minuevo.com');Si tu prefijo de tablas no es
wp_, cámbialo por el tuyo (por ejemplo,mi_prefijo_options). -
Haz clic en Continuar. Esto actualizará todas las referencias internas.
[INFO] Si tu sitio usa HTTPS, asegúrate de usar
https://en las URLs nuevas. También puedes usar un plugin como "Better Search Replace" para hacer esto más fácilmente, pero el método SQL es más directo.
Paso 8: Probar el sitio y solucionar problemas comunes
Una vez que hayas subido los archivos e importado la base de datos, es hora de probar.
- Abre tu navegador y escribe la URL de tu nuevo sitio (o la IP temporal si aún no has apuntado el dominio).
- Si ves la página principal correctamente, ¡enhorabuena! La migración ha sido un éxito.
- Navega por algunas páginas, entradas y comprueba que los enlaces funcionan.
- Revisa que las imágenes se cargan (puede que necesites regenerar los tamaños de las imágenes con un plugin como Regenerate Thumbnails).
- Prueba el panel de administración (
/wp-admin). Inicia sesión con tus credenciales antiguas.
Si encuentras errores, aquí tienes soluciones rápidas:
- Error 500 (Internal Server Error): Revisa el archivo
.htaccess. Puedes regenerarlo yendo a Ajustes > Enlaces permanentes en el panel y guardando de nuevo (sin cambiar nada). Si no puedes acceder al panel, renombra el.htaccessa.htaccess_oldy vuelve a intentar. - Página en blanco: Activa el modo debug en
wp-config.phpañadiendodefine('WP_DEBUG', true);ydefine('WP_DEBUG_LOG', true);. Luego revisa el archivowp-content/debug.logpara ver el error. - Base de datos no conecta: Revisa que los datos en
wp-config.phpsean correctos (nombre, usuario, contraseña, host). - Enlaces rotos: Si cambiaste de dominio, asegúrate de haber ejecutado las consultas SQL del paso 7 correctamente.
Paso 9: Actualizar los DNS y finalizar el cambio de servidor
Si tu nuevo servidor tiene una IP diferente a la del antiguo, necesitas apuntar tu dominio a la nueva IP.
- Ve al panel de control de tu dominio (donde compraste el dominio).
- Localiza la sección de DNS o Gestión de dominios.
- Cambia los registros A (o CNAME si usas subdominio) para que apunten a la IP de tu nuevo servidor.
- Guarda los cambios. La propagación de DNS puede tardar desde unos minutos hasta 48 horas, aunque normalmente es cuestión de horas.
[WARNING] No elimines el sitio antiguo hasta que la propagación de DNS haya terminado y veas que todo funciona correctamente desde el nuevo servidor. Así, si hay algún problema, puedes volver atrás rápidamente.
Preguntas frecuentes (FAQ) sobre migración de WordPress
¿Puedo migrar WordPress sin plugins?
Sí, este tutorial es el método manual. Es más fiable y no depende de límites de plugins o versiones.
¿Qué hago si mi base de datos es muy grande?
Usa la línea de comandos con mysqldump para exportar y mysql para importar. También puedes comprimir el archivo SQL en .gz para que sea más manejable.
¿Pierdo los ajustes de SEO al migrar?
No, si exportas la base de datos correctamente, todos los ajustes de plugins de SEO (como Yoast o Rank Math) se conservan. Solo asegúrate de actualizar las URLs si cambiaste de dominio.
¿El cambio de servidor afecta a mi correo electrónico?
No, el correo electrónico suele gestionarse aparte (con registros MX). Si tu correo está en el mismo servidor, asegúrate de configurarlo también en el nuevo.
¿Puedo migrar WordPress usando Syspanel (HestiaCP)?
Sí, Syspanel (accesible por el puerto 2106) tiene herramientas integradas como el administrador de archivos y phpMyAdmin que facilitan mucho el proceso. Puedes seguir los mismos pasos, solo que en lugar de FTP, usas el administrador de archivos del panel para subir y descargar.
¿Qué hago si el sitio se ve mal después de migrar?
Normalmente es por rutas absolutas en la base de datos o por caché. Limpia la caché del navegador y del plugin de caché que uses. Si el problema persiste, revisa las URLs en la base de datos con el plugin "Better Search Replace".
¿Es necesario desactivar los plugins antes de migrar?
No es obligatorio, pero es recomendable desactivar los plugins de caché y seguridad antes de exportar la base de datos, para evitar conflictos. Luego los reactivas en el nuevo servidor.
¿Cuánto tiempo tarda una migración manual?
Depende del tamaño de los archivos y de la velocidad de tu conexión. Para un sitio pequeño (menos de 1 GB), puede llevar entre 30 minutos y 1 hora. Para sitios grandes, puede ser varias horas.
¿Puedo migrar solo el contenido (entradas y páginas) sin los plugins?
Sí, exportando solo las tablas wp_posts, wp_postmeta y wp_terms (y relacionadas). Pero es más complejo y no recomendado para principiantes. Mejor migra todo y luego desactiva los plugins que no necesites.
¿Qué hago si después de migrar no puedo acceder al panel de administración?
Prueba a limpiar la caché del navegador o usa una ventana de incógnito. Si el problema persiste, revisa el archivo wp-config.php para asegurarte de que WP_HOME y WP_SITEURL no estén definidos con URLs antiguas. Si lo están, coméntalos o cámbialos.
Con esta guía, ya tienes todo lo necesario para realizar un cambio de servidor de WordPress con éxito. Recuerda siempre hacer copias de seguridad y seguir el orden: primero exportar, luego subir archivos, luego importar base de datos y finalmente actualizar configuraciones. ¡Buena suerte con tu migración!
