🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo migrar WordPress de un servidor a otro

Actualizado el 4 de septiembre de 2025

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.

  1. Accede a phpMyAdmin en tu servidor antiguo. Normalmente está en tudominio.com/phpmyadmin o desde el panel de control (por ejemplo, en Syspanel, lo encuentras en la sección de Bases de Datos).
  2. Selecciona la base de datos de tu WordPress (la que aparece en tu archivo wp-config.php).
  3. Haz clic en la pestaña Exportar.
  4. Elige el método Rápido y formato SQL.
  5. Haz clic en Continuar y descarga el archivo .sql a tu ordenador. Guárdalo con un nombre claro, como basededatos_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.

  1. Conéctate a tu servidor antiguo mediante FTP o desde el administrador de archivos de tu panel.
  2. Localiza la carpeta donde está instalado WordPress. Normalmente es public_html, www o htdocs.
  3. Selecciona TODOS los archivos y carpetas (puedes usar Ctrl+A o Cmd+A).
  4. 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.

  1. 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).
  2. Anota el nombre de la base de datos, el usuario y la contraseña. Los necesitarás más adelante.
  3. 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.).
  4. 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.

  1. Conéctate por FTP a tu nuevo servidor.
  2. Localiza la carpeta donde instalaste WordPress (normalmente public_html o www).
  3. Elimina todos los archivos y carpetas que haya dentro (excepto quizás .htaccess si lo ves, pero no te preocupes, lo regeneraremos).
  4. 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).
  5. 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.

  1. Abre el archivo wp-config.php que acabas de subir (está en la raíz de tu WordPress).
  2. Busca las líneas que definen DB_NAME, DB_USER, DB_PASSWORD y DB_HOST.
  3. 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 es localhost, pero si tu nuevo servidor usa un host diferente (como mysql.tudominio.com), ponlo aquí.
  4. 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.

  1. Accede a phpMyAdmin en tu nuevo servidor.
  2. Selecciona la base de datos que creaste (la que está vacía o con las tablas de la instalación limpia).
  3. Haz clic en la pestaña Importar.
  4. Haz clic en Seleccionar archivo y elige el archivo .sql que descargaste del servidor antiguo (basededatos_antigua.sql).
  5. 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.

  1. En phpMyAdmin, selecciona tu base de datos.

  2. Haz clic en la pestaña SQL.

  3. Ejecuta la siguiente consulta SQL, reemplazando miviejo.com por tu dominio antiguo y minuevo.com por 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).

  4. 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.

  1. Abre tu navegador y escribe la URL de tu nuevo sitio (o la IP temporal si aún no has apuntado el dominio).
  2. Si ves la página principal correctamente, ¡enhorabuena! La migración ha sido un éxito.
  3. Navega por algunas páginas, entradas y comprueba que los enlaces funcionan.
  4. Revisa que las imágenes se cargan (puede que necesites regenerar los tamaños de las imágenes con un plugin como Regenerate Thumbnails).
  5. 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 .htaccess a .htaccess_old y vuelve a intentar.
  • Página en blanco: Activa el modo debug en wp-config.php añadiendo define('WP_DEBUG', true); y define('WP_DEBUG_LOG', true);. Luego revisa el archivo wp-content/debug.log para ver el error.
  • Base de datos no conecta: Revisa que los datos en wp-config.php sean 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.

  1. Ve al panel de control de tu dominio (donde compraste el dominio).
  2. Localiza la sección de DNS o Gestión de dominios.
  3. Cambia los registros A (o CNAME si usas subdominio) para que apunten a la IP de tu nuevo servidor.
  4. 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!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel