Introducción
Este artículo aborda el proceso de cambio de dominio en WordPress cuando el sitio permanece en el mismo hosting o ya se ha realizado una migración. No cubre el proceso de migración completa a un nuevo servidor.
El problema inicial
Cuando se cambia el dominio de un sitio WordPress, la instalación no funcionará correctamente y realizará una redirección al antiguo dominio. Esto impide iniciar sesión en WordPress y se debe a que el dominio está definido en la base de datos, específicamente en la tabla wp_options
.
Solución paso a paso
Preparación: Obtener información de la base de datos
Antes de realizar cualquier cambio, necesitamos obtener información crucial de la base de datos de WordPress. Esta información se encuentra en el archivo wp-config.php
, ubicado en el directorio raíz de tu instalación de WordPress.
Localizar y abrir wp-config.php
- Accede a tu servidor mediante FTP o el administrador de archivos de tu hosting.
- Navega hasta el directorio raíz de WordPress (donde se encuentra el archivo wp-config.php).
- Abre wp-config.php con un editor de texto.
Identificar información clave
En wp-config.php, busca las siguientes líneas:
a) Nombre de la base de datos:
define( 'DB_NAME', 'nombre_de_tu_base_de_datos' );
Este es el nombre de tu base de datos WordPress.
b) Usuario de la base de datos:
define( 'DB_USER', 'tu_usuario_de_base_de_datos' );
c) Contraseña de la base de datos:
define( 'DB_PASSWORD', 'tu_contraseña_de_base_de_datos' );
d) Host de la base de datos:
define( 'DB_HOST', 'localhost' );
Generalmente es ’localhost’, pero puede variar según tu hosting.
e) Prefijo de las tablas:
$table_prefix = 'wp_';
Este prefijo se usa delante de cada nombre de tabla en tu base de datos WordPress.
Anotar la información
Anota cuidadosamente esta información. La necesitarás para acceder a tu base de datos y realizar los cambios necesarios
Una vez que tengas esta información, estarás listo para proceder con el acceso a la base de datos y realizar los cambios necesarios para actualizar el dominio.
1. Modificar la base de datos
Lo primero es modificar dos registros en la tabla wp_options
: siteurl
y home
. Aquí hay tres métodos para hacerlo:
a) Usando phpMyAdmin
1. Accede al panel de administración y busca el menú de phpMyAdmin.
2. Localiza la base de datos (en este caso “wordpress”).
3. Busca la tabla “wp_options” (el prefijo puede variar).
4. Edita los registros siteurl
y home
, cambiando el dominio antiguo por el nuevo.
5. Guarda los cambios.
b) Usando un gestor de base de datos externo
Si no tienes acceso a phpMyAdmin, puedes usar una herramienta como Adminer:
1. Descarga Adminer de https://www.adminer.org/
2. Sube el archivo a tu servidor.
3. Accede a través de la URL (ej. http://dominio.com/adminer-4.8.1.php)
4. Introduce los datos de conexión (disponibles en wp-config.php):
- DB_NAME
- DB_USER
- DB_PASSWORD
- DB_HOST
- Localiza la tabla wp_options y modifica los registros como en phpMyAdmin.
c) Usando un script con el core de WordPress
Crea un archivo PHP en el directorio raíz de WordPress con el siguiente contenido:
<?php
include("wp-load.php");
$nuevo_dominio = 'https://nuevodominio.com';
update_option('siteurl', $nuevo_dominio);
update_option('home', $nuevo_dominio);
echo "Los valores de siteurl y home han sido actualizados a " . $nuevo_dominio;
?>
Ejecuta este script para actualizar los valores.
2. Acceder a WordPress y actualizar enlaces
Una vez realizados los cambios en la base de datos, podrás acceder al panel de administración de WordPress con el nuevo dominio. Sin embargo, el trabajo no termina aquí. Es crucial revisar y actualizar los enlaces internos del sitio:
a) Actualización automática:
- En muchos casos, WordPress actualizará automáticamente los enlaces en posts y páginas.
- Esto funciona bien para enlaces simples y directos dentro del contenido.
b) Actualización manual:
- Revisa manualmente los posts y páginas más importantes.
- Presta especial atención a:
- Menús de navegación
- Widgets personalizados
- Páginas con enlaces hardcodeados
- Shortcodes personalizados que puedan contener URLs
c) Imágenes y archivos multimedia:
- Verifica que las imágenes y otros archivos multimedia se carguen correctamente.
- Si encuentras problemas, puede que necesites actualizar las rutas en la biblioteca de medios.
d) Configuración de plugins y temas:
- Revisa la configuración de plugins importantes, especialmente aquellos relacionados con SEO, caché, o seguridad.
- Verifica la configuración del tema activo, especialmente si tienes un tema personalizado.
e) Actualizar sitemap y robots.txt:
- Si utilizas un plugin de SEO, regenera tu sitemap.
- Verifica que tu archivo robots.txt esté actualizado con el nuevo dominio.
3. Reemplazo masivo en la base de datos (con precaución)
Aunque la actualización manual es más segura, en sitios grandes puede ser necesario un enfoque más automatizado. Sin embargo, esto conlleva riesgos y debe hacerse con extrema precaución.
a) Usando phpMyAdmin:
- Haz una copia de seguridad completa de tu base de datos.
- En phpMyAdmin, selecciona tu base de datos.
- Haz clic en la pestaña “SQL” para ejecutar consultas personalizadas.
- Usa una consulta como esta (ajusta según tus necesidades):
sql UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://antiguo-dominio.com', 'http://nuevo-dominio.com'); UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://antiguo-dominio.com', 'http://nuevo-dominio.com');
- Ejecuta las consultas y verifica los resultados.
b) Usando un plugin como Better Search Replace:
- Instala y activa el plugin Better Search Replace.
- Ve a “Herramientas” > “Better Search Replace” en el panel de WordPress.
- En “Buscar”, ingresa el antiguo dominio (ej. http://antiguo-dominio.com).
- En “Reemplazar con”, ingresa el nuevo dominio (ej. http://nuevo-dominio.com).
- Selecciona las tablas en las que quieres realizar el reemplazo.
- IMPORTANTE: Marca la casilla “Ejecutar como prueba” primero para ver qué cambios se harían.
- Si los resultados de la prueba son correctos, desmarca “Ejecutar como prueba” y ejecuta el reemplazo real.
c) Precauciones con datos serializados:
- Algunos datos en WordPress se almacenan en formato serializado, como este ejemplo:
php $objeto_seriado='O:1:"a":1:{s:18:"http://dominio.com";s:3:"100";}';
- El reemplazo directo de estos datos puede corromper la información, ya que los números que indican la longitud de las cadenas ya no serían correctos.
- Plugins avanzados como Better Search Replace están diseñados para manejar datos serializados, pero aún así pueden ocurrir errores.
d) Después del reemplazo masivo:
- Verifica minuciosamente el funcionamiento del sitio.
- Revisa especialmente la configuración de plugins y temas.
- Prueba todas las funcionalidades críticas del sitio.
- Si encuentras problemas, considera restaurar desde tu copia de seguridad y realizar los cambios manualmente.
Recuerda: El reemplazo masivo es riesgoso. Siempre es preferible realizar cambios manuales cuando sea posible, especialmente en sitios pequeños o medianos. Para sitios grandes, considera la ayuda de un profesional si no estás seguro de cómo proceder.
Conclusión
Cambiar el dominio de un sitio WordPress requiere cuidado y atención a los detalles. Siguiendo estos pasos, podrás realizar el cambio de manera segura y efectiva. Recuerda siempre hacer una copia de seguridad antes de realizar cualquier cambio en tu sitio.