Cómo buscar y reemplazar URLs en WordPress con WP-CLI

Cómo buscar y reemplazar URLs en WordPress con WP-CLI

Aprende a buscar y reemplazar URLs en WordPress con WP-CLI de forma segura, rápida y precisa, ideal para migraciones y cambios de dominio.

Cuando un sitio WordPress cambia de dominio, pasa de HTTP a HTTPS o necesita corregir enlaces antiguos, una de las tareas más delicadas es actualizar URLs en toda la base de datos. Hacerlo manualmente desde el panel puede ser lento y, en algunos casos, insuficiente. Aquí es donde WP-CLI marca la diferencia: permite hacer búsquedas y reemplazos masivos desde la consola con rapidez, control y menos margen de error.

En este artículo veremos cómo usar WP-CLI search-replace para sustituir URLs de forma segura, qué precauciones tomar y en qué escenarios conviene combinarlo con otras herramientas de mantenimiento. Si todavía no tienes instalado WP-CLI o quieres repasar lo básico, te conviene revisar primero qué es WP-CLI y para qué sirve en WordPress y primeros pasos con WP-CLI: comandos básicos explicados.

Por qué buscar y reemplazar URLs puede ser necesario

WordPress guarda información en la base de datos en muchos lugares diferentes: entradas, páginas, opciones, widgets, metadatos y, en algunos casos, incluso cadenas serializadas usadas por plugins o temas. Por eso, cambiar una URL no siempre significa modificar solo la configuración principal del sitio.

Algunos casos habituales son:

Migraciones de dominio: pasar de un dominio antiguo a uno nuevo.
Cambio de protocolo: sustituir URLs con http por https.
Corrección de enlaces internos: limpiar referencias antiguas tras una reestructuración.
Entornos de desarrollo: cambiar URLs entre local, staging y producción.

En estos escenarios, el comando adecuado de WP-CLI evita trabajo repetitivo y ayuda a mantener coherencia en todo el sitio.

Antes de empezar: prepara una copia de seguridad

Antes de ejecutar cualquier sustitución masiva, haz un backup completo de la base de datos. Un reemplazo mal planteado puede afectar enlaces internos, imágenes incrustadas o configuraciones de plugins. Si aún no tienes afianzado este proceso, te recomiendo leer cómo hacer un backup de WordPress con WP-CLI.

También es buena práctica comprobar que sabes restaurar la base de datos si algo falla. En ese sentido, conviene tener a mano la guía de cómo exportar e importar la base de datos con WP-CLI, porque el flujo de trabajo en consola suele ir de la mano del respaldo y la recuperación.

El comando search-replace de wp-cli

El comando principal para esta tarea es wp search-replace. Su función es buscar una cadena específica y reemplazarla por otra en la base de datos de WordPress. Su gran ventaja es que entiende la estructura de datos de WordPress, lo que resulta especialmente útil cuando hay valores serializados.

# Sintaxis básica
wp search-replace 'http://tudominio.com' 'https://tudominio.com'

# Ejemplo real: cambiar dominio antiguo por uno nuevo
wp search-replace 'https://dominio-antiguo.com' 'https://dominio-nuevo.com'

En un reemplazo estándar, WP-CLI recorre las tablas de la base de datos y actualiza las coincidencias encontradas. Esto lo convierte en una opción muy práctica para migraciones, siempre que se use con criterio y después de validar los resultados.

Cómo hacer una prueba antes de reemplazar

La mejor forma de evitar sorpresas es ejecutar primero una simulación. WP-CLI permite probar el reemplazo sin modificar nada, lo que te da una vista previa del impacto real del cambio.

# Simulación: no modifica la base de datos
wp search-replace 'http://tudominio.com' 'https://tudominio.com' --dry-run

Este paso es especialmente recomendable cuando trabajas con sitios grandes, tiendas online o instalaciones con muchos plugins. Una simple revisión del resultado puede ayudarte a detectar si la cadena aparece en más registros de los previstos o si alguna URL necesita un enfoque distinto.

Opciones útiles para afinar el reemplazo

El comando search-replace admite varias opciones que mejoran su control. No siempre necesitas todas, pero conocerlas te ayudará a adaptar el proceso a cada caso.

# Mostrar más detalle del proceso
wp search-replace 'http://tudominio.com' 'https://tudominio.com' --report-changed-only

# Limitar la operación a una tabla concreta
wp search-replace 'http://tudominio.com' 'https://tudominio.com' wp_posts

# Saltar tablas específicas
wp search-replace 'http://tudominio.com' 'https://tudominio.com' --skip-tables=wp_options

Si vas a cambiar una URL en toda la web, lo normal es recorrer la base de datos completa. Sin embargo, en algunos proyectos puede interesar limitar el alcance para no tocar tablas de terceros o configuraciones delicadas.

También puedes usar una referencia temporal a la estructura del sitio para comprobar qué contenido sigue apuntando a una dirección antigua. Esto es útil cuando el proyecto ya ha pasado por varias migraciones y necesitas auditar enlaces con rapidez.

Casos en los que hay que tener más cuidado

No todas las URLs se comportan igual. En WordPress abundan datos almacenados como cadenas serializadas, y ahí es donde las búsquedas manuales o sustituciones directas en SQL pueden romper información. WP-CLI está pensado precisamente para reducir ese riesgo, pero aun así conviene no improvisar.

Ten especial cuidado si tu sitio usa constructores visuales, plugins de membresía, LMS o tiendas online. Estos sistemas suelen guardar datos adicionales en la base de datos y pueden depender de rutas internas, imágenes destacadas o endpoints propios.

En casos complejos, puede ser útil combinar este proceso con una revisión general del sitio. Si además estás ajustando la dirección principal de la instalación, consulta cómo cambiar la URL de WordPress con WP-CLI para no confundir ese ajuste con el reemplazo masivo de contenidos y opciones.

Revisar el resultado después del reemplazo

Una vez ejecutado el comando, no des por hecho que todo está perfecto. Dedica unos minutos a comprobar páginas clave, imágenes, enlaces internos, botones y redirecciones. Un reemplazo exitoso en base de datos no siempre garantiza que el sitio cargue exactamente como esperas.

En especial, verifica:

Home y páginas principales: que carguen con el dominio correcto.
Enlaces internos: que no quede contenido apuntando al dominio antiguo.
Recursos multimedia: imágenes, PDFs o archivos incrustados.
Plugins críticos: formularios, checkout, membresías o áreas privadas.

Si después de cambiar URLs notas comportamientos extraños relacionados con caché, puede ser útil vaciar transients y caché con una guía específica como cómo limpiar la caché y transients con WP-CLI.

Ejemplo de flujo de trabajo recomendado

Para una migración típica, un flujo ordenado podría ser este:

# 1. Hacer backup antes de tocar nada
wp db export respaldo.sql

# 2. Probar el reemplazo sin cambios reales
wp search-replace 'http://antiguo.com' 'https://nuevo.com' --dry-run

# 3. Ejecutar el reemplazo real
wp search-replace 'http://antiguo.com' 'https://nuevo.com'

# 4. Limpiar caché si es necesario
wp cache flush

Este enfoque minimiza riesgos y te permite detectar problemas antes de que afecten a usuarios o al posicionamiento SEO del sitio.

Errores frecuentes al reemplazar URLs

Uno de los fallos más comunes es reemplazar solo una parte de las URLs y dejar otras referencias obsoletas. También es frecuente olvidar que un sitio puede tener versiones con y sin www, o que algunos contenidos sigan apuntando a http aunque ya uses https.

Otro error habitual consiste en realizar el cambio sin backup, o hacerlo sobre producción sin una prueba previa. Si trabajas con entornos separados, documentar bien cada paso te ahorrará tiempo y problemas.

Finalmente, recuerda que WP-CLI es una herramienta potente, pero la limpieza total del sitio a veces requiere más pasos: revisar base de datos, caché, redirecciones y archivos del entorno. En migraciones más complejas, incluso puede ser útil coordinar este proceso con otras tareas de mantenimiento que ya hayas visto en artículos anteriores sobre gestión de WordPress con WP-CLI.

Conclusión

Buscar y reemplazar URLs en WordPress con WP-CLI es una de esas tareas que ahorran horas de trabajo cuando se hace bien. La clave está en combinar tres elementos: backup previo, simulación con --dry-run y verificación posterior. Con esa metodología, podrás abordar migraciones de dominio, cambios a HTTPS o limpiezas de enlaces de forma mucho más segura.

Si ya usas WP-CLI para actualizaciones, instalaciones o copias de seguridad, este comando encaja de forma natural en tu flujo de trabajo y refuerza una administración más profesional de WordPress desde consola.

Fuentes y lecturas recomendadas

Documentación oficial de WP-CLI: search-replace

Documentación oficial de WP-CLI: db export

Documentación oficial de WordPress

Xose de la Paz

Más de 20 años transformando pasión en profesión. Experto en desarrollo Full Stack con una visión integral que abarca desde la gestión de servidores y redes hasta el diseño de interfaz. Soy un "todoterreno" tecnológico que cree en el aprendizaje continuo y la visión global de los proyectos. Entre despliegue y despliegue, me pierdo por el mundo con mi cámara al hombro.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies