Reemplazar enlaces de la base de datos de WordPress con Search & Replace

Buscar y reemplazar enlaces en la base de datos de tu WordPress es una tarea habitual cuando se cambia una web de dominio o bien se está realizando el despliegue de una página web.

Para realizar estos cambios o actualizaciones de los enlaces de la base de datos, se va a emplear la herramienta gratuita Database Search & Replace.

Antes de comenzar a actualizar nada.. ¡Es obligatorio realizar un backup de la base de datos! Es una manera de que, en caso de error, se puedan revertir los cambios y no se pierda información.

Conéctate a tu FTP y crea una carpeta para subir esta funcionalidad

Conéctate por FTP al WordPress donde debes actualizar el dominio.

Accede a la raíz de la instalación del WordPress y crea una carpeta, en mi caso la he llamado «cambiaenlaces».

La raíz del WordPress es donde se localizan las carpetas wp-admin, wp-content y wp-includes.

Sube a esta carpeta los ficheros descargados del Search & Replace (en mi caso subo directamente los archivos y no subo carpetas intermedias).

Search & Replace en la raíz del WordPress

Conéctate a tu base de datos

Ahora, accede a esta carpeta desde el navegador, que será algo tipo a: https://javiervallejo.com/cambiaenlaces/

Se mostrará una pantalla como la siguiente, en ella, se debe configurar la conexión de base de datos (revisa el wp-config.php para ello).

Conexión a base de datos desde Searc & Replace

Actualiza los enlaces

Una vez configurada la conexión a base de datos, aparece un mensaje en verde en caso de una conexión satisfactoria, se debe introducir el texto a buscar, el texto a reemplazar y pulsar el botón de «Search and Replace» para iniciar este proceso.

Proceso Search and Replace

Para que este proceso se realice satisfactoriamente, se deben realizar los siguientes 3 cambios por este mismo orden:

1.- Actualizar el dominio al completo (con https y con la barra «/» al final)
Texto a buscar: https://www.miwebendesarrollo.com/
Texto a reemplazar: https://javiervallejo.com/

2.- Actualizar los enlaces eliminando la barra final
Texto a buscar: https://www.miwebendesarrollo.com
Texto a reemplazar: https://javiervallejo.com

3.- Actualizar los links sin https:// y sin la barra final
Texto a buscar: www.miwebendesarrollo.com
Texto a reemplazar: javiervallejo.com

Fijarse que en el proceso de los cambios las url se hace cada vez «más pequeña».

Dado que es una operación irreversible, tienes una cuenta atrás de 5 segundos, por si se deciden cancelar estos cambios.

Cancelar cambios de Search and Replace

Al finalizar un cambio, aparece el tiempo que ha llevado, el número de actualizaciones y se puede ver la cantidad de cambios por cada tabla.

Cambios de Search and Replace
Tablas afectadas Search and Replace

Revisa que todo esté bien

Una vez realizados los 3 cambios, comprobar que se puede acceder correctamente a la web, preferiblemente acceder en modo incógnito.

Puede que haya retoocar el fichero .htaccess o poner uno por defecto, aquí tienes uno para WordPress.

Una vez hayas podido acceder a tu web y veas que todo está correcto, regenera los enlaces permanentes (ajustes > enlaces permanentes > guardar).

Si utilizas el plugin Revolution Slider, esta herramienta no reemplaza bien las imágenes, ¡revisa tus sliders!

Eliminar Search & Replace

Por último, y muy importante, elimina esta funcionalidad Search & Replace a través de tu FTP o desde el propio botón de eliminar.

Ejemplo 1: Actualizar enlaces de una web realizada en un servidor local tipo Wamp

Suponer que antes de contratar el dominio y alojamiento, se ha estado trabajando en un servidor local, cuya url era: http://localhost/mipaginaweb/

Se requiere actualizar todos los enlaces al dominio: javiervallejo.com

Los cambios a realizar serían:

1.- Actualizar el dominio al completo (con https y con la barra «/» al final)
Texto a buscar: http://localhost/mipaginaweb/
Texto a reemplazar: https://javiervallejo.com/

2.- Actualizar los enlaces eliminando la barra final
Texto a buscar: http://localhost/mipaginaweb
Texto a reemplazar: https://javiervallejo.com

3.- Actualizar los links sin https:// y sin la barra final
Texto a buscar: localhost/mipaginaweb/
Texto a reemplazar: javiervallejo.com

Modifica el htaccess para que sea el que trae WordPress por defecto.

Ejemplo 2: Actualizar enlaces de una web realizada en un alojamiento de desarrollo

Ahora, la web se ha realizado, en una subcarpeta de mi propia web, en esta dirección: https://javiervallejo.com/hotelsantander/

El cliente ha contratado el alojamiento y ha elegido por dominio el siguiente: hotelsantander.com y, además, quiere que su web tenga el www, es decir que sea www.hotelsantander.com

Los pasos para actualizar la base de datos serían:

1.- Actualizar el dominio al completo (con https y con la barra «/» al final)
Texto a buscar: https://javiervallejo.com/hotelsantander/
Texto a reemplazar: https://www.hotelsantander.com/

2.- Actualizar los enlaces eliminando la barra final
Texto a buscar: https://javiervallejo.com/hotelsantander
Texto a reemplazar: https://www.hotelsantander.com

3.- Actualizar los links sin https:// y sin la barra final
Texto a buscar: javiervallejo.com/hotelsantander
Texto a reemplazar: www.hotelsantander.com

Modifica el htaccess para que sea el que trae WordPress por defecto.

Ejemplo 3: Actualizar enlaces tras cambiar la web de un dominio a otro

Por último caso, se tiene una web montada en la dirección www.fotosdelanaturalezaensantander.com pero se va a cambiar el dominio y se debe actualizar a www.naturalezasantander.es.

Los pasos para actualizar la base de datos serían:

1.- Actualizar el dominio al completo (con https y con la barra «/» al final)
Texto a buscar: https://www.fotosdelanaturalezaensantander/
Texto a reemplazar: https://www.naturalezasantander.es/

2.- Actualizar los enlaces eliminando la barra final
Texto a buscar: https://www.fotosdelanaturalezaensantander.com
Texto a reemplazar: https://www.naturalezasantander.es

3.- Actualizar los links sin https:// y sin la barra final
Texto a buscar: www.fotosdelanaturalezaensantander.com
Texto a reemplazar: www.naturalezasantander.es

En este caso no hace falta modificar el htaccess.

La base de datos de mi WordPress es muy grande

Me ha pasado en algún proyecto que al querer actualizar la web por cambio de dominio o despliegue, la herramienta Search & Replace llegaba a tardar horas en realizar un solo cambio, el motivo era que las tablas contenían mucha información.

En este caso, las tablas wp_post y wp_post_meta sumaban, entre las dos, casi millón y media de filas…

Tenía que:

  1. Hacer un backup antes de empezar a actualizar enlaces
  2. Realizar una actualización manual desde PhpMyAdmin
  3. Pasar de nuevo Search & Replace.

Actualizar los enlaces de la base de datos de forma manual

Para ello, accedí al PhpMyAdmin de esa web para poder lanzar unas consultas SQL manualmente y que actualizaran un gran número de enlaces.

Antes de lanzar estas consultas, es importante que tengas en cuenta los siguientes datos:

  • Puede que tengas que adaptar los prefijos de las tablas de la base de datos

  • Modifica el valor https://www.webactual.com por la URL actual de la web.

  • Adecua el valor https://www.minuevaweb.com por la URL de la nueva web.
  • Procura escribir las webs correctamente, ojo al www

Tabla wp_options

UPDATE wp_options SET option_value = replace(option_value, 'https://www.webactual.com', 'https://www.minuevaweb.com') WHERE option_name = 'home' OR option_name = 'siteurl';

Tabla wp_posts (consulta 1 de 2)

UPDATE wp_posts SET guid = replace(guid, 'https://www.webactual.com', 'https://www.minuevaweb.com');

Tabla wp_posts (consulta 2 de 2)

UPDATE wp_posts SET post_content = replace(post_content, 'https://www.webactual.com', 'https://www.minuevaweb.com');

Tabla wp_postmeta

UPDATE wp_postmeta SET meta_value = replace(meta_value, 'https://www.webactual.com', 'https://www.minuevaweb.com');

Actualizar enlaces con Search & Replace

Como habrás podido ver en el paso anterior se han actualizado ciertas tablas, pero hay muchas otras que no se han actualizado, por ello se debe pasar de nuevo Search & Replace como se ha detallado a lo largo de esta entrada.

Pásalo por todas las tablas, ya que pueden quedar algunos campos que no hayan podido actualizarse en el paso anterior.

Resultado

Con los cambios manuales, Search & Replace se ejecutó de forma rápida y pudo finalizar satisfactoriamente, sin los cambios manuales el cambio de dominio de la web hubiera sido mucho más complejo y costoso en tiempo.

Conclusiones finales

Search & Replace simplifica los cambios de los enlaces en la base de datos de nuestro WordPress cuando se cambia una web de dominio o bien se despliega en un entorno de producción.

A pesar de que una web pueda contener mucha información, ayudando a la herramienta con unas actualizaciones manuales ayudaremos a Search & Replace a finalizar antes y en consecuencia a tener la nueva web operativa lo más pronto posible.

¡Valora este artículo y ayúdame a mejorar la calidad del blog!
(Votos: 1 Promedio: 5)