Jose J. Fernández Programador. Desarrollador web y SEO en León

Cómo mover WordPress a otro dominio

Jose J. Fernández

WordPress

Durante los últimos días he registrado mi nuevo dominio y he movido la instalación de WordPress a éste. La experiencia me ha parecido interesante y es buena idea compartirla, así que os cuento lo que hay que hacer para mover WordPress de dominio.

Subir los ficheros de WordPress al nuevo dominio

Lo primero que debes hacer es descargar una copia de los ficheros de WordPress tal y como están ahora mismo. Normalmente esto lo harás con FTP. En Windows tienes Filezilla, que es bastante simple.

Cuando tengas los ficheros de tu web, súbelos al nuevo servidor. Si no has cambiado de servidor, súbelos a su nueva ubicación dentro de tu servidor actual. No importa si has cambiado de hosting o si sólo cambias de dominio o de ubicación en tu actual servidor, la mayoría de pasos son exactamente iguales.

Cuando hayas subido los ficheros a la nueva web, mantén la copia que has descargado a modo de copia de seguridad. No te gustará eliminarla y que algo salga mal.

Exportar e importar la base de datos de WordPress

Lo que voy a explicar a continuación sólo debes hacerlo si cambias de servidor. Si sigues en el mismo, ve directo al siguiente apartado.

Accede a phpMyAdmin y haz una copia de la base de datos. Ya sabes, seleccionas la base de datos y en el menú exportar puedes descargar un volcado de la misma. Te recomiendo elegir la opción para personalizar la descarga y marcar compresión con zip por si el fichero es muy grande.

Cuando tengas la base de datos en tu ordenador, accede a tu nuevo servidor y entra en phpMyAdmin. Crea una base de datos, accede a ella y ve a la opción de importar. Selecciona el fichero que contenía la base de datos que descargaste antes y procede con la importación. Con esto habrás copiado la base de datos de WordPress en tu nuevo servidor.

Ahora deberías ir a donde guardaste la copia de seguridad de tus ficheros de WordPress y editar el fichero wp-config.php. Está en el directorio de WordPress, junto al .htaccess y los otros ficheros. Lo que tienes que hacer es modificar los datos de conexión con la base de datos. Son estas líneas:

define('DB_NAME', 'nombre_bd');
define('DB_USER', 'usuario_bd');
define('DB_PASSWORD', 'password_bd');
define('DB_HOST', 'servidor_bd');

Si has cambiado de servidor estos datos no serán necesariamente los mismos que tenías hasta ahora, por lo que necesitas cambiarlos con tu nuevo usuario de base de datos, contraseña, nombre de la nueva base de datos, etc. Recuerda subir el fichero modificado a tu nuevo servidor, y sobreescribir el antiguo.

Actualizar la base de datos de WordPress

No salgas de phpMyAdmin, que vamos a ejecutar algunas consultas personalizadas. En la base de datos de WordPress se guardan algunos ajustes que hacen referencia al antiguo dominio, y debes cambiarlos para que tu blog funcione correctamente en el nuevo dominio.

Dentro de phpMyAdmin, selecciona la base de datos de WordPress y ve a la sección SQL, que permite realizar consultas SQL “a mano”. Te indico a continuación las consultas que debes ejecutar. No olvides reemplazar en las consultas tu antiguo dominio y el nuevo.

UPDATE wp_options
SET option_value = REPLACE(option_value, 'dominio_antiguo', 'dominio_nuevo');
UPDATE wp_posts
SET post_content = REPLACE(post_content, 'dominio_antiguo', 'dominio_nuevo');
UPDATE wp_posts
SET guid = REPLACE(guid, 'dominio_antiguo', 'dominio_nuevo');
UPDATE wp_postmeta
SET meta_value = REPLACE(meta_value, 'dominio_antiguo', 'dominio_nuevo');
UPDATE wp_comments
SET comment_author_url = REPLACE(comment_author_url, 'dominio_antiguo', 'dominio_nuevo');

Con esas consultas todos los enlaces que hubiera en la instalación de WordPress haciendo referencia a tu anterior dominio apuntarán ahora al nuevo. Posts, comentarios, elementos de los diferentes menús… Todos apuntan ahora al nuevo dominio. Prueba a acceder ahora a tu blog mediante tu nuevo dominio y asegúrate de que todo funcione correctamente.

Redirección 301 desde tu antiguo dominio para no perder posicionamiento

El último paso que hay que completar para completar una migración bien hecha es redirigir todas las URLs antiguas hacia las nuevas mediante 301, para evitar pérdida de posicionamiento. Toda redirección conlleva una pequeña pérdida, pero eso es mejor que perder todo, ¿verdad?

Para ello, en el antiguo dominio vas a eliminar todos los ficheros que haya y vas a subir un fichero .htaccess que se encargará de redirigir. Asegúrate antes de proceder de que tu web funciona bien en la nueva ubicación y de que tienes copias de ficheros y base de datos.

RewriteEngine On
RewriteCond %{HTTP_HOST} !^nuevodominio\.com
RewriteRule (.*) http://nuevodominio.com/$1 [R=301,L]

No añadas, elimines o muevas ningún símbolo de ese fichero, especialmente las barras invertidas (\) porque de lo contrario no funcionará. Guarda eso como fichero.htaccess, súbelo a tu antiguo dominio y allí cámbiale el nombre por .htaccess, con punto al principio. Si lo intentas guardar con ese nombre antes, no podrás si utilizas Windows.

Bonus: mover las Webmaster Tools, Google Analytics y demás

Google Webmaster Tools no permite cambiar el dominio de la web, pero puedes crear un perfil nuevo y eliminar el del anterior dominio. Tendrás que volver a verificar que la web es tuya. Si ya lo hiciste anteriormente el proceso es el mismo, si no lo hiciste es muy sencillo y Google te ofrece varias opciones.

Google Analytics sí que permite cambiar el dominio, por lo que no es necesario que crees un perfil nuevo porque además de ese modo estarías perdiendo las estadísticas que tuvieras hasta el momento, perdiendo un valioso punto de vista sobre el antes y el después de mover WordPress al nuevo dominio.

¿Problemas? Puedes escribir en los comentarios de esta entrada, o contactar conmigo para que sea yo quien mueva tu WordPress :)

No se mostrará públicamente.

Un enlace a tu blog o página web.