Cómo mover WordPress de un servidor a otro (cPanel a cPanel) sin plugins
Mover un sitio web puede sonar a algo reservado para expertos, pero te prometo que con una buena guía y un poco de paciencia, es una tarea que está a tu alcance. Si estás leyendo esto, probablemente estés pensando en cambiar de proveedor de hosting o en pasar a un servidor con mejores prestaciones. La buena noticia es que mover WordPress de un servidor a otro (cPanel a cPanel) sin plugins es totalmente posible.
Aunque existen herramientas que automatizan el proceso, hacerlo manualmente te da un control absoluto sobre cada archivo y cada línea de la base de datos. Además, entenderás mejor cómo funciona tu sitio por dentro, lo cual es un conocimiento muy valioso a largo plazo.
En esta guía, paso a paso y sin tecnicismos innecesarios, te explicaré cómo migrar WordPress cPanel de forma segura y eficiente. Vamos a desglosar el proceso en dos grandes frentes: la transferencia de archivos y la transferencia de la base de datos. Al final, tendrás tu sitio funcionando en el nuevo hogar, sin plugins y con la tranquilidad de haberlo hecho tú mismo.
Preparando el Terreno: Requisitos y Herramientas
Antes de empezar a mover cosas, necesitas tener todo listo. Es como preparar la maleta antes de un viaje; necesitas saber qué llevar y a dónde vas.
Requisitos Previos
Para transferir WordPress de un cPanel a otro, necesitarás lo siguiente:
- Acceso de administrador a ambos cPanels: Tanto al panel de tu hosting actual (origen) como al del nuevo (destino).
- Cliente FTP (File Transfer Protocol): Un programa como FileZilla (es gratuito) para subir y descargar archivos.
- Acceso a phpMyAdmin: Esta herramienta está integrada en cPanel y nos servirá para exportar e importar las bases de datos.
- Un editor de texto plano: Como el Bloc de notas de Windows o Sublime Text. No uses Word, ya que añade formatos ocultos que pueden corromper archivos de configuración.
Paso 0: La Importancia de una Copia de Seguridad
[WARNING] No intentes hacer esto sin una copia de seguridad actualizada de tu sitio. Si algo sale mal, es tu red de seguridad. Aunque el proceso es seguro, siempre hay margen para el error humano.
Puedes hacer una copia de seguridad desde el propio cPanel (en la sección "Archivos" o "Backup") o descargando los archivos y la base de datos por separado. De hecho, los pasos que vamos a seguir ahora mismo son, en esencia, la creación de una copia de seguridad completa. Así que considera este tutorial como la manera de hacer tu propia copia, pero con un destino final diferente.
Fase 1: Empaquetando el Sitio en el Servidor de Origen
El primer paso es reunir todos los archivos de tu sitio web. Esto incluye el núcleo de WordPress, tus temas, los plugins y, sobre todo, las imágenes y medios que hayas subido.
1.1. Accede a tu cPanel de Origen
Ingresa con tus credenciales al panel de control de tu hosting actual. Busca la sección llamada "Administrador de archivos" o "File Manager". Es el lugar donde puedes ver y gestionar todos los archivos de tu hosting.
1.2. Localiza la Carpeta "public_html"
Dentro del Administrador de archivos, navega hasta la carpeta public_html. Esta es la raíz de tu sitio web. En la mayoría de los casos, todos los archivos de tu WordPress están directamente aquí. Si tienes un solo sitio, no deberías ver nada más dentro de esta carpeta.
1.3. Comprime la Carpeta para Acelerar la Descarga
Transferir cientos de archivos pequeños uno a uno es lento y propenso a errores. Lo ideal es comprimir toda la carpeta public_html en un solo archivo ZIP.
- Selecciona todos los archivos dentro de
public_html(o la carpeta misma, si tu sitio es el único). - Haz clic derecho sobre la selección y elige la opción "Comprimir" o "Compress".
- En la ventana emergente, elige el formato "Zip Archive" y haz clic en "Comprimir Archivos".
- cPanel creará un archivo
.zip(por ejemplo,public_html.zip) en el mismo directorio. Este archivo es mucho más fácil de manejar.
[TIP] Si el archivo es demasiado grande (más de 1GB), puede que el servidor se agote al comprimirlo. En ese caso, puedes comprimir por partes o usar un cliente FTP para descargar carpetas específicas como wp-content/uploads, que suele ser la más pesada.
1.4. Descarga el Archivo ZIP a tu Computadora
Una vez que el archivo ZIP esté creado, selecciónalo y haz clic en "Descargar". Guárdalo en una carpeta de fácil acceso en tu ordenador, como el Escritorio. Este archivo contiene todo tu sitio web, excepto la base de datos.
Fase 2: Exportando la Base de Datos
Tu sitio web no son solo archivos; la información (posts, páginas, comentarios, configuración) vive en una base de datos MySQL. Es el cerebro de WordPress. Ahora vamos a extraer ese cerebro.
2.1. Encuentra el Nombre de tu Base de Datos
Antes de exportarla, necesitas saber su nombre. Puedes encontrarlo en el archivo wp-config.php que está dentro de tu carpeta public_html (en la copia que descargaste). Ábrelo con tu editor de texto plano y busca la línea que dice:
define('DB_NAME', 'nombre_de_tu_base_de_datos');
Apunta ese nombre. También verás DB_USER (usuario) y DB_PASSWORD (contraseña), pero por ahora solo necesitas el nombre.
2.2. Accede a phpMyAdmin
Vuelve a tu cPanel de origen. Busca la sección de "Bases de Datos" y haz clic en el icono de "phpMyAdmin". Se abrirá una nueva pestaña en tu navegador con una interfaz que muestra todas tus bases de datos en el lado izquierdo.
2.3. Exporta la Base de Datos
- Haz clic en el nombre de tu base de datos en la lista de la izquierda.
- En la parte superior, verás una pestaña llamada "Exportar" o "Export". Haz clic en ella.
- Elige el método de exportación "Rápido" o "Custom". Te recomiendo "Custom" para tener más control.
- En la sección "Formato", asegúrate de que esté seleccionado "SQL".
- Si usas la opción "Custom", asegúrate de que la opción "Agregar DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT" esté marcada. Esto eliminará tablas existentes en el destino si las hubiera, evitando conflictos.
- Haz clic en el botón "Continuar" o "Exportar" en la parte inferior.
- Se descargará un archivo con extensión
.sql. Guárdalo junto a tu archivo ZIP. Este archivo contiene toda la estructura y los datos de tu web.
Fase 3: El Nuevo Hogar: Preparando el Servidor de Destino
Ahora pasamos a la acción en el nuevo hosting. Aquí es donde vamos a colocar todo.
3.1. Crea una Base de Datos en el Nuevo Hosting
Tu WordPress necesita una base de datos nueva en este servidor. Vamos a crearla.
- Accede a tu cPanel de destino.
- Ve a la sección "Bases de Datos MySQL".
- Crea una nueva base de datos (por ejemplo,
nuevo_usuario_wp). - Crea un nuevo usuario de base de datos (por ejemplo,
nuevo_usuario_wp_user) y asígnale una contraseña segura. - Importante: Añade ese usuario a la base de datos y asígnale TODOS LOS PRIVILEGIOS. Sin este paso, WordPress no podrá leer ni escribir en la base de datos.
3.2. Sube el Archivo ZIP al Nuevo Servidor
Ahora, sube el archivo ZIP que descargaste antes (el que contiene public_html) al nuevo servidor.
- En el cPanel de destino, abre el "Administrador de archivos".
- Navega hasta la carpeta
public_html. Si tiene archivos por defecto (comoindex.htmlocgi-bin), puedes eliminarlos o sobrescribirlos más tarde. - Haz clic en "Subir" en la barra de herramientas superior.
- Selecciona el archivo ZIP desde tu computadora y espera a que termine la subida. Este proceso puede tardar unos minutos, dependiendo del tamaño del archivo.
3.3. Descomprime el Archivo en el Destino
Una vez subido, verás el archivo public_html.zip en tu administrador de archivos.
- Haz clic derecho sobre él y selecciona "Extraer" o "Extract".
- En la ventana emergente, asegúrate de que la ruta de destino sea la carpeta
public_html(o la raíz del sitio). - Haz clic en "Extraer Archivos".
- Después de la extracción, puedes eliminar el archivo ZIP del servidor para mantener todo limpio.
[TIP] Si el archivo es muy grande y la extracción falla, el cliente FTP (FileZilla) es tu mejor amigo. Conéctate al servidor de destino y sube los archivos de tu copia local directamente a public_html. Es un poco más lento, pero más fiable.
Fase 4: Importando la Base de Datos en el Destino
Ya tenemos los archivos en su lugar. Ahora toca darle vida al "cerebro" de WordPress.
4.1. Importa el Archivo SQL
- Ve a "phpMyAdmin" en tu cPanel de destino.
- Haz clic en la base de datos que creaste en el paso 3.1 (la que está vacía).
- Haz clic en la pestaña "Importar" o "Import".
- Haz clic en "Elegir archivo" y selecciona el archivo
.sqlque exportaste del servidor original. - Haz clic en "Continuar" o "Importar".
- phpMyAdmin procesará el archivo y, si todo va bien, verás un mensaje de éxito. Tu base de datos ahora contiene todas tus publicaciones, páginas y configuraciones.
Fase 5: El Puente Final: Conectando la Base de Datos a WordPress
Ahora viene el paso más crítico: decirle a WordPress dónde está su nueva base de datos. Esto se hace en el archivo wp-config.php.
5.1. Edita el Archivo wp-config.php
- En el "Administrador de archivos" del cPanel de destino, navega a la carpeta
public_html. - Busca el archivo
wp-config.php. Haz clic derecho sobre él y selecciona "Editar" o "Edit". Se abrirá un editor de texto. - Busca las siguientes líneas y reemplaza la información con los datos de la base de datos que creaste en el nuevo servidor:
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'nombre_de_tu_nueva_base_de_datos' );
/** MySQL database username */
define( 'DB_USER', 'tu_nuevo_usuario' );
/** MySQL database password */
define( 'DB_PASSWORD', 'tu_nueva_contraseña' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' ); // En la mayoría de casos es 'localhost', pero a veces puede ser otro valor. Pregunta a tu nuevo hosting si no funciona.
- Guarda los cambios y cierra el editor.
[WARNING] Asegúrate de no dejar espacios en blanco antes de <?php al principio del archivo ni después de ?>. Esto puede provocar el famoso error "headers already sent". Si no ves el cierre ?>, no te preocupes, es normal y no lo añadas.
Fase 6: DNS y Últimos Ajustes (El Momento de la Verdad)
Has hecho el trabajo pesado. Ahora hay que apuntar el dominio al nuevo servidor y hacer los últimos retoques.
6.1. Actualiza los Servidores de Nombres (DNS)
Este es el paso que hace que tu dominio "apunte" al nuevo hosting. Debes ir a la empresa donde registraste tu dominio (o al panel de tu nuevo hosting si lo has transferido) y cambiar los "Name Servers" (Servidores de Nombres) por los que te haya proporcionado tu nuevo proveedor de hosting.
Estos suelen tener el formato ns1.tunuevohosting.com y ns2.tunuevohosting.com.
[INFO] Los cambios de DNS pueden tardar entre 24 y 72 horas en propagarse por todo el mundo. No te asustes si no ves el sitio en el nuevo servidor inmediatamente.
6.2. Ajusta la URL del Sitio (Opcional pero Recomendado)
A veces, WordPress guarda la URL del sitio en la base de datos. Si has cambiado de dominio o has movido el sitio a una subcarpeta para probarlo, es posible que necesites actualizar esta información.
Puedes hacerlo desde el panel de administración de WordPress (si puedes acceder) yendo a Ajustes > Enlaces permanentes. Simplemente haz clic en "Guardar cambios" para forzar a WordPress a refrescar las URLs.
Si no puedes acceder al panel, puedes hacerlo desde phpMyAdmin:
- Ve a la tabla
wp_options(el prefijowp_puede ser diferente). - Busca las filas
siteurlyhome. - Edítalas y pon la URL correcta de tu sitio (por ejemplo,
https://www.tudominio.com).
6.3. Verifica los Permisos de Archivos y Carpetas
Es poco común, pero a veces los permisos de los archivos se alteran durante la transferencia. Para evitar problemas de seguridad o de escritura, verifica que las carpetas tengan permisos 755 y los archivos 644. Puedes hacerlo desde el Administrador de archivos de cPanel o con un cliente FTP.
Solución de Problemas Comunes (FAQ)
Aquí tienes algunas soluciones a los problemas más habituales que pueden surgir al cambio de hosting WordPress.
¿Por qué veo un error de "Error al establecer conexión con la base de datos"?
Esto casi siempre significa que los datos en wp-config.php son incorrectos. Revisa el DB_NAME, DB_USER y DB_PASSWORD. Asegúrate de que el usuario tiene todos los privilegios en esa base de datos específica.
¿Por qué mi sitio muestra la página de instalación de WordPress?
Esto ocurre porque WordPress no puede conectarse a la base de datos con los datos que tienes en wp-config.php, o porque la base de datos que has importado está vacía o corrupta. Vuelve a revisar el proceso de importación y los datos de configuración.
¿Qué hago si algunas imágenes no se ven?
Este es un problema muy común. Las rutas de las imágenes suelen estar guardadas en la base de datos con la URL antigua. La solución más fácil es usar un plugin de búsqueda y reemplazo (como "Better Search Replace") en el nuevo sitio, o si prefieres hacerlo manualmente, puedes editar la base de datos con una consulta SQL en phpMyAdmin. Pero como dijimos que no usaríamos plugins para la migración, la opción manual es:
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://www.old-domain.com', 'http://www.new-domain.com');
Recuerda cambiar old-domain.com por tu dominio antiguo y new-domain.com por el nuevo.
¿Cómo puedo asegurarme de que mi sitio es seguro después de la migración?
Una vez que el sitio esté funcionando, es una buena práctica cambiar las contraseñas de tu panel de WordPress y de la base de datos. También puedes instalar un plugin de seguridad para reforzar las defensas.
[TIP] No borres nada del hosting antiguo hasta que estés 100% seguro de que el nuevo sitio funciona perfectamente. El hosting antiguo es tu red de seguridad.
Conclusión: Has Completado la Migración Manual
Enhorabuena. Has logrado **mover WordPress de un
