Cómo migrar tu WordPress de un hosting a otro usando cPanel
Cambiar de proveedor de hosting puede parecer una tarea titánica, especialmente si llevas años acumulando contenido, plugins y configuraciones en tu sitio web. Sin embargo, con la herramienta adecuada y una metodología clara, el proceso es mucho más sencillo de lo que imaginas. En esta guía extensa y detallada, te explicaré paso a paso cómo realizar una migración cPanel de forma segura y sin perder datos. Vamos a desmitificar el proceso de migrar WordPress cPanel para que puedas hacerlo tú mismo, sin depender de terceros y con total confianza.
¿Qué necesitas antes de empezar a cambiar hosting WordPress?
Antes de lanzarnos a la acción, es fundamental que prepares el terreno. Cambiar hosting WordPress no es solo copiar y pegar archivos; implica mover una base de datos, configuraciones de servidor y ajustar las DNS. Para ello, necesitarás tener a mano lo siguiente:
- Acceso a tu cPanel antiguo: Necesitas las credenciales de usuario y contraseña, así como acceso a la sección de "Archivos" y "Bases de Datos".
- Acceso a tu cPanel nuevo: Lo mismo que el punto anterior, pero del hosting de destino. Asegúrate de que el nuevo hosting ya esté activo y funcionando.
- Un gestor de archivos o cliente FTP: Aunque cPanel tiene su propio administrador de archivos, a veces es más cómodo usar un cliente FTP como FileZilla para descargas masivas.
- Tiempo y paciencia: El proceso puede tardar desde 30 minutos hasta un par de horas, dependiendo del tamaño de tu sitio web.
- Una copia de seguridad local: Siempre es recomendable tener una copia de seguridad en tu ordenador antes de tocar nada. Esta es tu red de seguridad.
Fase 1: Realizar un backup completo desde tu cPanel actual
El primer paso para una migración cPanel exitosa es generar una copia de seguridad integral. No te saltes este paso, ya que es la base de todo el proceso. Un backup mal hecho puede resultar en un sitio web roto o, peor aún, en la pérdida total de datos.
Backup de la base de datos MySQL
Tu base de datos contiene todas tus entradas, páginas, comentarios y configuraciones de plugins. Para exportarla, sigue estos pasos:
- Accede a tu cPanel antiguo y busca la sección "Bases de Datos".
- Haz clic en "phpMyAdmin".
- En el panel izquierdo, verás una lista de bases de datos. Haz clic en la que corresponde a tu WordPress (normalmente se identifica por el prefijo que elegiste, por ejemplo,
tuusuario_wpdb). - En la parte superior, verás una pestaña que dice "Exportar". Haz clic en ella.
- Asegúrate de que el método de exportación sea "Rápido" y el formato sea "SQL".
- Haz clic en el botón "Continuar". El sistema descargará un archivo
.sqla tu ordenador. Guárdalo en un lugar seguro.
Backup de los archivos del sitio (public_html)
Ahora vamos a por los archivos del tema, plugins y subidas. Estos archivos residen en la carpeta public_html (o www).
- En tu cPanel, busca la sección "Archivos" y haz clic en "Administrador de Archivos".
- Se abrirá una ventana. Navega hasta la carpeta
public_html(ohtdocs). Si tu WordPress está en una subcarpeta (por ejemplo,/blog), navega hasta esa carpeta. - Selecciona todos los archivos y carpetas dentro de
public_html. Puedes usar la opción "Seleccionar todo" en la barra superior. - Con los archivos seleccionados, haz clic en el botón "Comprimir" en la barra superior.
- Elige el tipo de archivo "Zip Archive" y haz clic en "Comprimir archivos". cPanel creará un archivo
.zipen el mismo directorio. - Una vez creado, selecciona ese archivo
.zipy haz clic en "Descargar". ¡Ya tienes tu backup de archivos!
[WARNING] No comprimas la carpeta
public_htmlen sí misma desde fuera, ya que podrías incluir archivos de sistema. Comparte siempre desde dentro de la carpeta para asegurarte de que estás copiando todo el contenido.
Fase 2: Preparar el nuevo hosting y subir los archivos
Ahora que tienes tu backup, es hora de trabajar en el destino: tu nuevo hosting. Este paso es crucial para mover WordPress cPanel de un lado a otro.
Crear la base de datos en el nuevo hosting
Tu sitio web necesita una nueva base de datos vacía donde se importarán los datos.
- Accede a tu cPanel nuevo y busca la sección "Bases de Datos".
- Haz clic en "Bases de Datos MySQL".
- Crea una nueva base de datos con un nombre similar al anterior (por ejemplo,
nuevousuario_wpdb). Anota el nombre. - En la misma sección, desplázate hacia abajo y crea un "Usuario MySQL". Elige un nombre y una contraseña segura. Anota estos datos.
- Ahora, en la sección "Añadir Usuario a la Base de Datos", selecciona el usuario que acabas de crear y la base de datos nueva. Marca la casilla "TODOS LOS PRIVILEGIOS" y haz clic en "Añadir". Este paso es vital para que WordPress pueda leer y escribir en la base de datos.
Importar la base de datos antigua
- Vuelve a la sección de "Bases de Datos" y abre "phpMyAdmin".
- Haz clic en la base de datos que acabas de crear (la vacía) en el panel izquierdo.
- Ve a la pestaña "Importar" en la parte superior.
- Haz clic en el botón "Elegir archivo" y selecciona el archivo
.sqlque descargaste del hosting antiguo. - Haz clic en "Continuar". phpMyAdmin importará los datos. Si el archivo es muy grande, puede tardar unos minutos.
Subir los archivos del sitio
Ahora vamos a subir el contenido de tu public_html al nuevo servidor. Puedes usar el Administrador de Archivos o un cliente FTP. Te recomiendo usar FTP para archivos grandes, ya que es más estable.
- Desde tu cliente FTP (FileZilla, por ejemplo), conéctate a tu nuevo hosting con las credenciales que te dio tu proveedor.
- Navega hasta la carpeta
public_htmlen el servidor remoto. - Sube el archivo
.zipque descargaste del antiguo hosting. - Una vez subido, ve al Administrador de Archivos de tu nuevo cPanel.
- Localiza el archivo
.zipen la carpetapublic_htmly haz clic derecho sobre él. Selecciona "Extraer". - cPanel extraerá todos los archivos en la misma carpeta. Es posible que te pregunte si quieres sobrescribir; en este caso, como es un sitio nuevo, no debería haber conflictos.
- Opcional pero recomendado: Una vez extraído, elimina el archivo
.zipdel servidor para mantener el orden.
[TIP] Si tu sitio es muy grande (más de 1GB), es mejor que subas los archivos directamente sin comprimir, o que subas el zip por partes y luego lo extraigas. La compresión y extracción en el servidor de destino es más rápida que la transferencia de archivos individuales.
Fase 3: Configurar WordPress para la nueva ubicación
Aquí es donde ocurre la magia. WordPress guarda la URL del sitio en la base de datos, por lo que necesitamos actualizarla para que apunte a tu nuevo dominio (o la misma URL si es el mismo dominio). Hay dos formas de hacerlo: editando el archivo wp-config.php o usando un plugin. Te mostraré el método manual, que es el más fiable.
Editar el archivo wp-config.php
Este archivo contiene la configuración de conexión a la base de datos. Debes actualizarlo con los datos de tu nueva base de datos.
- En el Administrador de Archivos de tu nuevo cPanel, navega a
public_htmly busca el archivowp-config.php. - Haz clic derecho sobre él y selecciona "Editar" (o "Code Editor").
- Busca las siguientes líneas y reemplaza los valores con los de tu nueva base de datos:
// ** Configuraciones de MySQL - Puedes obtenerlas de tu proveedor de hosting ** //
define( 'DB_NAME', 'nombre_de_tu_nueva_base_de_datos' );
/** Usuario de MySQL */
define( 'DB_USER', 'nombre_de_tu_nuevo_usuario' );
/** Contraseña de MySQL */
define( 'DB_PASSWORD', 'tu_nueva_contraseña' );
/** Host de MySQL */
define( 'DB_HOST', 'localhost' ); // Normalmente es "localhost", pero a veces puede ser "localhost:3306"
- Guarda los cambios y cierra el editor.
Buscar y reemplazar la URL en la base de datos
Ahora necesitamos actualizar las URLs en la base de datos. Antes de continuar, es fundamental que sepas que no debes usar el editor de texto de phpMyAdmin para hacer un reemplazo global, ya que puede corromper los datos serializados de WordPress. La forma más segura es usar una consulta SQL o un plugin.
Método con consulta SQL (Recomendado):
- Ve a phpMyAdmin en tu nuevo hosting y selecciona tu base de datos.
- Haz clic en la pestaña "SQL".
- Pega la siguiente consulta SQL. Reemplaza
www.tudominioantiguo.compor tu dominio antiguo (sinhttps://) ywww.tudominionuevo.compor el nuevo.
UPDATE wp_options SET option_value = replace(option_value, 'http://www.tudominioantiguo.com', 'http://www.tudominionuevo.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://www.tudominioantiguo.com','http://www.tudominionuevo.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.tudominioantiguo.com', 'http://www.tudominionuevo.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://www.tudominioantiguo.com', 'http://www.tudominionuevo.com');
[WARNING] Si tu WordPress no usa el prefijo
wp_, deberás ajustar las consultas. Por ejemplo, si tu prefijo esmiwp_, las tablas se llamaránmiwp_options,miwp_posts, etc. Puedes ver el prefijo en el archivowp-config.phpo en la lista de tablas de phpMyAdmin.
Método con plugin (Alternativa para novatos):
Si no te sientes cómodo con SQL, puedes usar un plugin como "Better Search Replace" o "UpdraftPlus". La idea es:
- Instala y activa el plugin en tu sitio nuevo (aunque aún no funcione correctamente, puedes hacerlo vía FTP o desde el administrador de archivos).
- Ve a la configuración del plugin y realiza un reemplazo de la URL antigua por la nueva en todas las tablas.
- Después de esto, elimina el plugin.
Fase 4: Poner en marcha el sitio y verificar
Ya casi lo tienes. Ahora es el momento de probar todo y hacer los últimos ajustes.
Probar el sitio web
Antes de cambiar los DNS, es recomendable probar el sitio en el nuevo hosting. Puedes hacerlo de dos maneras:
- Usando un archivo hosts local: Esta es la forma más segura. Edita el archivo
hostsde tu ordenador (en Windows está enC:\Windows\System32\drivers\etc\hostsy en Mac/Linux en/etc/hosts) y añade una línea que apunte tu dominio a la IP de tu nuevo servidor. La IP la puedes encontrar en tu cPanel nuevo o en el correo de bienvenida de tu proveedor. - Usando una URL temporal: Muchos hostings ofrecen una URL temporal tipo
tudominio.com/cpaneloservidor.com/~tuusuario. Si tu proveedor te la da, úsala para verificar. En este caso, es posible que necesites ajustar las URLs en la base de datos con la URL temporal, y luego volver a cambiarlas cuando apunten los DNS.
[INFO] Si usas una URL temporal, es posible que algunos recursos (imágenes, CSS) no carguen correctamente. No te preocupes, es normal. Solo estamos verificando que la estructura esté bien.
Configurar los DNS y el dominio
Una vez que has verificado que el sitio funciona en el nuevo servidor (aunque sea con la URL temporal), es hora de apuntar el dominio.
- Ve al panel de control de tu registrador de dominios (donde compraste el dominio, puede ser el mismo hosting o una empresa externa como GoDaddy, Namecheap, etc.).
- Busca la sección de "DNS" o "Name Servers".
- Reemplaza los nameservers actuales por los que te proporcionó tu nuevo hosting (suelen tener el formato
ns1.tunuevohosting.comyns2.tunuevohosting.com). - Guarda los cambios. La propagación de DNS puede tardar desde unos minutos hasta 48 horas, aunque normalmente es cuestión de unas pocas horas.
[TIP] Durante la propagación, algunos usuarios verán tu sitio en el hosting antiguo y otros en el nuevo. No te alarmes, es un proceso normal. Para ti, te recomiendo usar el archivo
hostspara ver el sitio desde el nuevo servidor y así poder ir trabajando en él mientras tanto.
Verificaciones finales
Después de que los DNS se hayan propagado, es crucial que verifiques que todo esté en orden:
- Enlaces internos: Haz clic en algunos enlaces de tu menú para asegurarte de que las URLs se actualizaron correctamente.
- Imágenes y medios: Revisa que las imágenes se carguen correctamente en las entradas.
- Formularios: Prueba a enviar un formulario de contacto para asegurarte de que los emails se envían.
- Permalinks: Ve a
Ajustes>Enlaces permanentesen tu panel de WordPress y haz clic en "Guardar cambios" para refrescar las reglas de reescritura. Esto soluciona errores de "página no encontrada" en entradas y páginas internas. - SSL: Si tu sitio usaba HTTPS, asegúrate de que el certificado SSL esté activo en el nuevo hosting. Muchos hostings ofrecen SSL gratuito con Let's Encrypt. Actívalo y modifica las URLs en la base de datos para que usen
https://en lugar dehttp://.
Solución de problemas comunes durante la migración
Aunque el proceso es sencillo, pueden surgir algunos contratiempos. Aquí tienes las soluciones a los problemas más frecuentes cuando se intenta migrar WordPress cPanel.
El sitio muestra un error de conexión a la base de datos
Este es el error más común. Significa que los datos en wp-config.php no son correctos o que el usuario no tiene todos los privilegios.
- Revisa los datos: Vuelve a verificar el nombre de la base de datos, el usuario y la contraseña en tu nuevo cPanel.
- Revisa los privilegios: Ve a la sección de Bases de Datos MySQL en tu nuevo cPanel y asegúrate de que el usuario tiene "TODOS LOS PRIVILEGIOS" en la base de datos correcta.
- Verifica el host: A veces el host de la base de datos no es
localhost. Si tu hosting usa un host remoto (por ejemplo,mysql.tudominio.com), deberás cambiarlo en el archivowp-config.php.
Aparece la página en blanco (Error 500)
Esto suele deberse a un problema con los permisos de archivos o con un plugin incompatible.
- Permisos: Asegúrate de que las carpetas tengan permisos
755y los archivos644. Puedes cambiarlos desde el Administrador
