El otro día me enfrenté a este pequeño reto y al buscar información no encontraba nada que me valiese, muchos post todos copias unos de otros (de gente que imagino que nunca se paró a pensar o a leer lo que puso), y la verdad es que cogí un poco de cada y luego tuve que utilizar soluciones caseras.
Bien, partimos de la base que tenemos un blog montado con wordpress, y lo tenemos fletado de plugins, con muchísima configuración de por medio, con bastantes archivos subidos, con mucho material. La opción de wordpress export no nos vale para nada por que cuando intenta importar los archivos adjuntos a cada entrada falla al quedarse sin memoria. Además de que es un proceso lentísimo y no nos restaura mas que los post, comentarios y poco mas.
Queremos trasladar todo nuestro blog de un hosting a otro, con cambio de dominio/dirección incluído, que este era el principal problema que no resuelven la mayoría de sitios, dan por sentado que la dirección del sitio no va a cambiar y esto es un grave error.
- Primeramente necesitamos realizar un backup de todos nuestros archivos físicos del blog, cuando digo todos, es todos, nos conectamos por FTP con nuestro cliente favorito, en mi caso filezilla y descargo toda la página web al disco duro.
- Luego tenemos que hacer un backup de nuestra base de datos, podemos hacerlo con la propia herramienta que nos da el hosting que seguramente tenga instalado phpmyadmin, seleccionamos todas las tablas, incluyendo las de los plugins y las exportamos.
- Exportamos aparte la tabla wp_posts completa, esto ya os diré mas adelante por qué. Aunque tengamos ya la tabla exportada en el otro backup general nos interesa tenerla suelta para otra cosa.
- Subimos todos los archivos al nuevo hosting, recordar no subir todo a la raiz, hacerlo en un directorio para que quede mas limpio y para futuras «ampliaciones» de vuestra web.
- Dependiendo de nuestro hosting nos dejará o no crear bases de datos, esto os lo explico por que en el backup que hemos realizado de la base de datos con phpmyadmin vienen las órdenes de crear una base de datos igual a la que teníamos y nuestro hosting puede no dejar que el usuario elija el nombre de sus bases de datos o que siga una jerarquía, así que iremos al backup y lo abrimos con wordpad , importante que sea wordpad u otro editor que respete el formato, ya que si lo abrimos con el block de notas sale todo seguido y luego al guardarlo no lo reconoce phpmyadmin.Editamos la parte en la que pone que se crea una tabla, tal cual la borramos y la guardamos, la podemos comprimir luego en gzip si queremos, para que al subirla al hosting sea mas rápido.Creamos la base de datos en nuestro hosting y luegl en phpmyadmin importamos ese backup modificado, hay veces que sin mas pone que falla, intentarlo una segunda vez que funciona, si a la segunda no funciona deberemos de ver qué error nos está dando, puede que se trate por que no lo ha guardado en formato correcto, revisar el editor que habéis usado.
- Una vez esté todo importado vamos a modificar el backup del wp_posts, lo abrimos de nuevo con wordpad y vamos a reemplazar todas las direcciones del antiguo blog por las nuevas, para ello usamos la función «reemplazar» que tiene, ponemos la dirección del antiguo blog tal cual salga y luego la nueva abajo, tardará unos minutos si es demasiado grande el archivo.Aseguraros que lo sustituye bien, si ponéis http://asdasd.com que sea sustituido con http://qwerqwer.com/ os encontraréis muchas entradas con http://qwerqwer.com//(con dos barras en vez de una).Cuando esté hecho nos vamos a phpmyadmin, seleccionamos la base de datos y borramos la tabla wp_posts. Importamos nuestra tabla wp_posts, si va todo OK debería de saliros ahí la nueva tabla wp_posts ya modificada.
- Una vez esté hecho lo anterior nos vamos a la tabla wp_options y en examinar valores, buscamos una entrada que pone siteurl y en option value vemos que aparece la dirección antigua de nuestro blog, la modificamos por la nueva.
- Modificamos ahora el wp-config.php de siempre con los nuevos datos de servidor de base de datos, nombre de la base de datos, usuario, etc…
- Entramos al blog, y directamente al dashboard de administración, configuramos en opciones todo lo referente a la nueva dirección, editamos los pemalinks y forzamos a que se reconstruyan.
Una vez hecho esto ya estará nuestro blog funcionando en el nuevo hosting, si por una razón nos aparece error 404 al intentar acceder a las entradas o categorías es por que no se han reconstruido correctamente los permalinks, para ello podéis usar el plugin WCS Custom Permalinks Hotfix , que se encarga precísamente de esto, es raro que os haga falta usarlo siguiendo mi método.