Construyo sitios web con Astro para empresas que quieren páginas rápidas sin mantener un servidor PHP. La propia wppoland.com está hecha así: Astro 7, Tailwind CSS 4, seis idiomas y despliegue en Cloudflare Pages. Lo que cuento aquí lo uso en producción a diario.
Qué hace distinto a Astro
Según la documentación de la arquitectura de islas, Astro renderiza cada componente de interfaz a HTML y CSS y elimina el JavaScript de cliente de forma automática. Un componente solo se vuelve interactivo cuando le pones una directiva como client:load, client:idle o client:visible. La navegación, el texto y el pie quedan como HTML puro, y un buscador o un mapa se cargan como islas aparte. En la misma página puedes mezclar React, Svelte, Vue, Preact y SolidJS.
Las Server Islands, con server:defer, cubren el caso contrario: una parte que tiene que renderizarse en el servidor, como un carrito o el estado de sesión, mientras el resto de la página sigue en caché.
Quién soy: Mariusz Szatkowski (Wikidata), desarrollador WordPress desde 2006. WPPoland es el nombre de mi trabajo. Trabajo solo, así que el código que recibes lo escribo yo y tus accesos no pasan a nadie más.
Qué ofrezco: sitios Astro nuevos a partir de tu diseño, migraciones desde WordPress y Next.js, Content Collections y MDX, WordPress headless como fuente de contenido, trabajo de rendimiento y configuración de Cloudflare. El diseño gráfico y los wireframes los aportas tú, por ejemplo en un archivo de Figma.
Dónde: en remoto desde Gdynia, Polonia, en la misma zona horaria que Madrid. Nos comunicamos por correo, con documentos escritos y en el repositorio. Facturo B2B con NIF-IVA europeo PL7393037445.
Precios: cada proyecto se presupuesta aparte, a precio cerrado para un alcance definido o por horas para trabajo continuo. Mándame un brief y recibes un presupuesto por escrito con sus supuestos.
Para aplicaciones React con App Router, la página adecuada es desarrollador Next.js. Si el encargo va más allá de un framework, mira desarrollador de software.
Webs en varias lenguas: castellano, cooficiales y Latinoamérica
El artículo 3 de la Constitución establece el castellano como lengua oficial del Estado y hace cooficiales las demás lenguas españolas en sus comunidades autónomas según sus Estatutos. Una empresa con clientes en Cataluña, el País Vasco o Galicia a menudo quiere su web también en catalán, euskera o gallego.
Astro trae enrutamiento i18n. En la configuración defino locales (por ejemplo es, ca, eu, gl), defaultLocale y, si hace falta, fallback, para que una página aún no traducida al gallego se sirva en castellano. Con routing.prefixDefaultLocale decides si el castellano lleva /es/ en la URL.
hreflang para España y Latinoamérica
Las etiquetas hreflang las escribo yo en el layout. Google acepta un código de idioma ISO 639-1 con un código de país ISO 3166-1 opcional, y la documentación de versiones localizadas avisa de que es-419 no está admitido. Si vendes en España y en México, las versiones van como es-ES y es-MX, y cada una tiene que enlazar a las demás o Google ignora las etiquetas.
Content Collections y MDX
El contenido se define en src/content.config.ts. Los loaders glob() y file() leen archivos locales en tiempo de compilación y el esquema se escribe con Zod desde astro/zod. Si a un archivo le falta un campo obligatorio, Astro muestra un error que señala ese archivo. En wppoland.com hay miles de páginas en colecciones así, y el esquema es lo que mantiene igual el frontmatter en seis idiomas.
Si el contenido cambia más a menudo de lo que compilas, existen las live collections, que piden los datos en cada solicitud y necesitan un adaptador de renderizado bajo demanda.
Cuándo sigue siendo mejor WordPress
No recomiendo Astro para todo. WordPress gana cuando editores sin perfil técnico publican a diario desde un panel visual, cuando un plugin existente ya resuelve lo que necesitas o cuando la tienda pide WooCommerce. Hay una vía intermedia: WordPress headless. Los editores siguen en WordPress y Astro lee el contenido por la REST API o WPGraphQL al compilar.
Migración desde WordPress o Next.js
- Inventario. Listo cada URL, los enlaces internos, las imágenes, los datos estructurados y las integraciones de terceros, y miro en Google Search Console qué páginas reciben tráfico de verdad.
- Contenido. Entradas y páginas pasan a Markdown o MDX con frontmatter tipado. Las imágenes pasan por
<Image />y<Picture />deastro:assets, que pueden generar AVIF y WebP y fijan ancho y alto para evitar saltos de maquetación. - Direcciones. Si una URL cambia, recibe una redirección 301. Pruebo el mapa antes del lanzamiento.
- Datos estructurados. El marcado Schema.org que generan los plugins suele ser genérico. Lo reescribo para tu sitio.
- Medición. Mido Core Web Vitals antes y después. Los umbrales de Google son LCP en 2,5 segundos o menos, INP de 200 ms o menos y CLS de 0,1 o menos, en el percentil 75.
Cómo fue en mi propio sitio lo cuento en el informe de la migración de WordPress a Astro y en el caso de estudio de wppoland.com.
Despliegue en Cloudflare
Un sitio Astro estático se despliega en Cloudflare sin adaptador. Para renderizado bajo demanda está @astrojs/cloudflare. Cloudflare recomienda ahora Workers para proyectos nuevos, y elijo entre Pages y Workers según lo que pida el proyecto. En Pages cada push a una rama que no es la de producción crea una previsualización en una dirección del tipo <rama>.<proyecto>.pages.dev. Revisas el cambio ahí y lo apruebas por escrito antes de fusionarlo.
Visibilidad en buscadores de IA
Muchos asistentes de IA no ejecutan JavaScript al leer una página; reuní las fuentes en el artículo sobre asistentes de IA que no ejecutan JavaScript. Un sitio Astro estático entrega todo el texto en la primera respuesta HTML, así que títulos, párrafos y datos Schema.org se leen sin navegador. También puedo añadir un llms.txt según la propuesta de llmstxt.org, como el que tiene wppoland.com.
Mantenimiento después del lanzamiento
Actualizo Astro, Tailwind y el resto de dependencias en una rama aparte y pruebo el cambio en la previsualización antes de pasarlo a producción. Un sitio estático no tiene base de datos ni panel de administración que atacar, pero el DNS, la configuración de Cloudflare y los scripts de terceros siguen necesitando revisión. No ofrezco tiempos de respuesta garantizados; el alcance del mantenimiento queda fijado en el contrato.
Contacto
Cuéntame el alcance, los plazos que tienes en mente y la dirección de tu web actual a través del formulario de contacto. Te respondo por escrito con los siguientes pasos y un presupuesto.
La página de servicio de desarrollador Astro, más breve, resume el modelo de colaboración.






