Shumiland/Caddyfile
Vadym Samoilenko 0d497b63a4
Some checks are pending
CI / Type Check (push) Waiting to run
CI / Lint (push) Waiting to run
CI / Unit Tests (push) Waiting to run
Deploy / Build & Push Image (push) Waiting to run
Deploy / Deploy to VPS (push) Blocked by required conditions
feat(analytics+seo): GTM events, UTM persistence and fixes, robots/sitemap, perf
- GTM dataLayer events: add_to_cart (CartContext), begin_checkout,
  form_submit_success on all forms and checkout
- UTM: persist landing params in sessionStorage (UtmCapture in layout);
  fix field names — forms sent utm_source while /api/leads expects
  utmSource, so UTM was silently dropped; LeadFormBlock also sent
  'source' instead of required 'formSource' (leads were rejected)
- robots.ts + sitemap.ts (static pages, blog posts, locations)
- PageHero: alt text for hero background
- VideoSection: lazy-load video on scroll into view; hero reels
  transcoded 57.5MB -> 9.6MB mp4 / 33.7MB -> 10.9MB webm
- Caddy: HSTS, nosniff, X-Frame-Options, Referrer-Policy headers

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 11:32:58 +01:00

21 lines
393 B
Caddyfile

{
auto_https off
}
:80 {
redir https://{host}{uri} permanent
}
:443 {
tls /certs/cert.pem /certs/key.pem
header {
Strict-Transport-Security "max-age=31536000; includeSubDomains"
X-Content-Type-Options "nosniff"
X-Frame-Options "SAMEORIGIN"
Referrer-Policy "strict-origin-when-cross-origin"
-Server
}
reverse_proxy app:3000
}