alexandraghionea.ro su laptop e smartphone: il titolo blu scuro «Poți începe cu o farfurie.» (Puoi iniziare da un piatto.) sopra un piatto di pesce, purè di piselli, cipolla rossa e rucola, e un pulsante viola verso le guide

Panoramica

Astro genera in anticipo circa 330 pagine; un piccolo Cloudflare Worker gestisce solo il checkout con Stripe, il webhook dei pagamenti e il download dei PDF da uno storage privato tramite link firmati. Lighthouse assegna 100 in SEO e best practice.

Contesto

Un negozio online per le guide in PDF di una nutrizionista, affiancato da un archivio di oltre 320 post di Instagram trasformati in pagine veloci e indicizzabili.

Architettura

  • Static-first: Astro genera ogni pagina (circa 330) in fase di build. Cloudflare le distribuisce dall’edge, senza server e senza query al database a ogni visita.
  • Solo tre route eseguono codice su richiesta, in un Cloudflare Worker: il checkout, il webhook di Stripe e il download.
  • I contenuti si modificano in Sanity e vengono letti una sola volta in fase di build, con i tipi TypeScript generati dallo schema.
  • Foto e video risiedono su Cloudflare R2: circa 7.400 oggetti (originali e varianti WebP), senza costi per il traffico in uscita.

Pagamenti e consegna

  • Stripe Checkout, con la firma del webhook verificata a ogni chiamata.
  • Resend invia all’acquirente un’email con un link di download firmato (HMAC), valido per 30 giorni.
  • Il Worker trasmette in streaming il PDF da un bucket R2 privato. Non esistono URL pubblici dei file e non viene salvato alcun dato dei clienti.

Pipeline dei contenuti

  • Uno script di importazione idempotente da Instagram: grazie agli ID deterministici, rieseguirlo non duplica mai i post né sovrascrive i testi modificati.
  • Gli agenti AI hanno trascritto il testo presente nelle immagini di oltre 160 post, rendendoli indicizzabili. I post troppo brevi ricevono automaticamente noindex.

Risultati

  • Lighthouse su mobile: da 87 a 97 per le prestazioni, 95 per l’accessibilità, 100 per le best practice e 100 per la SEO.
  • Un’immagine hero in AVIF da 57 KB su mobile, CSS inline e font alleggeriti con il subsetting.
  • Una versione Markdown di ogni pagina, oltre a llms.txt, per gli agenti AI.
  • Le pagine statiche si servono gratis, quindi i picchi di traffico non costano nulla.