Cómo cambiar el dominio de WordPress en cPanel sin perder datos
¿Tienes tu WordPress funcionando en un dominio y necesitas cambiarlo por otro? Es un paso delicado, pero con la guía adecuada y usando cPanel, puedes hacerlo sin perder ni una sola publicación, comentario o imagen. En este artículo te explico cómo cambiar el dominio de WordPress en cPanel sin perder datos, paso a paso y con un lenguaje claro, pensado para que lo hagas tú mismo aunque no seas un experto.
Vamos a cubrir dos escenarios comunes: migrar WordPress a otro dominio completamente nuevo y cambiar la URL de un sitio que ya está en línea. El método que te presento es el más seguro y evita los errores típicos de "página en blanco" o "demasiadas redirecciones".
Antes de empezar: prepara el terreno
Cualquier cambio en la estructura de un sitio web puede generar problemas si no se hace con cuidado. Por eso, la regla de oro es hacer una copia de seguridad completa antes de tocar nada.
Esto incluye dos partes: los archivos del sitio (las carpetas donde vive WordPress) y la base de datos (donde se guardan tus entradas, páginas y configuraciones).
Paso 0: Haz una copia de seguridad total
Entra en tu cPanel y busca la sección "Archivos" o "Ficheros". Ahí encontrarás la herramienta "Administrador de archivos" o "Gestor de archivos". Sigue estos pasos:
- Entra en la carpeta
public_html(o la carpeta raíz donde tengas instalado WordPress). - Selecciona todos los archivos y carpetas que veas dentro (normalmente
wp-admin,wp-content,wp-includes, etc.). - Haz clic en "Comprimir" y elige "Zip". Esto creará un archivo comprimido con todo tu sitio.
- Descarga ese archivo
.zipa tu computadora. Es tu respaldo de archivos.
Ahora, para la base de datos:
- En cPanel, busca la sección "Bases de datos MySQL" y entra en "phpMyAdmin".
- En el menú de la izquierda, selecciona la base de datos que usa tu WordPress (el nombre suele empezar con el usuario de tu hosting, por ejemplo
tuusuario_wpdb). - Ve a la pestaña "Exportar" en la parte superior.
- Deja el método de exportación "Rápido" y el formato "SQL". Haz clic en "Continuar".
- Se descargará un archivo
.sql. Guárdalo junto al anterior.
[WARNING] No continúes sin tener estos dos archivos de respaldo. Si algo sale mal, podrás restaurar tu sitio desde cero con ellos. Es tu red de seguridad.
Método 1: Cambiar la URL en un sitio ya existente (cambio de dominio)
Este es el caso más común: ya tienes tu WordPress funcionando en www.midominioantiguo.com y quieres que funcione en www.midominionuevo.com. La clave está en hacer el cambio en un orden específico para no romper nada.
Este proceso se divide en dos fases: primero se cambia la URL en la base de datos y luego se ajustan los archivos de configuración. La forma más fiable y directa es usar un script de PHP temporal.
Paso 1: Crea un script de cambio de URL
Vamos a usar un pequeño archivo PHP que hará el trabajo sucio por nosotros. Es mucho más seguro que editar la base de datos a mano, ya que evita errores de escritura.
- Abre un editor de texto simple (como el Bloc de Notas de Windows o TextEdit en Mac).
- Pega el siguiente código:
<?php
// Script para cambiar la URL de WordPress
$old_url = 'https://www.midominioantiguo.com'; // Cambia por tu URL antigua
$new_url = 'https://www.midominionuevo.com'; // Cambia por tu nueva URL
// NO EDITES NADA DE AQUÍ EN ADELANTE
$servername = 'localhost';
$username = 'TU_USUARIO_DB'; // Reemplaza con tu usuario de BD
$password = 'TU_CONTRASEÑA_DB'; // Reemplaza con tu contraseña de BD
$dbname = 'TU_NOMBRE_DB'; // Reemplaza con el nombre de tu BD
// Crear conexión
$conn = new mysqli($servername, $username, $password, $dbname);
// Verificar conexión
if ($conn->connect_error) {
die("Conexión fallida: " . $conn->connect_error);
}
// Actualizar en la tabla wp_options
$sql = "UPDATE wp_options SET option_value = REPLACE(option_value, '$old_url', '$new_url') WHERE option_name = 'siteurl' OR option_name = 'home'";
$conn->query($sql);
// Actualizar en todas las demás tablas (contenido)
$tables = array('wp_posts', 'wp_postmeta', 'wp_comments', 'wp_termmeta', 'wp_links');
foreach ($tables as $table) {
$conn->query("UPDATE $table SET guid = REPLACE(guid, '$old_url', '$new_url')");
$conn->query("UPDATE $table SET post_content = REPLACE(post_content, '$old_url', '$new_url')");
$conn->query("UPDATE $table SET post_excerpt = REPLACE(post_excerpt, '$old_url', '$new_url')");
$conn->query("UPDATE $table SET meta_value = REPLACE(meta_value, '$old_url', '$new_url')");
}
echo "URL actualizada correctamente. Ahora puedes borrar este archivo.";
$conn->close();
?>
- Guarda el archivo con el nombre
cambiar_url.php. - Sube este archivo a la raíz de tu WordPress, es decir, dentro de
public_html(o la carpeta donde esté instalado tu WordPress).
Paso 2: Ejecuta el script
Abre tu navegador y ve a la dirección de tu sitio antiguo, pero añadiendo el nombre del script. Por ejemplo:
https://www.midominioantiguo.com/cambiar_url.php
Verás un mensaje en pantalla confirmando que la URL se actualizó.
[INFO] Si usas un prefijo de tabla diferente (no
wp_), tendrás que editar el script y cambiar las referenciaswp_options,wp_posts, etc., por el prefijo correcto. Puedes verlo en tu archivowp-config.php.
Paso 3: Limpia el script y verifica
- Inmediatamente después de ejecutarlo, vuelve a tu cPanel y borra el archivo
cambiar_url.phpde la carpeta raíz. Es un riesgo de seguridad dejarlo. - Ahora, entra a tu panel de administración de WordPress usando la nueva URL:
https://www.midominionuevo.com/wp-admin. - Ve a Ajustes > Enlaces permanentes y haz clic en "Guardar cambios" sin modificar nada. Esto refresca las reglas de reescritura.
Paso 4: Actualiza tu DNS
El último paso es que tu nuevo dominio apunte a tu servidor de hosting. Esto se hace desde el proveedor donde compraste el dominio, no desde cPanel.
- Ve al panel de control de tu registrador de dominios (GoDaddy, Namecheap, etc.).
- Busca la sección "Administración de DNS" o "Name Servers".
- Cambia los servidores de nombres (nameservers) por los que te proporcionó tu empresa de hosting. Suelen ser algo como
ns1.tuproveedor.comyns2.tuproveedor.com. - Guarda los cambios. La propagación de DNS puede tardar desde unas horas hasta 48 horas.
Método 2: Migrar WordPress a otro dominio (sitio nuevo o servidor nuevo)
Si lo que buscas es mover WordPress a otro dominio y, además, quizás a un nuevo hosting, el proceso es un poco más largo, pero igual de manejable. Esencialmente, vamos a copiar todos los archivos y la base de datos al nuevo lugar.
Paso 1: Sube los archivos al nuevo dominio
- Si tu nuevo dominio está en el mismo cPanel, crea una carpeta para él (por ejemplo,
public_html/midominionuevo). - Sube el archivo
.zipque descargaste en la copia de seguridad a esa nueva carpeta. - Entra en esa carpeta, selecciona el archivo
.zipy haz clic en "Extraer". Se descomprimirán todos tus archivos de WordPress. - Si tu nuevo dominio va a ser el principal, lo ideal es que los archivos estén directamente en
public_html. Si el dominio es un addon, se creará una subcarpeta automáticamente.
Paso 2: Crea una nueva base de datos e importa los datos
- En el cPanel del nuevo hosting (o del mismo, si es el mismo servidor), ve a "Bases de datos MySQL".
- Crea una nueva base de datos, un nuevo usuario y asigna todos los privilegios a ese usuario sobre la base de datos. Anota estos tres datos: nombre de la BD, usuario y contraseña.
- Entra en phpMyAdmin y selecciona la nueva base de datos que acabas de crear.
- Ve a la pestaña "Importar".
- Haz clic en "Elegir archivo" y selecciona el archivo
.sqlque descargaste en tu copia de seguridad. - Haz clic en "Continuar". Se importarán todas tus tablas.
Paso 3: Configura el nuevo WordPress
Ahora es cuando le decimos a WordPress que ha cambiado de casa. Esto se hace en el archivo wp-config.php.
- En la carpeta donde subiste los archivos (por ejemplo,
public_html/midominionuevo), busca el archivowp-config.php. - Haz clic derecho sobre él y selecciona "Editar".
- Busca las siguientes líneas y reemplaza los valores con los datos de tu nueva base de datos:
define('DB_NAME', 'nuevo_nombre_base_datos');
define('DB_USER', 'nuevo_usuario_base_datos');
define('DB_PASSWORD', 'nueva_contraseña_base_datos');
define('DB_HOST', 'localhost');
- Guarda el archivo y ciérralo.
Paso 4: El truco del "wp_options" y la actualización de URL
Al importar la base de datos, las URLs del sitio antiguo siguen ahí. Ahora tienes dos opciones:
Opción A (Recomendada): Usa el script cambiar_url.php que vimos antes, pero ahora súbelo a la carpeta del nuevo dominio y ejecútalo con la URL nueva. Es el método más limpio.
Opción B: Entra en phpMyAdmin, selecciona la nueva base de datos, ve a la tabla wp_options y busca las filas donde option_name es siteurl y home. Edita el option_value y cambia la URL antigua por la nueva.
[TIP] Después de hacer el cambio con cualquiera de los métodos, entra al panel de administración con la nueva URL (
https://www.midominionuevo.com/wp-admin) y ve a Ajustes > Enlaces permanentes. Guarda los cambios para que las URLs de tus páginas se actualicen correctamente.
Solución de problemas comunes
A veces, a pesar de seguir los pasos, algo falla. Aquí tienes las soluciones a los problemas más habituales.
"Página en blanco" o "Error 500"
Esto suele deberse a un problema con los archivos .htaccess o a permisos incorrectos.
- En la carpeta raíz de tu WordPress, busca el archivo
.htaccess. Si no lo ves, activa la opción "Mostrar archivos ocultos" en el administrador de archivos de cPanel. - Descárgalo y ábrelo con un editor de texto. Debería tener un contenido similar a este:
# 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
- Si está vacío o tiene otra cosa, reemplázalo con el contenido de arriba y súbelo de nuevo.
- También verifica que los permisos de las carpetas sean
755y los de los archivos644. Puedes hacerlo seleccionando la carpeta y haciendo clic en "Permisos".
"Demasiadas redirecciones" o "Error 404"
Este error suele indicar que la URL en la base de datos no coincide con la del dominio en el servidor.
- Asegúrate de que has ejecutado el script
cambiar_url.phpcorrectamente y que has actualizado el DNS. - Si el error persiste, vuelve a ejecutar el script. A veces hay URLs "hardcodeadas" en el contenido que no se actualizan.
- Para el error 404, ve a Ajustes > Enlaces permanentes y guarda los cambios. Esto fuerza la actualización de las reglas de reescritura.
Enlaces rotos en el contenido
Si después del cambio algunos enlaces internos siguen apuntando al dominio antiguo, es porque están guardados directamente en el contenido de tus entradas.
Puedes usar un plugin como "Better Search Replace" o "Velvet Blues Update URLs" para hacer un barrido y reemplazar todas las URLs antiguas por las nuevas en toda la base de datos. Es una solución rápida y segura.
Preguntas frecuentes (FAQ)
¿Puedo cambiar el dominio sin tocar la base de datos?
Técnicamente, no. La URL del sitio está guardada en la base de datos, específicamente en las tablas wp_options y wp_posts. Si no la cambias, WordPress seguirá intentando cargar recursos del dominio antiguo, lo que resultará en un sitio roto.
¿Qué pasa con mi correo electrónico asociado al dominio antiguo?
El cambio de dominio no afecta a tus cuentas de correo si estas están configuradas en el mismo hosting. Si tu correo es info@midominioantiguo.com, seguirá funcionando mientras el dominio antiguo esté activo. Si el dominio antiguo se da de baja, el correo dejará de funcionar.
¿Perderé mi posicionamiento SEO (Google) al cambiar de dominio?
Sí, es probable que haya una caída temporal en tu posicionamiento. Para minimizar el impacto, es crucial configurar redirecciones 301 desde las URLs antiguas a las nuevas. La mayoría de los plugins de SEO, como Yoast o Rank Math, tienen una herramienta para hacer esto fácilmente.
¿Necesito contratar un hosting nuevo para migrar WordPress a otro dominio?
No necesariamente. Puedes alojar varios dominios en el mismo hosting, ya sea como dominios adicionales (addon domains) o como subdominios. Si el nuevo dominio es el principal del proyecto, lo más limpio es que esté en public_html.
¿Qué es más seguro, cambiar la URL con un script o con un plugin?
Ambos métodos son seguros si se usan correctamente. El script PHP es muy directo y no depende de que WordPress esté funcionando, lo que es ideal si el sitio está roto. Los plugins son más amigables y suelen ofrecer opciones avanzadas, pero requieren que puedas entrar al panel de administración.
Si uso HestiaCP, ¿cambia el proceso?
El proceso es exactamente el mismo, ya que tanto cPanel como HestiaCP (a quien nosotros llamamos Syspanel) ofrecen las herramientas de "Administrador de archivos" y "phpMyAdmin". La única diferencia es la interfaz del panel. Recuerda que en Syspanel, el acceso se realiza por el puerto 2106 (por ejemplo, https://tu-servidor:2106), pero el flujo de trabajo es idéntico.
[INFO] Si tu hosting usa Syspanel (antes HestiaCP), no te preocupes por las diferencias de nombres. Busca "Archivos" para subir y extraer tus archivos, y "Bases de datos" para acceder a phpMyAdmin. El resto de los pasos son iguales.
Conclusión final
Cambiar el dominio de WordPress en cPanel es un proceso que, si se sigue con calma y prestando atención a los detalles, no tiene por qué ser traumático. La clave está en la preparación (la copia de seguridad) y en el orden de los pasos.
Recuerda siempre: **primero los archivos, luego la
