Problema con URLs en la base de datos, migración de WordPress

En este blog disponemos de varias entradas que describen el proceso de migración de WordPress. Sin embargo, si nos disponemos a realizarla en muchas ocasiones nos encontraremos con el problema de las URLs internas de la base de datos al realizar un traslado de dominio.

En muchas ocasiones cuando trasladamos nuestro WordPress de un dominio a otro, nos encontramos el problema de que las URLs de la base de datos migrada siguen apuntando al dominio antiguo. Si queremos mover nuestro blog de dominio1.com a dominio2.com y nos ocurre el problema antes mencionado, debemos cambiar los registros necesarios en la base de datos.

Podemos realizar esto en unos sencillos pasos, para ello nos valdremos de phpMyAdmin:

Primero buscaremos en la base de datos todos los registros que conservan todavía el dominio antiguo, para lo cual usaremos la herramienta «buscar» de phpMyAdmin.

1

Insertamos en el primer campo el nombre de el dominio antiguo, dominio1.com y en la selección de tablas pulsamos en «seleccionar todo», pulsamos «continuar» y nos dará un listado de las tablas de la base de datos con el numero de registros en cada una de ellas que contienen lo que estamos buscando.

Pulsaremos en «examinar» para cada una de las tablas que tengan registros a cambiar y así veremos que columna contiene el dominio a cambiar.

Para cambiar estos registros vamos a la herramienta de phpMyAdmin «SQL» y allí en el campo en blanco usaremos las sentencias para cambiar en cada tabla.

Estas serán las 4 sentencias para las 4 tablas generales que todos podemos encontrar, podemos tener mas tablas que cambiar dependiendo de los plugin que tuvieramos instalados.

UPDATE wp_options
SET option_value = REPLACE(option_value,’dominio1.com’,’dominio2.com’);

UPDATE wp_posts
SET post_content = REPLACE(post_content,’dominio1.com’,’dominio2.com’);

UPDATE wp_posts
SET guid = REPLACE(guid,’dominio1.com’,’dominio2.com’);

UPDATE wp_postmeta
SET meta_value = REPLACE(meta_value,’dominio1.com’,’dominio2.com’);

En el caso de que tuvieramos mas tablas en las que cambiar las URLs solo hay que cambiar dos cosas de las sentencias anteriores:

UPDATE nombre_tabla
SET nombre_columna = REPLACE(nombre_columna,’dominio1.com’,’dominio2.com’);

Nombre_tabla lo sustituiremos por el nombre de la tabla que sabemos que tiene registros a cambiar y en lugar de nombre_columna pondremos el nombre de la columna donde se contiene el texto a cambiar.