Saltar al contenido
Consulta Gratuita

Desarrollo

Migramos nuestra propia web de WordPress a Astro, y esto es lo que salió

No es un caso de cliente ni una estimación. Es esta misma web, medida antes y después, con los números en bruto, los tres fallos que no se veían en pantalla y la cosa que todavía hacemos mal y que se lleva tres cuartas partes del peso de la portada.

7 min de lectura

Dos láminas transparentes superpuestas sobre una mesa de luz, alineadas salvo en un pequeño cuadro del centro donde no encajan

WordPress mueve el 40,3 % de todos los sitios web y el 58,8 % de los que usan un gestor de contenidos conocido. Con esas cifras, cualquier artículo que empiece diciendo que hay que salir corriendo de WordPress está vendiendo algo.

Este no. Esta web estaba en WordPress con Elementor, la migramos a Astro, y lo que sigue son las medidas de antes y después sobre las mismas páginas, los tres fallos que descubrimos por el camino y que no se veían en pantalla, y una cosa que seguimos haciendo mal.

Nuestra tienda, por cierto, sigue en WooCommerce. Esa parte no se migró, y el artículo explica por qué.

Lo que se midió, y cómo

Las páginas del WordPress original están guardadas en el repositorio, tal como las servía el servidor. Las de Astro son las que hay publicadas ahora mismo. Se comparan las mismas cinco páginas, con el mismo contenido, y se cuentan tres cosas: el peso del HTML, cuántas hojas de estilo pide y cuántos ficheros de JavaScript carga.

Página HTML antes HTML después CSS antes CSS después JS antes JS después
Inicio 108,2 KB 17,8 KB 15 2 23 0
Servicios 107,7 KB 15,7 KB 15 2 23 0
Nosotros 96,1 KB 12,1 KB 16 2 23 0
Contacto 89,0 KB 18,7 KB 16 2 23 0
Política de cookies 92,4 KB 27,4 KB 14 2 23 0

Y el JavaScript escrito dentro del propio HTML, en la portada:

Bloques Bytes
WordPress 6 14.323
Astro 1 858

Un haz de cables enmarañado entrando en un panel y, justo debajo, un único cable trenzado con el resto de puertos vacíos

Veintitrés ficheros de JavaScript en todas las páginas. No en la que tenía el formulario: en todas, incluida la política de cookies. Esa es la marca de un constructor visual: carga su motor entero en cada página por si acaso la usas.

Conviene decir por qué desaparecen, porque no es magia. Astro no elimina el JavaScript: es que no lo pone. Construye HTML y manda al navegador sólo el código que escribas tú a propósito. Los 858 bytes que quedan son el menú del móvil. No hay framework, no hay librería, no hay motor de nada.

Lo que ve un visitante hoy

Las cifras de arriba son de ficheros. Esta es la portada publicada, medida en el navegador:

Peticiones 7
Transferido 600 KB
HTML 18 KB
Dominios de terceros 0

Ese cero no es casualidad ni es sólo estética: cada dominio de tercero que carga una página es un envío de datos antes de que nadie haya consentido nada. El despliegue de esta web falla si aparece un iframe de un tercero con su src puesto.

Los umbrales oficiales de las Core Web Vitals son 2,5 segundos de LCP, 200 milisegundos de INP y 0,1 de CLS, medidos en el percentil 75 de las visitas reales. No publicamos aquí nuestras cifras de campo porque todavía no hay suficientes visitas para que el percentil 75 signifique nada, y dar un dato de laboratorio como si fuera de campo es el truco más viejo de este tema.

Lo que seguimos haciendo mal

Aquí está el desglose de esos 600 KB, y no deja bien a nadie:

Recurso Peso
Tres ficheros de fuente 458 KB
Una imagen 112 KB
Dos hojas de estilo 13 KB
HTML 18 KB
JavaScript externo 0 KB

Las fuentes son el 76 % del peso de la portada. Están servidas en formato TTF y completas, con todos sus caracteres, cuando deberían estar en WOFF2 y recortadas a lo que el sitio usa de verdad.

Es decir: quitamos veintitrés ficheros de JavaScript y lo que más pesa ahora es la tipografía. Lo sabemos desde que lo medimos para escribir este artículo, está apuntado y se arreglará. Lo contamos porque un artículo donde todo sale bien no es un artículo, es un folleto.

Los tres fallos que no se veían

Una fila de pilotos verdes idénticos en un panel, todos encendidos por igual, sin nada que distinga uno de otro

Esta es la parte que de verdad importa de una migración, y la que casi nadie cuenta.

Cuando se pasa contenido de un sistema a otro, los fallos graves no dan error. La página se construye, se ve bien, se despliega y funciona. Lo que ha cambiado es la estructura invisible: qué es un encabezado y qué no, en qué orden, a dónde apunta cada enlace. Eso no se ve mirando la pantalla y es exactamente lo que lee un buscador.

Así que la comprobación no es mirar. Es superponer: un programa extrae del WordPress original cada encabezado, su nivel, su orden y cada destino de enlace interno; extrae lo mismo del HTML construido; los compara; y rompe el despliegue si algo no cuadra.

Cazó tres cosas el primer día:

  1. Cuatro iconos pintados como <h3> cuando en el original eran párrafos. El extractor asumía el nivel en vez de leerlo.
  2. Las cinco preguntas de un FAQ convertidas en <span> cuando eran <h3>. Entre esas dos páginas, diez encabezados desaparecidos sin que se notara absolutamente nada en pantalla.
  3. Los <h1> que la limpieza de HTML se comía. El título de la página, que es el elemento más importante que tiene, se perdía en un paso de limpieza.

Ninguno de los tres habría aparecido revisando la web a ojo. Los tres habrían salido semanas después, como una caída de posiciones que nadie sabe explicar.

Y no acabó ahí. Con el sitio ya en marcha aparecieron más de la misma familia: el sitemap declaraba cinco URLs cuando había nueve páginas indexables; la portada y el catálogo no emitían datos estructurados; ninguna página tenía imagen para redes, así que cada enlace compartido salía como un bloque de texto gris; y un botón de compra apuntaba a la URL de una API y devolvía un 404 con el producto existiendo y el precio correcto.

Cada uno de ellos es ahora una comprobación que rompe el despliegue. Esa es la única lección transferible del artículo: en una migración, lo que no se comprueba automáticamente se descubre tarde.

Lo que se pierde al salir de WordPress

Sería deshonesto acabar sin esto.

El editor visual. Es lo más grande. En WordPress, cambiar un texto es entrar al panel y pulsar actualizar. Aquí es editar un fichero y desplegar. Si en tu equipo publica gente que no toca código, ese coste es real y hay que resolverlo antes de migrar.

El ecosistema. Casi cualquier cosa que quieras hacer en WordPress la ha hecho ya alguien y está en un plugin. Fuera de ahí, se programa.

La inmediatez. Un cambio urgente un domingo por la tarde es un despliegue, con lo que eso implica.

Por eso nuestra tienda sigue en WooCommerce. El catálogo, el carrito, el IVA y la pasarela de Redsys se quedan donde ya funcionan; la web de presentación, que es contenido y cambia poco, se fue a Astro. Cada parte donde rinde.

Cuándo tiene sentido, y cuándo no

Sí, si tu web es de contenido, cambia poco, y quieres velocidad, control y que no cargue nada de terceros sin permiso.

No, si publicáis a diario entre varias personas sin perfil técnico, si dependéis de un ecosistema de plugins, o si nadie va a poder desplegar cuando haga falta.

Y una cosa que no es motivo: que WordPress «vaya lento». Un WordPress bien montado, con buen alojamiento y sin un constructor visual cargando su motor entero en cada página, va rápido. El problema de las páginas que medimos arriba no era WordPress: eran veintitrés ficheros de JavaScript que nadie usaba.

Si estás pensando en hacerlo

Lo que de verdad decide cómo sale una migración no es la tecnología que elijas. Es si tienes forma de demostrar que no has perdido nada, y eso se monta antes de migrar, no después.

Si quieres que lo hagamos nosotros, o que lo revisemos antes de que lo hagáis vosotros, nuestra bolsa de horas existe para esto: se compran horas, se gastan en lo que haga falta, y lo que sobra no caduca de un mes para otro.

Y si prefieres empezar por hablar, la primera consulta es gratuita y de ella sale una respuesta, no un presupuesto.

Preguntas frecuentes

¿Cuánto pesa una página de WordPress con Elementor frente a una de Astro?

En esta web, medido sobre las mismas páginas, el HTML pasó de entre 89 y 108 KB a entre 12 y 27 KB. Las hojas de estilo bajaron de quince o dieciséis a dos, y los ficheros de JavaScript de veintitrés a ninguno. Son cifras de un sitio concreto, no una media del sector.

¿Astro elimina todo el JavaScript?

No por arte de magia: lo elimina porque no lo pones. Astro construye HTML y sólo envía al navegador el JavaScript que escribas tú a propósito. En la portada de esta web eso son 858 bytes en línea y ningún fichero externo, frente a los veintitrés ficheros y los 14 KB en línea que cargaba antes.

¿Qué se pierde al dejar WordPress?

El editor visual, sobre todo. Con Astro, cambiar un texto es editar un fichero y desplegar, no entrar a un panel y pulsar actualizar. Si en tu equipo hay gente que publica sin saber programar, eso es un coste real que hay que resolver antes de migrar, no después.

¿Cómo se comprueba que una migración no ha perdido contenido?

Comparando el resultado contra el original de forma automática, no mirándolo. En esta web hay una verificación que extrae cada encabezado y cada enlace interno del WordPress original, los compara con el HTML construido y rompe el despliegue si cambia un nivel, un orden o un destino. Cazó tres fallos que no se veían en pantalla.

¿Merece la pena migrar una web de WordPress a Astro?

Depende de para qué sea la web. Si es un sitio de contenido que casi no cambia y quieres velocidad y control, sí. Si tu negocio vive del panel de WordPress, de su ecosistema de plugins o de que varias personas publiquen a diario sin tocar código, probablemente no. Nosotros migramos la web de presentación y dejamos la tienda en WooCommerce a propósito.

Fuentes

Todas las cifras de este artículo salen de aquí. Entre paréntesis, el día en que se consultó cada una: los precios cambian sin aviso.

  1. W3Techs, cuota de uso de WordPress (consultado el 12 de septiembre de 2026)
  2. web.dev, umbrales oficiales de las Core Web Vitals (consultado el 12 de septiembre de 2026)
  3. Astro, documentación oficial (consultado el 12 de septiembre de 2026)

¿Y en tu caso concreto?

Esto responde a la pregunta general. Si lo que tienes delante es una plataforma con un problema concreto —una migración, una integración que no encaja, una factura de alojamiento que no cuadra— la primera consulta es gratuita y de ella sale una respuesta, no un presupuesto.