Deploy — Cloudflare Pages + domeinen
De site staat in site/ (Astro, vanilla CSS/JS). Hosting = Cloudflare Pages, auto-deploy vanaf main.
Primair domein = storybooksandinsights.com; de drie varianten 301-en daarnaartoe.
1. Cloudflare Pages — het project
Workers & Pages → Create → Pages → Connect to Git → repo mark-notifica/storybooks-insights
(Cloudflare GitHub-app toegang geven tot deze privé-repo).
Build-instellingen (exact):
| Veld | Waarde |
|---|---|
| Production branch | main |
| Framework preset | Astro |
| Build command | npm run build |
| Build output directory | dist |
| Root directory (advanced) | site |
Environment variable toevoegen (voorkomt Node-versie-build-fout):
| Naam | Waarde |
|---|---|
NODE_VERSION | 22 |
Save & Deploy → eerste build geeft een *.pages.dev-URL.
2. Custom domain koppelen
Pages-project → Custom domains → Set up a custom domain:
storybooksandinsights.comwww.storybooksandinsights.com
Cloudflare maakt de DNS-records automatisch (apex via CNAME-flattening) én regelt het SSL-cert.
Conflict? Als Pages klaagt dat er al een record op de apex staat: verwijder in DNS de
geïmporteerde STRATO-placeholder A 217.160.0.248 en AAAA op de apex, en laat Pages z’n eigen
record zetten.
3. De drie varianten → 301 naar primair
In elk van de drie zones (storybooks-and-insights.com, insights-and-storybooks.com,
insightsandstorybooks.com): Rules → Redirect Rules → Create rule
- Name:
Redirect → primair - When incoming requests match: All incoming requests
- Then:
- Type: Dynamic
- Expression:
concat("https://storybooksandinsights.com", http.request.uri.path) - Status code: 301
- Preserve query string: Aan
Voorwaarde: er moet een proxied (oranje wolk) DNS-record voor de apex + www in die zone staan
— de van STRATO geïmporteerde records voldoen; de redirect vuurt aan de Cloudflare-edge (het
placeholder-IP wordt nooit echt geraakt). Universal SSL provisiont vanzelf zodra de zone Active is.
Volgorde
- Nameservers bij STRATO → Cloudflare (gedaan; wacht op registry-propagatie tot ~24u).
- Zones Active in Cloudflare (mail per domein).
- Pages-project + build (stap 1) →
*.pages.devwerkt. - Custom domain koppelen (stap 2) → primair live.
- Redirect Rules in de drie varianten (stap 3).
Notities
- DNSSEC stond op alle vier uit → geen migratie-risico. Optioneel later weer aanzetten via Cloudflare (DNS → Settings → DNSSEC) mét DS-record terug bij STRATO.
- Geen e-mail op deze domeinen in gebruik (mail loopt via notifica.nl). Wil je later
mark@storybooksandinsights.com→ Cloudflare Email Routing (gratis). - Preview tijdens ontwikkeling: statische build achter een cloudflared quick-tunnel op VPS7
(
astro build→astro preview --host 10.3.152.16 --port 4321).