Cambiar URL desde la base de datos phpmyadmin en wordpress

Hace varios días tuve que cambiar un dominio en wordpress y claro dije, será tan fácil como ir al apartado de «ajustes» > «general» y cambiar la dirección de worpdress y la dirección del sitio web, pero no amigo, ojalá fuera así de fácil.

Seguro que también te ha pasado que has migrado tu sitio web a otro dominio pero las imágenes de los posts siguen con la url antigua y te aparecerá un erro de imagen, tal que así:

En este post os voy a enseñar a cambiar de golpe todas aquellas urls de vuestro sitio web después de realizar una migración.

Nos vamos a ir nuestro panel de hosting y seleccionamos el apartado phpmyadmin, aquí es donde se almacena la base de datos de wordpress.

Cuando ya hemos llegado a la base de datos phpmyadmin vamos a destacar 3 bases de datos importantes, que son la de «options», «posts» y «postmeta». Estas bases de datos son las que contienen urls que prendemos migrar.

Ahora seleccionamos la opción «SQL» ya que vamos aplicar funciones que remplazarán todas las urls antiguas por las nuevas.

La primera función que vamos aplicar será la que ves a continuación, donde «options» tendremos que sustituirlo por el nombre de vuestra base de datos, en mi caso es «xWmBYnYIoptions».

UPDATE options SET option_value = replace(option_value, ‘https://dominioantiguo.com‘, ‘https://dominionuevo.com‘) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;

La segunda función que vamos aplicar será la que afecta a los post y página del sitio web, donde tendremos que sustituir «post» por el nombre de vuestra base de datos, en mi caso es «xWmBYnYIpost».

UPDATE posts SET guid = replace(guid, ‘https://dominioantiguo.com‘, ‘https://dominionuevo.com‘);

La tercera función afecta a los enlaces dentro del contenido, donde remplacemos de nuevo «post» por el nombre de vuestra base de datos.

UPDATE posts SET post_content = replace(post_content, ‘https://dominioantiguo.com‘, ‘https://dominionuevo.com‘);

Finalmente añadimos la última función para cambiar los campos personalizados de los post y páginas, de nuevo tendremos que cambiar el valor «postmeta» por el nombre que tengáis en vuestra base de datos.

UPDATE postmeta SET meta_value = replace(meta_value, ‘https://dominioantiguo.com‘, ‘https://dominionuevo.com‘);

Listo, ya tenéis todas vuestras urls migradas al nuevo dominio.