Mettre en ligne un site vitrine sans WordPress
SEO, consentement et admin sans plugin. Le chemin AstroTan : fichiers Astro, Convex, Traefik sur un VPS.
WordPress reste le réflexe pour un site vitrine. Tu installes le CMS, un thème, Yoast, un bandeau de cookies, un plugin de cache, un constructeur. Six mois plus tard le thème a divergé, le plugin SEO a changé de propriétaire, et le HTML public n'est plus celui que tu as validé.
AstroTan inverse la charge. Le site public est du code Astro. L'administration gère publication, SEO, consentement et accès. Tu n'installes pas une extension pour chaque trou. Les trous sont déjà fermés, ou ils n'existent pas.
SEO sans plugin
Title, description, canonique, noindex : des champs sur la fiche. Le <head> les rend. JSON-LD Organization, Article, FAQPage et fil d'Ariane sortent des mêmes données. sitemap.xml et llms.txt listent uniquement les pages et articles publiés. « Ne pas indexer » et « ne pas faire citer par une IA » sont deux interrupteurs distincts.
Le mot-clé cible vit à côté du SEO, pas dedans. Il débloque un relevé DataForSEO plus tard. Il ne s'invente pas tout seul dans le HTML.
Consentement sans GTM bricolé
Aucun pixel n'est écrit dans la page. Umami, Meta, Google : chacun est déclaré dans le registre de consentement du site. Le bandeau n'apparaît que s'il y a quelque chose à demander. Ajouter un tiers impose d'incrémenter la version de consentement, sinon les gens auraient « accepté » un outil qui n'existait pas au clic.
Umami tourne dans la même pile Docker. Les identifiants de lecture ne touchent pas le navigateur. Compter une visite n'est pas rejouer la session : le recorder est un autre réglage, éteint par défaut.
Admin sans wp-admin
TanStack Start, pas une page PHP. Invitation, rôles owner / admin / editor. Un editor écrit ses brouillons. Publier exige owner ou admin. Sur l'instance publique de démonstration, le compte Tester ne publie pas, ne pose pas de secret, ne génère pas de couverture : ces mutations refusent le compte démo côté serveur.
Les articles s'écrivent dans l'éditeur. « Générer avec l'IA » produit le SEO et le GEO à partir du titre, du corps et du mot-clé. Une autre action pose une couverture. Les deux passent par OpenRouter, clé chiffrée, jamais en clair dans la table publique settings.
Mise en ligne sur un VPS
Compose, Traefik, certificats Let's Encrypt. Premier essai en CA de staging : la prod plafonne à cinq certificats par semaine. Le DNS doit pointer sur la machine, sans proxy orange devant le challenge HTTP-01.
Un rollback n'est pas « remettre les anciennes images ». C'est rejouer convex deploy + build + compose sur un sha. Les images seules laisseraient le schéma d'aujourd'hui face au frontend d'hier.
Le détail des fonctions déjà résolues et les tarifs sont à côté. Pour un projet, écrire suffit. L'accueil résume le produit en une page.