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

Cómo mover WordPress de un hosting a otro (cPanel a cPanel) sin plugins

Actualizado el 19 de diciembre de 2025

Antes de empezar: ¿Por qué migrar WordPress sin plugins?

Mover WordPress de un hosting a otro puede sonar a algo reservado para programadores, pero la realidad es que, con un poco de paciencia y siguiendo los pasos correctos, cualquier persona puede hacerlo. Usar plugins de migración es cómodo, pero a veces fallan por límites de memoria, incompatibilidades de PHP o simplemente porque el hosting de destino tiene restricciones de ejecución. Además, aprender a migrar WordPress cPanel de forma manual te da un control total sobre cada archivo y te ayuda a entender cómo funciona tu web por dentro.

Este artículo está pensado para que cambies de hosting WordPress sin plugins, usando únicamente las herramientas que ya incluye cPanel: el administrador de archivos, el gestor de bases de datos (phpMyAdmin) y el editor de archivos. Vamos a dividir el proceso en fases muy claras: exportar, crear el destino, subir, importar y ajustar. Si sigues cada paso al pie de la letra, tendrás tu web funcionando en el nuevo servidor en menos de una hora.

[INFO] Este tutorial asume que tienes acceso a cPanel tanto en el hosting de origen como en el de destino. Si tu hosting usa "Syspanel" (el panel que sustituye a cPanel en algunos servidores), el proceso es casi idéntico, pero recuerda que el puerto de acceso por defecto es el 2106 en lugar del 433.

Fase 1: Preparar el hosting de origen

Antes de tocar nada, necesitas tener una copia limpia y completa de tu sitio. Esto incluye tanto los archivos de WordPress como la base de datos. Vamos a hacerlo por partes.

1.1 Haz una copia de seguridad completa de los archivos

Entra en el cPanel de tu hosting actual. Busca la sección Archivos y haz clic en Administrador de archivos. Una vez dentro, navega hasta la carpeta public_html (o el nombre que tenga tu carpeta raíz, a veces se llama htdocs o www).

Selecciona todos los archivos y carpetas que hay dentro de public_html. Puedes usar la casilla de selección superior para marcar todo. Con los archivos seleccionados, pulsa el botón Comprimir en la barra superior. Elige el formato Zip y dale un nombre claro, por ejemplo mipagina_backup.zip. Esto creará un archivo comprimido con todo tu WordPress.

[TIP] Si tu web es muy grande (más de 500 MB), es mejor comprimir en varias partes o usar el administrador de archivos con calma, ya que la compresión puede tardar unos minutos. No cierres la pestaña mientras se comprime.

1.2 Exporta la base de datos

La base de datos es el cerebro de WordPress: contiene tus entradas, páginas, usuarios, opciones y configuraciones. Sin ella, los archivos no sirven de nada.

En cPanel, busca la sección Bases de datos y haz clic en phpMyAdmin. Se abrirá una página con un listado de tus bases de datos a la izquierda. Haz clic en el nombre de la base de datos que usa tu WordPress (normalmente empieza con el prefijo de tu usuario, por ejemplo usuario_wp).

Una vez dentro, verás una lista de tablas (posts, options, users, etc.). Ve a la pestaña Exportar en la parte superior. Deja el método rápido seleccionado y haz clic en Continuar. Esto descargará un archivo .sql con todo el contenido de la base de datos. Guárdalo en un lugar seguro, junto al archivo zip de los archivos.

[WARNING] No uses la opción de exportación rápida si tu base de datos es muy grande. Mejor usa la opción Personalizado y desmarca la casilla "Agregar DROP TABLE / VIEW / PROCEDURE / FUNCTION". Esto evita errores al importar en el destino.

Fase 2: Preparar el hosting de destino

Ahora toca trabajar en el nuevo hosting. Aquí necesitas tener creada una cuenta de hosting con cPanel y un dominio (o un dominio temporal) apuntando a ese servidor.

2.1 Crea la base de datos en el destino

En el cPanel del hosting nuevo, busca la sección Bases de datos MySQL. Vas a crear una base de datos nueva, un usuario para esa base y asignar todos los privilegios al usuario.

  1. En Crear nueva base de datos, escribe un nombre (por ejemplo nuevo_wp) y haz clic en Crear base de datos.
  2. Baja hasta Crear nuevo usuario y elige un nombre de usuario y una contraseña segura. Anota estos datos, los necesitarás más adelante.
  3. Ahora ve a Añadir usuario a la base de datos. Selecciona el usuario que acabas de crear, selecciona la base de datos que creaste y haz clic en Añadir.
  4. En la siguiente pantalla, marca la casilla Todos los privilegios (o TODOS) y haz clic en Añadir.

[INFO] Es importante que anotes el nombre completo de la base de datos y el usuario. En cPanel, suelen llevar el prefijo del usuario de hosting, por ejemplo usuario_nuevo_wp. No lo olvides, lo necesitarás para editar el archivo wp-config.php.

2.2 Sube los archivos comprimidos

Vuelve al Administrador de archivos del cPanel de destino. Entra en public_html. Si hay algún archivo o carpeta dentro (a veces hay un archivo index.html por defecto), selecciónalo y bórralo.

Ahora, sube el archivo mipagina_backup.zip que descargaste del origen. Puedes usar el botón Cargar de la barra superior. Una vez subido, verás el archivo en el listado. Haz clic derecho sobre él y selecciona Extraer. Elige la carpeta actual (public_html) y haz clic en Extraer archivos.

Una vez extraído, verás todas tus carpetas y archivos de WordPress. Ya puedes borrar el archivo mipagina_backup.zip para mantener todo limpio.

[WARNING] Si la extracción da error, puede que el archivo zip esté corrupto o que el hosting tenga límite de memoria. En ese caso, prueba a extraer en el hosting de origen y luego subir los archivos por FTP (FileZilla) en lugar de comprimidos. Es más lento, pero más seguro.

Fase 3: Configurar la conexión a la base de datos

Ahora viene el paso más delicado: decirle a WordPress que use la nueva base de datos. Esto se hace editando el archivo wp-config.php.

3.1 Edita el archivo wp-config.php

En el Administrador de archivos del destino, busca el archivo wp-config.php dentro de public_html. Haz clic derecho sobre él y selecciona Editar (o Code Editor). Verás un texto con varias líneas que empiezan por define('DB_NAME'..., define('DB_USER'..., etc.

Debes cambiar los siguientes valores:

  • DB_NAME: pon el nombre de la base de datos que creaste en el destino.
  • DB_USER: pon el nombre de usuario de la base de datos que creaste.
  • DB_PASSWORD: pon la contraseña que elegiste para ese usuario.
  • DB_HOST: normalmente es localhost, pero en algunos hostings puede ser una dirección como localhost:3306 o un nombre de servidor. Si tu hosting de origen usaba algo distinto a localhost, copia ese valor. Si no estás seguro, deja localhost.

Guarda los cambios y cierra el editor.

[TIP] Si no encuentras el archivo wp-config.php, puede que esté en una carpeta superior a public_html (por ejemplo, en el directorio raíz de tu cuenta). En ese caso, no lo muevas, solo edítalo en su ubicación.

3.2 Reemplaza las URLs antiguas por las nuevas

WordPress guarda las URLs de tu sitio en la base de datos. Si cambias de dominio o de subdominio, necesitas actualizar estas referencias. Esto se hace después de importar la base de datos, pero es mejor prepararlo mentalmente ahora.

Puedes hacerlo de dos formas:

  1. Desde phpMyAdmin: después de importar la base de datos, ejecutas una consulta SQL para reemplazar las URLs.
  2. Con un archivo de configuración: añadiendo dos líneas al wp-config.php para forzar las URLs temporalmente.

Vamos a usar el método más sencillo para principiantes: añadir las líneas al wp-config.php antes de importar la base de datos.

En el mismo archivo wp-config.php, justo antes de la línea que dice /* ¡Eso es todo, deja de editar! ¡Feliz blogging! */, añade estas dos líneas:

define('WP_HOME', 'http://tudominio.com');
define('WP_SITEURL', 'http://tudominio.com');

Reemplaza http://tudominio.com por la URL real de tu nuevo sitio (con https:// si tienes SSL). Guarda el archivo.

[WARNING] Estas líneas son temporales. Una vez que hayas completado la migración y confirmado que todo funciona, es recomendable quitarlas para evitar problemas futuros si cambias de dominio.

Fase 4: Importar la base de datos

Ahora toca importar el archivo .sql que exportaste del hosting antiguo.

4.1 Importa el archivo SQL

En el cPanel de destino, ve a phpMyAdmin. En el panel izquierdo, haz clic en el nombre de la base de datos que creaste (la que pusiste en DB_NAME). Ahora ve a la pestaña Importar en la parte superior.

Haz clic en Examinar (o Seleccionar archivo) y busca el archivo .sql que descargaste del hosting antiguo. Deja todas las opciones por defecto y haz clic en Continuar (o Importar).

Espera a que termine. Si la base de datos es grande, puede tardar un par de minutos. Verás un mensaje de éxito al final.

[INFO] Si el archivo es demasiado grande para la opción de importación de phpMyAdmin (a veces el límite es 2 MB), tendrás que usar la opción de importación de cPanel llamada Backup o Restaurar. En cPanel, busca la sección ArchivosRestaurar una copia de seguridad de la cuenta y sube el archivo SQL desde ahí. También puedes usar la herramienta MySQLImportar.

4.2 Actualiza las URLs en la base de datos (si no usaste el truco del wp-config)

Si no añadiste las líneas al wp-config.php, tendrás que actualizar las URLs manualmente. En phpMyAdmin, con tu base de datos seleccionada, haz clic en la pestaña SQL. Escribe la siguiente consulta y haz clic en Continuar:

UPDATE wp_options SET option_value = REPLACE(option_value, 'http://www.oldurl.com', 'http://www.newurl.com') WHERE option_name IN ('siteurl', 'home');

Reemplaza http://www.oldurl.com por tu antigua URL y http://www.newurl.com por la nueva. Esto cambia las dos opciones principales de WordPress.

También necesitas actualizar las URLs dentro de los contenidos (entradas, páginas, etc.). Ejecuta estas consultas:

UPDATE wp_posts SET guid = REPLACE(guid, 'http://www.oldurl.com', 'http://www.newurl.com');
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://www.oldurl.com', 'http://www.newurl.com');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://www.oldurl.com', 'http://www.newurl.com');

[TIP] Si tu tabla no se llama wp_ (por ejemplo, si usas un prefijo personalizado), cambia wp_ por tu prefijo real. Puedes verlo en el listado de tablas de tu base de datos.

Fase 5: Ajustes finales y verificación

Ya casi estás. Ahora hay que asegurarse de que todo funciona correctamente.

5.1 Configura el archivo .htaccess

WordPress usa un archivo .htaccess para las reglas de reescritura de URLs y el rendimiento. Cuando migras, a veces este archivo no se copia correctamente o se corrompe.

En el Administrador de archivos, activa la opción Mostrar archivos ocultos (suele estar en la esquina superior derecha). Busca el archivo .htaccess en public_html. Si existe, ábrelo con el editor y verifica que contiene las reglas básicas de WordPress. Si no existe, créalo con el siguiente contenido:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Guarda los cambios.

[WARNING] Si tu web usa SSL (https), es posible que necesites añadir reglas de redirección forzada a HTTPS en el .htaccess. Puedes agregar estas líneas antes de # BEGIN WordPress:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

5.2 Verifica tu web

Abre tu navegador y escribe la URL de tu nuevo sitio. Deberías ver tu web funcionando. Si aparece un error de conexión a la base de datos, revisa los datos del wp-config.php. Si aparece un error 500, revisa el .htaccess.

Entra en el panel de administración (/wp-admin) y asegúrate de que todo funcione: entradas, páginas, imágenes, plugins, etc.

[TIP] Si algo no se ve bien (imágenes rotas, enlaces que no funcionan), es casi seguro que las URLs no se han actualizado correctamente en la base de datos. Repite el proceso de actualización de URLs en phpMyAdmin.

5.3 Actualiza los DNS

Si tu nuevo hosting tiene un dominio temporal (por ejemplo, algo como usuario.hostingprovisional.com), la web ya debería funcionar con esa URL. Si usas tu dominio real, necesitas apuntar los DNS del dominio al nuevo hosting.

Esto se hace desde el panel de tu registrador de dominios (donde compraste el dominio). Cambia los servidores DNS (nameservers) a los que te indique tu nuevo hosting. Los cambios DNS pueden tardar entre 24 y 72 horas en propagarse, pero normalmente es mucho más rápido.

[INFO] Si durante la propagación DNS visitas tu web, es posible que veas tanto el sitio antiguo como el nuevo dependiendo de tu ubicación. No te preocupes, es normal.

Fase 6: Limpieza y consejos finales

Una vez que todo funcione, es hora de hacer una limpieza y asegurarse de que no quedan restos del hosting antiguo.

6.1 Quita las líneas temporales del wp-config.php

Si añadiste las líneas WP_HOME y WP_SITEURL, ahora es el momento de quitarlas. Edita wp-config.php y elimina esas dos líneas. Guarda el archivo y verifica que tu web sigue funcionando.

[WARNING] Si las dejas puestas, podrías tener problemas si en el futuro quieres cambiar la URL del sitio o usar un dominio diferente.

6.2 Desactiva el modo de mantenimiento

A veces, durante la migración, WordPress activa un modo de mantenimiento (crea un archivo .maintenance). Si ves el mensaje "Mantenimiento programado", entra al administrador de archivos y borra el archivo .maintenance de public_html.

6.3 Verifica los permisos de archivos y carpetas

Los permisos correctos para archivos son 644 y para carpetas 755. Si tienes problemas de acceso o de escritura, puedes ajustar los permisos desde el administrador de archivos seleccionando todos los archivos y haciendo clic en Permisos.

6.4 No borres nada del hosting antiguo todavía

Espera al menos una semana después de la migración antes de cancelar el hosting antiguo. Así te aseguras de que no necesitas recuperar ningún archivo o dato.

[TIP] Si tienes correos electrónicos en el hosting antiguo (por ejemplo, tucorreo@tudominio.com), acuérdate de

¿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