Como migrar un WordPress de servidor

Hoy vamos a ver como migrar un WordPress de servidor. Ya sea debido a que queremos cambiar de entorno una web (desarrollo a producción o entre dos dominios/hosting diferentes), ya que es algo con lo que vamos a encontrarnos más pronto que tarde.

Para llevar a cabo esta hazaña sin usar plugins debemos seguir una serie de pasos.

(Vale a lo mejor me he pasado con lo de hazaña pero teniendo en cuenta el miedo que da al principio creo que la palabra está bien elegida)

Bueno vamos a ello:

I Copias de seguridad

Antes de nada, debemos de hacer una copia de seguridad tanto de los archivos de base de datos como de los archivos del WordPress que vamos a migrar como del hosting destino (si es que tiene archivos y bbdd)

Esto que parece una tontería nos puede salvar de muchos problemas si algo sale mal y nos permitirá restablecerlo todo como al principio en caso de que sea necesario.

II Importamos la base datos

En el hosting destino creamos una base de datos con un usuario y una clave.

Después importamos la base de datos a la nueva que hemos creado

III Subimos los archivos al hosting

Ahora subimos los archivos de nuestro WordPress al hosting, teniendo en cuenta la carpeta en la que queremos que sea activo nuestro sitio.

IV Configuramos el archivo wp-config.php

Ahora empieza lo delicado. ¿Recuerdas el nombre de la BBDD y su usuario? Pues tienes que ponerlos en el archivo wp-config.php

Busca el siguiente código y sustituye tus datos en el:

/** El nombre de tu base de datos de WordPress */
define('DB_NAME', 'nombre_de_la_bbdd');

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

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

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

Estas constantes suelen estar por la parte inicial del archivo y hay que tener en cuenta que en ocasiones las bases de datos no se encuentran en el mismo servidor que los archivos, esto depende enormemente del proveedor donde estemos trabajando, por lo que deberán de darnos la url donde se encuentra la BBDD y cambiar el DB_HOST.

Con esto ya hemos conectado la web a nuestra BBDD pero si intentas abrir la web en el mejor de los casos lo que veras sera algo que carezca de estilos, destruida y con el mismo aspecto que la cara del monstruo de Frankenstein despues de que haya pasado el transiberiano por encima.

Esto es debido a que WordPress trabaja con enlaces absolutos y estos enlaces si la web está bien hecha se encuentran en la BBDD, de modo que ya sabes que no debes de usar urls absolutas en el desarrollo para ello usa funciones de WordPress como:

  • content_url() que nos lleva a la base del directorio content de wordpress sea cual sea su url
  • get_template_directory_uri() que nos lleva al directorio de la plantilla

De ese modo no tendremos malas prácticas que nos hagan hacer que las migraciones sean imposibles

V Modificando la base de datos

A la hora de migrar un WordPress, este puede que sea el paso más importante y el que más miedo suele dar las primeras veces (bueno y cuando te encuentras con infiernos de webs tambien), pero vamos  a suponer que no hemos hecho nada raro y que hemos seguido las buenas prácticas a la hora de programar en nuestro wordPress, de modo que para terminar de completar nuestra migración debemos de ejecutar una serie de consultas en nuestra base de datos:

UPDATE wp_options SET option_value = REPLACE(option_value,"URL antigua","URL nueva");
UPDATE wp_posts SET post_content = REPLACE(post_content,"URL antigua","URL nueva");    
UPDATE wp_posts SET guid = REPLACE(guid,"URL antigua","URL nueva");       
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value,"URL antigua","URL nueva");

Estás consultas deben de ejecutarse de una en una en nuestra base de datos y tenemos que tener en cuenta que:

  • Seguramente nuestras tablas no tengan el prefijo wp_, ya que esto sería un error de seguridad básico, pero para saber cual es solo tienes que mirarlo en el listado de tablas de la bbdd
  • debemos de poner las URLs antiguas y nuevas con http o https segun sea el caso y de forma completa.

Con estos sencillos pasos ya habremos logrado la migración de nuestro wordPress a donde necesitemos sin perder la cabeza en el intento y de forma realmente sencilla.