Desde que uso WordPress se ha vuelto muy común trabajar en mi laptop o en un server de pruebas y después pasar la instalación del blog / sitio completa a otro dominio. Ya sea dentro del mismo servidor o a otro.

Para moverlo simplemente hago un backup completo de la base de datos usando phpmyadmin (usando complete inserts) y un backup completo de la carpeta (sin olvidarme del .htaccess, muy importante).

Después monto todo en el dominio nuevo y usando phpmyadmin reemplazo las direcciones viejas por las nuevas. Acá empieza lo delicado.

Se puede usar el siguiente query:

UPDATE table_name SET column_name=REPLACE(column_name, ‘OLD VALUE’, ‘NEW VALUE’);

Las tablas a actualizar generalmente son wp_options (columna option_value), wp_postmeta (meta_value), wp_usermeta (meta_value) y wp_posts (post_content).

En wp_posts por ejemplo hay que hacer el reemplazo de las direcciones que están dentro de los posts, por ejemplo

UPDATE wp_posts SET post_content=REPLACE (post_content, ‘www.olddomain.com’, ‘www.newdomain.com’);

Problemas con Plugins

Es recomendable hacer backups de los datos de los plugins con las herramientas que traen los mismos.

Un ejemplo es Cforms II ya que almacena los datos serializados en la base de datos, es decir, guarda la versión en texto de el array / variables que contienen las opciones y al serializar el PHP guarda la medida de los strings. Por ejemplo s:9:”plugindir“.

Para el caso específico de Cforms: usar la herramienta de corrección (arregla las lngitudes) y arreglar el comienzo y el fin de la cadena. Dejo unos ejemplos que me ayudaron para comparar. Estos son el principio y el final de la cadena serializada:

  • Comienzo: a:3:{s:6:”global”;a:48:{s:9:”plugindir”;s:6:”cforms”;s:11:”cforms_root” (continúa)
  • Final: (sigue) 0$#$0$#$0″;}}

La herramienta arregla bien las longitudes pero agrega al principio mas longitudes y a veces algunos 1;1;1;. Al final agrega “;