alexandraghionea.ro sur ordinateur et sur téléphone : le titre bleu marine « Poți începe cu o farfurie. » (Tu peux commencer par une assiette.) au-dessus d’une assiette de poisson, purée de petits pois, oignon rouge et roquette, et un bouton violet vers les guides

Présentation

Astro prégénère environ 330 pages ; un petit Cloudflare Worker ne gère que le paiement Stripe, le webhook associé et le téléchargement des PDF par liens signés depuis un stockage privé. Lighthouse attribue un score de 100 en SEO et en bonnes pratiques.

Contexte

Une boutique en ligne de guides PDF pour une nutritionniste, ainsi qu’une archive de plus de 320 publications Instagram transformées en pages rapides et indexables.

Architecture

  • Le statique avant tout : Astro prégénère chaque page (environ 330) au moment du build. Cloudflare les sert depuis son réseau edge, sans serveur ni requête en base de données à chaque visite.
  • Seules trois routes exécutent du code à la demande, dans un Cloudflare Worker : le paiement, le webhook Stripe et le téléchargement.
  • Le contenu est édité dans Sanity et lu une seule fois au build, avec des types TypeScript générés à partir du schéma.
  • Les photos et vidéos sont stockées dans Cloudflare R2 : environ 7 400 objets (originaux et variantes WebP), sans frais de trafic sortant.

Paiements et livraison

  • Stripe Checkout, avec vérification de la signature du webhook à chaque appel.
  • Resend envoie à l’acheteur, par e-mail, un lien de téléchargement signé (HMAC) valable 30 jours.
  • Le Worker transmet le PDF en streaming depuis un bucket R2 privé. Aucune URL de fichier n’est publique, et aucune donnée client n’est stockée.

Pipeline de contenu

  • Un script d’import Instagram idempotent : grâce à des identifiants déterministes, une nouvelle exécution ne duplique jamais les publications et n’écrase jamais les textes modifiés.
  • Des agents IA ont transcrit le texte contenu dans les images de plus de 160 publications, ce qui les a rendues indexables. Les publications trop courtes sont automatiquement marquées noindex.

Résultats

  • Lighthouse sur mobile : de 87 à 97 en performance, 95 en accessibilité, 100 en bonnes pratiques et 100 en SEO.
  • Une image hero en AVIF de 57 Ko sur mobile, du CSS intégré à la page et des polices réduites aux seuls caractères utilisés.
  • Une version Markdown de chaque page, ainsi que llms.txt, pour les agents IA.
  • Les pages statiques sont servies gratuitement : les pics de trafic ne coûtent donc rien.