Estoy trabajando en mi sitio, cualquier error hazmelo saber... :)

Jepser Bernardino

idea

Mudando wordpress de un dominio a otro

No se si a muchos les ha sucedido pero, esta es la primera vez a mi. Pues un cliente me pidió que cambiara su dominio después de haber creado y terminado con todas las configuraciones en otro. Es decir, tenía que hacer una migración.

Y ese no era el problema, el problema era que WordPress guarda las direcciones de forma absoluta, entonces eso me perjudicaba a la hora de mover el sitio de www.misiteantiguo.com a www.minuevositio.com. Ahora vas a ver como puedes mover tu sitio de un lado a otro sin tantas vueltas.

Ante de todo

Recuerda que tienes que tener tu nuevo dominio preparado y con 36 horas de anticipación para que los DNS se propaguen, así te ahorrarás de futuros dolores de cabeza.

1. Backup de tu base de datos

mudar1

Lo primero y más importante, obtener los datos que tienes en tu wordpress, para poder replicarlos. Una vez ingresamos a nuestro hosting, vamos phpMyAdmin (normalmente se encuentra bajo la sección de Bases de Datos, si utilizas Cpanel está bajo DataBases). Una vez estamos en el phpMyAdmin elegimos la base de datos donde está nuestro sitio. Le damos clic a la pestaña de exportar.

mudar2

Una vez en la opciones tenemos que exportarlo como SQL, no se te olvide, luego:

  • Structure (darle clic a las siguientes opciones)
    • Add DROP TABLE/ VIEW/ PROCEDURE/ FUCTION
    • Add AUTO_INCREMENT value
    • Enclose table and field names with backquotes
  • Data( chequear simplemente a este y nada más)

mudar3

Le damos chequeamos Save as file y le damos la compresión que queramos. Ya tenemos nuestra información.

2. Backup de WordPress

Nada del otro mundo, abres tu cliente FTP y bajas todos los archivos de wordpress a una carpeta. Esto servirá para que los subas de nuevo a tu nuevo dominio.

Actualización: Cuando bajes el wordpress, abre el archivo wp-config.php (está ubicado no más abres la carpeta), por si la base de datos a donde migras no tiene el mismo nombre, cambiando lo siguiente a los nuevos valores que has configurado en tu nuevo dominio:

define(‘DB_NAME’, ‘gd2_site’);
/** MySQL database username */
define(‘DB_USER’, ‘gd2_user’);
/** MySQL database password */
define(‘DB_PASSWORD’, ‘xKN2fyn<ltM3′);
define('DB_NAME', 'aqui el nombre de la db');
/** MySQL database username */
define('DB_USER', 'aqui va el user');
/** MySQL database password */
define('DB_PASSWORD', 'aqui va el password');

3. Prepara tu nuevo dominio

Como te dije antes, debes de ya tener tu nuevo domino configurado con su hosting con 36 horas de anticipación, si no lo has hecho, ve, tómate un café o durme un poco y regresa cuando se haya cumplido ese tiempo.

Tienes que crear tu base de datos en tu servidor. Una vez la tienes funcionando vas a subir los archivos al FTP (los que bajaste en el paso 2) a tu nueva dirección. Tendremos que esperar un poco.

4. Importar archivos

mudar4

Una vez se subieron todos los archivos de tu WordPress, vas a importar todos los datos de los cuales hiciste backup en el paso 1. Para ellos ingresamos otra vez a phpMyAdmin (por supuesto en nuestro nuevo dominio verdad), elegimos la base de datos que ya creamos (la del paso 3) y en las pestañas hay una que dice Importar.

Seleccionas el archivo y listo, le damos seguir. Ahora ya casi estas, solo falta un detalle, el que comente al principio. Para que WordPress sea completamente independiente debes cambiar algunos parámetros en la base, ya que WordPress guardar las direcciones (como páginas y links internos) de forma absoluta, lo que se dificulta, pero esto es solucionado en 3 pequeños pasos más.

5. La magia

Si te das cuenta, en las opciones donde importaste y exportaste hay una solapa con SQL, elegis esa.

Y ahora colocas este código:

UPDATE wp_options SET option_value =
replace(option_value, 'http://www.mi-viejo-dominio.com', 'http://www.mi-nuevo dominio.com')
WHERE option_name = 'home' OR option_name = 'siteurl';

Lo que hacemos aquí es remplazar el url del sitio donde estaba alojado al nuevo.

Ahora:

UPDATE wp_posts SET guid = replace(guid, 'http://www.mi-viejo-dominio.com', 'http://www.mi-nuevo dominio.com');

Con este querie vamos a reemplezar todos los url’s en los posts y las páginas, de manera que se vuelvan a tu nuevo dominio y por último:

UPDATE wp_posts SET post_content =
replace(post_content, 'http://www.mi-viejo-dominio.com', 'http://www.mi-nuevo dominio.com');

Por último remplazamos todos los links que tenga el contenido, para no tener errores 404. ¿Fácil no?

¡UPDATE! (14 dic 10′)

Agrega este código para cambiar las url (si existen) de los custom fields.

UPDATE wp_postmeta SET meta_value =
replace(meta_value, 'http://www.mi-viejo-dominio.com', 'http://www.mi-nuevo-dominio.com')

6. Ahora sí, lo último

Ingresa al administrador y cambia el nombre del sitio o los correos configurados, date cuenta de que los plugins funcionen a la perfección.

Espero que te sea de utilidad, ya que pase unas cuantas horitas viendo información sencilla y en español, pero no, la encontre mezclando varios sitio y en inglés; y no tengo problema con ello, pero es mucho más fácil de comprender las cosas en el idioma materno (o paterno). ¡Éxitos y pilas!

10s comments

  1. Buenisimo man! yo mude mi blog hace poco pero me fui por otro camino (pues era el único que conocia), me parece excelente que publiques esta forma de hacer ese trabajo tan delicado.

    Comentario por Samuel en 22 agosto 2009 a las 0:36

  2. Excelente artículo, sin duda una guía invaluable, es una forma rápida, pronta y segura de hacerlo.

    ¿Que tal sería hacer un plugin que hiciera estas modificaciones, dirigido a los novatos?

    Si te animás avisame y le podríamos entrar.

    Saludos.

    Comentario por Pepe en 22 agosto 2009 a las 11:42

  3. Sugerencia del Cheff: Cuando cambio de dominio un wordpress abro la base de datos exportada con un editor de texto y reemplazo el dominio viejo por el nuevo, lo hago así por que la URL además de en wp_options también esta en todas las imágenes.

    Comentario por cristian en 22 agosto 2009 a las 20:44

  4. Excelente informacion, aun no lo he tenido que hacer pero esto es informacion de primera, para cuando se necesite, muy buen post jepser, y que paso con el proyecto turistico, ahi me contas como va esa onda.

    Comentario por danielL en 28 agosto 2009 a las 11:32

  5. Hola Cristian,

    Acabo de realizar tú tutorial y la verdad es que muy bien pero ahora no puedo acceder al panel de administracíon. Ya no admite la contraseña del viejo dominio. Lo probé en los dos dominios pero no funciona. No tengo ningún mensage de error.
    Gracias por tu ayuda
    Miguel

    Comentario por miguel en 18 agosto 2010 a las 7:31

  6. Eres un crack!! Me ha funcionado! Solo un problema. El SQL me daba error de sintaxis. Se me ocurrió que podía cambiar las comillas. ‘ por ”
    UPDATE wp_options SET option_value = replace(option_value, “http://www.mi-viejo-domiinio.com”, “http://www.mi-nuevo dominio.com”) WHERE option_name = “home” OR option_name = “siteurl”;

    UPDATE wp_posts SET guid = replace(guid, “http://www.mi-viejo-domiinio.com”, “http://www.mi-nuevo dominio.com”);

    UPDATE wp_posts SET post_content = replace(post_content, “http://www.mi-viejo-domiinio.com”, “http://www.mi-nuevo dominio.com”);

    Comentario por Adrian en 17 mayo 2011 a las 14:06

  7. Exelente información. Pude mover mi sitio sin ningun problema.. Gracias!!

    Comentario por fabricio en 25 agosto 2011 a las 12:37

  8. Excelente! me funciono sin problemas!!! solo se tiene que tener en cuenta el detalle de Adrian, aunque yo utilize comillas simples.

    Gracias.

    Comentario por Jordi Artau en 23 septiembre 2011 a las 3:10

  9. Un genio!

    Comentario por Juan Pablo Jaimes en 2 octubre 2011 a las 18:57

  10. GENIO! funciono a la perfeccion, me salvaste las papa. adios!!

    Comentario por Hernan en 2 enero 2012 a las 15:41

Go top idea