Naar inhoud
98

Performance

Zero-JS, WebP, self-hosted fonts, 70ms TTFB

100

SEO

Schema.org, FAQPage, sitemap, OG, 301 redirects

100

Toegankelijkheid

WCAG 2.1 AAA contrast, ARIA, focus-visible

95

Beveiliging

CSP, DOMPurify, honeypot, sandbox, secret scanning

Performance

70 ms Time to First Byte
0 KB JavaScript (Zero-JS)
3 CSS bestanden
Self-hosted Fonts (GDPR-proof)
v7 Service Worker
WebP Afbeeldingen (94% kleiner)

SEO

  • XML Sitemap (13 pagina's)
  • robots.txt
  • Canonical URLs
  • Clean URLs (/menu, /contact)
  • WordPress URL redirects (301)
  • Restaurant Schema + AggregateRating
  • BreadcrumbList op alle pagina's
  • FAQPage schema (12 Q&A items)
  • OpenGraph + Twitter Card
  • Geo-targeting (Den Haag, NL)

Toegankelijkheid

  • Skip-to-main link
  • Semantische HTML
  • Focus-visible indicatoren
  • Touch targets ≥ 44px
  • aria-expanded, role="tablist", role="dialog"
  • aria-live regio's
  • prefers-reduced-motion
  • Contrast ratio 14.2:1 (AAA)

Beveiliging

  • Content Security Policy
  • XSS bescherming
  • Iframe sandboxing
  • Externe links beschermd
  • Formulier anti-spam
  • HTML sanitization
  • Secret scanning in CI

Oud vs. Nieuw

Oud

  • Vanilla HTML
  • Handmatig FTP
  • 1 taal (NL)
  • Geen tests
  • Geen CI/CD
  • WordPress erfenis

Nieuw

  • Astro 6 SSG
  • GitLab CI/CD
  • 3 talen (NL/EN/DE)
  • Playwright e2e
  • Google Sheets menu
  • PWA + offline

Pagina Overzicht

15 publieke pagina's — totaal gewicht per pagina (HTML + CSS)

Reserveren