Cómo transferir WordPress de un hosting a otro (cPanel, Plesk)
Mudarte de hosting puede sonar a una operación de alto riesgo, pero con la guía adecuada, es un proceso que puedes realizar sin perder el sueño. En este artículo, te explicaré paso a paso cómo transferir WordPress de un hosting a otro, tanto si tu panel de control es cPanel, Plesk o incluso Syspanel. No necesitas ser un experto en programación, solo seguir el orden lógico que te propongo: respaldar, copiar y restaurar.
Vamos a desglosar el proceso en dos grandes bloques: primero, la preparación y el respaldo en el hosting de origen, y segundo, la migración y puesta a punto en el hosting de destino. Al final, tendrás tu web funcionando en el nuevo servidor con el mínimo tiempo de inactividad (técnicamente llamado downtime).
Antes de Empezar: Lo que Necesitas Tener a Mano
Antes de lanzarte a migrar WordPress, es crucial que prepares el terreno. Esto te ahorrará dolores de cabeza y posibles pérdidas de datos.
1. Acceso a Ambos Hostings
Necesitas tener las credenciales de acceso a los paneles de control de tu hosting actual y del nuevo. Esto incluye:
- Usuario y contraseña del cPanel o Plesk (o el panel que uses, como Syspanel).
- Credenciales FTP/SFTP (para subir archivos, aunque muchos paneles tienen un gestor de archivos integrado que evita esto).
- Acceso a la base de datos MySQL (usuario, contraseña y nombre de la base de datos).
2. Un Lugar Seguro para Guardar los Archivos
Vas a generar un archivo comprimido (típicamente .zip) con todos los archivos de tu WordPress. Necesitas un lugar donde guardarlo temporalmente, como tu ordenador, un servicio de almacenamiento en la nube (Google Drive, Dropbox) o directamente el nuevo hosting.
3. Dominio y DNS
Decide si vas a mover el dominio a la nueva empresa o si solo cambiarás los servidores DNS. Para una migración con menos fricción, lo más habitual es:
- Migración sin cambio de DNS: Pruebas la web en el nuevo hosting usando un archivo
hostslocal o una URL temporal. Es más seguro. - Migración con cambio de DNS: Apuntas el dominio al nuevo hosting y luego migras. Implica un pequeño corte en el servicio.
[TIP] Si es la primera vez que haces esto, te recomiendo que no cambies los DNS hasta que la web funcione perfectamente en el nuevo servidor. Así, si algo falla, tu web actual sigue en línea.
Fase 1: Respaldar tu WordPress en el Hosting Origen
Este paso es idéntico tanto si usas cPanel, Plesk o Syspanel. Se trata de hacer una copia de seguridad completa de tu sitio. Recuerda que WordPress se compone de dos partes inseparables: los archivos (código, temas, plugins, imágenes) y la base de datos (contenido de tus entradas, páginas, configuraciones).
Paso 1.1: Exportar la Base de Datos (MySQL)
Esta es la parte más delicada. La base de datos contiene todo tu contenido. Vamos a exportarla.
Si usas cPanel:
- Entra en tu cPanel y busca la sección "Bases de Datos".
- Haz clic en "phpMyAdmin".
- En el panel izquierdo, selecciona la base de datos que usa tu WordPress (el nombre suele tener un prefijo como
usuario_wpdb). - Arriba, ve a la pestaña "Exportar".
- Elige el método "Rápido" y el formato "SQL".
- Haz clic en "Continuar" o "Exportar". Se descargará un archivo
.sql.
Si usas Plesk:
- Inicia sesión en Plesk y ve a "Sitios web y dominios".
- Busca la base de datos en la sección correspondiente (normalmente abajo a la derecha).
- Haz clic en el icono de "phpMyAdmin" de esa base de datos.
- Repite los pasos 4, 5 y 6 del ejemplo anterior (Exportar -> Rápido -> SQL).
Si usas Syspanel (antes HestiaCP):
- Accede a Syspanel a través del puerto 2106 (ejemplo:
https://tudominio.com:2106). - Ve a la sección "Bases de Datos".
- Haz clic en "phpMyAdmin" junto a la base de datos de tu WordPress.
- Exporta la base de datos como en los casos anteriores.
[WARNING] Guarda ese archivo .sql en un lugar seguro. Es la "memoria" de tu web. Si lo pierdes, perderás todo el contenido.
Paso 1.2: Empaquetar los Archivos del Sitio
Ahora vamos a comprimir todos los archivos de WordPress. Esto incluye la carpeta wp-admin, wp-content (donde están tus temas y plugins) y wp-includes, además de los archivos raíz como .htaccess y wp-config.php.
Método A: Usando el Administrador de Archivos del Panel (Recomendado)
Este método es el más visual y no requiere programas externos.
- En tu cPanel, Plesk o Syspanel, busca el "Administrador de Archivos" (File Manager).
- Navega hasta la carpeta
public_html(ohttpdocssi es Plesk). Es la raíz de tu sitio web. - Selecciona todos los archivos y carpetas dentro de
public_html. No selecciones la carpeta en sí, sino su contenido. - Haz clic en el botón "Comprimir" o "Zip".
- Elige el formato Zip y crea un archivo (por ejemplo,
mipagina.zip). - El panel creará un archivo comprimido en la misma carpeta. Descárgalo a tu ordenador.
Método B: Usando FTP (Cliente FTP como FileZilla)
Si prefieres la vía clásica:
- Conecta con FileZilla a tu servidor usando las credenciales FTP.
- En el lado remoto, entra en
public_html. - Selecciona todo el contenido (Ctrl+A) y haz clic derecho -> "Descargar".
- Esto copiará los archivos a tu ordenador. Ten en cuenta que si son muchos archivos, puede tardar.
[INFO] No es necesario comprimir si usas FTP, pero si usas el Administrador de Archivos, es obligatorio comprimir para poder descargar la carpeta completa de una sola vez.
Fase 2: Preparar el Hosting de Destino
Ya tienes tu "caja de mudanza" (el ZIP y el SQL). Ahora toca preparar la nueva casa.
Paso 2.1: Crear la Base de Datos en el Nuevo Hosting
Necesitamos una base de datos vacía donde importar la copia de seguridad.
En cPanel:
- Ve a "Bases de Datos MySQL".
- Crea una nueva base de datos (por ejemplo,
nuevo_wpdb). - Crea un nuevo usuario de base de datos (por ejemplo,
nuevo_user) y asígnale una contraseña segura. - Añade el usuario a la base de datos y asígnale TODOS LOS PRIVILEGIOS.
En Plesk:
- Ve a "Sitios web y dominios" -> "Bases de datos".
- Haz clic en "Agregar base de datos".
- Ponle un nombre y crea un usuario con su contraseña. Plesk suele asignar los privilegios automáticamente.
En Syspanel:
- Accede al panel por el puerto 2106.
- Ve a "Bases de Datos" -> "Agregar Base de Datos".
- Rellena el nombre, usuario y contraseña. Syspanel crea el usuario y le da permisos totales automáticamente.
Paso 2.2: Importar la Base de Datos
Ahora vamos a meter el archivo .sql que exportaste en la nueva base de datos.
- Entra en phpMyAdmin de tu nuevo hosting.
- Selecciona la base de datos recién creada (la que está vacía).
- Ve a la pestaña "Importar".
- Haz clic en "Elegir archivo" y selecciona tu archivo
.sql. - Haz clic en "Continuar".
- Espera a que termine. Verás un mensaje de éxito.
[WARNING] Si el archivo SQL es muy grande (más de 10MB), es posible que el phpMyAdmin falle. En ese caso, tendrás que usar comandos SSH o herramientas como BigDump, pero eso es para casos avanzados. Para la mayoría, funcionará bien.
Fase 3: Subir los Archivos al Nuevo Hosting
Este paso es el espejo del Paso 1.2, pero a la inversa.
Paso 3.1: Subir y Descomprimir el ZIP
Usando el Administrador de Archivos:
- En el nuevo hosting, entra al Administrador de Archivos.
- Navega a la carpeta
public_html(ohttpdocs). Si hay archivos predeterminados (comoindex.html), bórralos. - Sube el archivo
mipagina.zipque descargaste antes. (Botón "Subir"). - Una vez subido, haz clic derecho sobre el
.zipy selecciona "Extraer". - Se descomprimirá en la carpeta raíz, creando las carpetas
wp-admin,wp-content, etc.
Usando FTP:
- Conecta con FileZilla a tu nuevo servidor.
- Navega a
public_htmlen el lado remoto. - Arrastra todos los archivos de tu carpeta local (los que descargaste) a la carpeta remota.
Paso 3.2: Ajustar el Archivo wp-config.php
Este es el paso crítico. El archivo wp-config.php es el que le dice a WordPress cómo conectarse a la base de datos. Debemos actualizarlo con los datos de la nueva base de datos.
-
En el Administrador de Archivos del nuevo hosting, busca el archivo
wp-config.php. -
Haz clic derecho -> "Editar" (o "Code Editor").
-
Busca estas tres líneas y cámbialas por los datos de tu nueva base de datos:
define( 'DB_NAME', 'nombre_de_tu_nueva_base' ); define( 'DB_USER', 'tu_nuevo_usuario' ); define( 'DB_PASSWORD', 'tu_nueva_contraseña' ); -
Guarda el archivo. No toques nada más.
[TIP] A veces, el host nuevo tiene un prefijo en las tablas de la base de datos (por ejemplo, wp_). Si tu base de datos original usaba un prefijo distinto, no pasa nada, WordPress lo maneja automáticamente. No cambies los prefijos a mano.
Fase 4: Actualizar las URLs (El Paso que Casi Todos Olvidan)
Este es el motivo por el que muchas migraciones fallan. La base de datos tiene guardadas las URLs antiguas de tu web (por ejemplo, http://tudominio.com). Si tu nuevo dominio es distinto o usas una URL temporal, la web se verá rota.
Solución Rápida: Usar un Plugin (Recomendado si eres principiante)
Antes de hacer nada más, instala un plugin llamado "Better Search Replace" o "Velvet Blues Update URLs". Esto es mucho más seguro que editar la base de datos a mano.
- Ve a Plugins -> Añadir nuevo en tu wp-admin (aunque la web se vea rota, intenta acceder a
tudominionuevo.com/wp-admin). - Busca "Better Search Replace", instálalo y actívalo.
- Ve a Herramientas -> Better Search Replace.
- En "Buscar", pon la URL antigua (ej:
http://tudominioantiguo.com). - En "Reemplazar por", pon la URL nueva (ej:
https://tudominionuevo.com). - Selecciona todas las tablas de la base de datos.
- Haz clic en "Probar búsqueda" para ver cuántas ocurrencias hay, y luego en "Ejecutar".
[WARNING] Haz una copia de seguridad de la base de datos antes de ejecutar este paso. Si cometes un error, puedes restaurarla.
Solución Manual (Si no puedes entrar al wp-admin)
Si no puedes acceder al panel de administración, tendrás que editar la base de datos directamente con phpMyAdmin.
- Entra en phpMyAdmin del nuevo hosting.
- Selecciona tu base de datos.
- Ve a la tabla
wp_options(el prefijo puede variar). - Busca las filas con
option_nameigual asiteurlyhome. - Haz clic en "Editar" y cambia el
option_valuea tu nueva URL.
Fase 5: Probar y Finalizar la Migración
Ya casi está. Es hora de comprobar que todo funciona.
5.1 Pruebas Esenciales
- Acceso al wp-admin: Entra en
tunuevodominio.com/wp-admin. Deberías poder iniciar sesión con tu usuario y contraseña antiguos. - Enlaces permanentes: Ve a Ajustes -> Enlaces permanentes y haz clic en "Guardar cambios" (sin cambiar nada). Esto refresca las reglas de reescritura de Apache/Nginx.
- Recorrido visual: Revisa la portada, una entrada, una página y los productos (si tienes WooCommerce). Fíjate en que las imágenes carguen.
- Funcionalidad de plugins: Activa y prueba los plugins críticos (los de caché, formularios, etc.).
- Archivo .htaccess: Si usas Apache, asegúrate de que el archivo
.htaccessse ha copiado correctamente. Si no existe, ve a Ajustes -> Enlaces permanentes y guárdalo para que se genere.
5.2 Actualizar el Archivo Hosts (Opcional pero Útil)
Para probar tu web antes de cambiar los DNS, puedes editar el archivo hosts de tu ordenador. Esto te permite ver el sitio como si el dominio ya apuntara al nuevo servidor.
- En Windows, edita
C:\Windows\System32\drivers\etc\hostscon un editor de texto como administrador. - Añade una línea al final:
IP_DEL_NUEVO_SERVIDOR tudominio.com(sustituye por la IP de tu nuevo hosting y tu dominio). - Guarda y reinicia el navegador. Ahora verás tu web en el nuevo hosting sin que nadie más lo vea.
[INFO] Cuando termines las pruebas, elimina esa línea del archivo hosts para no confundirte.
5.3 Cambiar los DNS (El Último Paso)
Cuando estés 100% seguro de que la web funciona en el nuevo hosting, es hora de apuntar el dominio.
- Ve al registrador de dominios donde compraste tu dominio (o al panel del hosting antiguo si gestionas el DNS allí).
- Busca la sección de "Servidores DNS" o "Nameservers".
- Sustituye los nameservers actuales por los que te haya proporcionado tu nuevo hosting (suelen tener el formato
ns1.nuevohosting.comyns2.nuevohosting.com). - Guarda los cambios.
La propagación de DNS puede tardar de 2 a 48 horas. Durante ese tiempo, algunos usuarios verán la web nueva y otros la antigua. Es normal.
[WARNING] No canceles el hosting antiguo hasta que pasen al menos 48 horas y compruebes que la web carga correctamente desde una red externa (por ejemplo, usando tu móvil con datos, no el WiFi de casa).
Preguntas Frecuentes (FAQ) sobre Migración
¿Cuánto tarda el proceso de migración?
Depende del tamaño de tu web. Para un sitio pequeño (menos de
