WordPress: migrar la plataforma de servidor

Hoy vamos a hablar de como migrar nuestra web realizada en WordPress de servidor con cambio de dominio incluido.

Si alguna vez habéis tratado de migrar una web que usa base de datos, dependiendo de lo bien hecho que esté, puede dar algún dolor de cabeza. En WordPress dicho dolor de cabeza aumenta exponencialmente puesto que en la base de datos se guardan ciertos datos con la URL absoluta de la página.

Esto hace que cuando cambiemos nuestra página de servidor y dominio – o incluso si lo cambiamos de directorio dentro del mismo servidor sin cambiar el dominio – nuestra web deje de funcionar al instante. Vamos a suponer para hacer esta entrada que queremos cambiar de un servidor a otro nuestra web.

Puesta a punto de nuestro servidor actual

Primero descargamos vía FTP los archivos de WordPress desde la raíz. Es decir, donde están las carpetas wp-adminwp-content

Mientras se descarga, lleva un buen rato, vamos a phpMyAdmin para acceder a la base de datos y exportarla en extensión .sql.

Una vez descargado los archivos del FTP vamos al archivo wp-config.php y modificamos lo siguiente:

// ** Ajustes de MySQL. Solicita estos datos a tu proveedor de alojamiento web. ** //
/** El nombre de tu base de datos de WordPress */
define('DB_NAME', 'nombre_de_tu_base_de_datos');

/** Tu nombre de usuario de MySQL */
define('DB_USER', 'usuario_de_tu_base_de_datos');

/** Tu contraseña de MySQL */
define('DB_PASSWORD', 'password');

/** Host de MySQL (es muy probable que no necesites cambiarlo) */
define('DB_HOST', 'localhost');

Hecho esto ya podemos subir al FTP del nuevo servidor los archivos de WordPress y acceder al phpMyAdmin del nuevo servidor para importar el sql de la base de datos que hemos exportado previamente del otro servidor.

El camino ahora se divide en dos.

Migrar WordPress de servidor sin cambiar el dominio

Si sólo vamos a cambiar la web de servidor sin cambiar el dominio del mismo ya no tenemos que hacer nada más. Esperamos que se propaguen las DNS al nuevo servidor y listo.

Migrar WordPress de servidor cambiando de dominio

Si migramos WordPress dentro de un servidor a otro directorio del mismo servidor o cambiamos el dominio del mismo, la URL cambia absoluta cambia. Como he dicho antes WordPress guarda varias veces en la base de datos la URL absoluta por lo que vamos a tener que actualizar la base de datos para cambiarlo por la nueva URL.

Para ello vamos a reemplazar cadenas de caracteres con MySQL. Entramos en phpMyAdmin y accedemos a nuestra base de datos importada. Accedemos a la pestaña de SQL y ejecutamos (una a una, no todas a la vez) lo siguiente:

UPDATE wp_options SET option_value = REPLACE ( option_value, 'dominioantiguo.com', 'dominionuevo.com' );

UPDATE wp_posts SET guid = REPLACE ( guid, 'dominioantiguo.com', 'dominionuevo.com' );

UPDATE wp_posts SET post_content = REPLACE ( post_content, 'dominioantiguo.com', 'dominionuevo.com' );

UPDATE wp_postmeta SET meta_value = REPLACE ( meta_value, 'dominioantiguo.com', 'dominionuevo.com' );

Esto detectará todas las coincidencias de “dominioantiguo.com” y las sustituirá por “dominionuevo.com”.

Si has cambiado durante la instalación de WordPress el prefijo de las tablas, asegúrate de modificar las líneas de arriba y sustituir los wp_ por el prefijo que pusiste en la configuración.

Con estos pasos ya deberíamos tener nuestra web funcionando perfectamente. En caso de no ser así recuerda que si el dominio es nuevo es probable que las DNS aún no se hayan propagado o revisa de nuevo el tutorial para comprobar que todos los pasos los has realizado correctamente.