Migré mi web de WordPress a Astro: el caso
Caso real: cómo migré dmaurel.cl de WordPress a Astro sin perder SEO. PageSpeed de 96 a 100, 0 URLs rotas, sin saltos de diseño. Proceso y datos reales.
- caso de estudio
- astro
- wordpress
- seo
- rendimiento

En septiembre de 2026 migré mi propio sitio, dmaurel.cl, de WordPress a Astro: 149 páginas, todas las URLs indexadas conservadas y un PageSpeed de 96 a 100 en móvil. Lo cuento porque es la misma decisión que me plantean muchos clientes: ¿vale la pena dejar WordPress? Aquí van el porqué, el proceso, los números reales y lo que aprendí.
En resumen
| Antes (WordPress) | Después (Astro) | |
|---|---|---|
| Tecnología | WordPress 7.1 + WP Rocket + jQuery | Astro 7, sitio estático |
| PageSpeed escritorio | 96 | 100 |
| Carga del contenido principal (LCP) | 1,0 s | 0,5 s |
| Tiempo de bloqueo (TBT) | 20 ms | 0 ms |
| Saltos de diseño (CLS) | 0,098 | 0 |
| JavaScript sin usar | 248 KiB | — |
| PageSpeed móvil | Sin medición válida | 96 a 98 |
| URLs indexadas perdidas | — | 0 |
| Alojamiento | Hosting WordPress | Cloudflare Pages |
Las cifras de escritorio comparan dos pruebas de PageSpeed Insights sobre la home: la del WordPress, del 7 de septiembre de 2026, justo antes de migrar, y la del sitio nuevo, del 23 de septiembre. La prueba móvil del WordPress no cargó bien, así que no la uso: prefiero dejar la casilla vacía antes que inventar una cifra.
El 96 del WordPress no era un mal puntaje: se sostenía con un plugin de caché (WP Rocket) que compensaba jQuery, 248 KiB de JavaScript que no se usaba y saltos de diseño al cargar. El sitio nuevo llega a 100 sin ningún plugin de ese tipo.
Por qué dejé WordPress
WordPress sigue siendo la mejor opción para muchos proyectos, y lo sigo usando para clientes que necesitan administrar su contenido a diario. Pero en mi caso pesaban tres cosas:
- Rendimiento: el sitio cargaba jQuery y 248 KiB de JavaScript que no se usaba, y dependía de un plugin de caché para compensar. En una copia archivada de 2024, la home llegaba a 12 scripts y 7 hojas de estilo.
- Mantención: actualizaciones de núcleo, tema y plugins, con el riesgo de que algo se rompiera en cada una.
- Control: quería HTML limpio, datos estructurados precisos y preparar el sitio para los buscadores con IA sin pelear con plugins.
Cómo lo hice
1. Inventario de todo lo indexado
Antes de escribir código, listé cada URL que Google tenía indexada. La regla fue simple: cada URL responde 200 en la misma ruta o tiene una redirección 301 documentada. Para eso mantuve el mismo formato de URL que WordPress, con barra final.
2. Importación del contenido
Escribí scripts que leyeron la API de WordPress y generaron el contenido en Markdown: 76 fichas de portfolio (luego consolidé dos duplicadas) y 11 artículos del blog, con sus imágenes.
3. Rediseño con SEO desde el inicio
Aproveché para corregir lo que WordPress arrastraba: títulos con emojis, títulos duplicados entre la home y “Sobre mí”, y descripciones generadas automáticamente. Reescribí los títulos y descripciones de todas las páginas pensando en el porcentaje de clics.
4. Datos estructurados completos
Cada página declara en JSON-LD quién soy, qué servicio ofrece, sus precios, migas de pan y preguntas frecuentes. En la validación previa al lanzamiento no hubo ningún error en los datos estructurados.
5. QA antes del cambio
Comparé el sitio en vivo con el nuevo, URL por URL: 134 de 134 URLs respondían 200 en ambos, sin enlaces internos rotos ni imágenes sin texto alternativo. Solo tres URLs cambiaban a propósito, todas con su redirección documentada.
6. Publicación en Cloudflare
El sitio se sirve como archivos estáticos desde Cloudflare Pages, y las imágenes del portfolio desde Cloudflare R2. No hay base de datos ni PHP que mantener.
Los resultados
- PageSpeed escritorio: de 96 a 100 en la home, y 100 también en una página de servicio y en un artículo.
- PageSpeed móvil: 96 en la home, 97 en una página de servicio y 98 en un artículo.
- Carga del contenido principal (LCP) en móvil: entre 1,8 y 2,3 segundos, dentro del rango que Google considera bueno.
- Saltos de diseño (CLS): de 0,098 a 0.
- Tiempo de bloqueo (TBT): de 20 ms a 0 ms.
- Páginas: 149 generadas en cada publicación, sin servidor detrás.
Preparado para la búsqueda con IA
Un sitio estático tiene una ventaja poco comentada: todo el contenido está en el HTML, sin depender de JavaScript, así que los rastreadores de IA lo leen completo. Además sumé:
- Un archivo llms.txt que resume el sitio para motores de IA.
- Una versión en Markdown de cada página y un archivo con todo el contenido, pensado para agentes que prefieren texto plano.
- Permiso explícito en
robots.txtpara los rastreadores de ChatGPT, Claude, Perplexity y Google.
Lo que aprendí
- El inventario de URLs es lo más importante. Una migración no pierde SEO por cambiar de tecnología, sino por romper URLs.
- Mide antes de migrar, y guarda los informes. Conservé la prueba de escritorio del WordPress, pero la móvil falló y ya no se puede repetir. Si vas a migrar, mide ambas y guárdalas.
- Migrar es la oportunidad de limpiar. Títulos duplicados, contenido desactualizado y posts que competían entre sí salieron a la luz en el proceso.
- No todo proyecto necesita esto. Si actualizas contenido todos los días sin conocimientos técnicos, WordPress sigue siendo una gran opción; también se puede combinar, con WordPress como gestor de contenido y Astro para mostrarlo.
¿Te conviene migrar tu sitio?
Te conviene si tu sitio es lento pese a los plugins de caché, si la mantención se volvió una carga o si quieres competir en rendimiento y en búsqueda con IA. Hago este tipo de proyectos como parte de mi servicio de diseño de páginas web con Astro, cuidando cada URL para no perder el posicionamiento. Cuéntame tu caso y lo evaluamos.