---
title: "WordPress-Ablösung für einen Fernmitgliedschafts-Golfclub — statisch, DSGVO-sauber, auf Vercel live."
source: "https://neckarshore.ai/products/websites/oakwood-golf-club"
site: "neckarshore.ai"
status: "Live; Mitglieder-Portal geplant, noch nicht gebaut"
stack: "Next.js 16 (App Router), Cloudflare Turnstile, Markdown-Blog (gray-matter + marked), Playwright, React 19, SMTP (nodemailer), Tailwind CSS 4, TypeScript, Vercel"
exported: "2026-07-06"
---

# WordPress-Ablösung für einen Fernmitgliedschafts-Golfclub — statisch, DSGVO-sauber, auf Vercel live.

> Wir haben den 16 Jahre alten WordPress-Auftritt des Oakwood Golf Club durch eine statische Next.js-Site mit Anmeldung, Verlängerung, FAQ und Blog ersetzt.

## Was war die Ausgangslage?

Der Oakwood Golf Club bietet eine Fernmitgliedschaft mit offiziellem Handicap und Mitgliederkarte für Golferinnen und Golfer im DACH-Raum. Der bestehende Auftritt lief 16 Jahre lang auf WordPress und sollte durch eine schnellere, wartungsarme und datenschutzkonforme Lösung ersetzt werden — inklusive der Online-Strecken für Anmeldung, Verlängerung und Karten-Versand.

## Wie sind wir vorgegangen?

Wir haben den Auftritt als überwiegend statische Next.js-Site neu gebaut: schnell ausgeliefert, ohne externe Tracker und mit selbst gehosteten Fonts (kein Google-Fonts-CDN zur Laufzeit, DSGVO-by-Design). Die drei Formulare — Anmeldung, Verlängerung und Kontakt — laufen über Server Actions mit Cloudflare Turnstile als cookieless Spam-Schutz; der Versand erfolgt per SMTP, eine Honeypot-Strecke fängt Bots still ab. Eine strikte Content-Security-Policy samt HSTS, X-Frame-Options und Permissions-Policy ist global gesetzt. Die 16 Jahre WordPress-Inhalte werden über generierte Legacy-Redirects sauber auf die neuen URLs überführt.

## Wie ist die Website technisch gebaut?

Die Architektur im Detail — was hinter den Bausteinen oben steckt:

| Baustein | Detail |
| --- | --- |
| Framework | Next.js 16 (App Router), React 19, TypeScript |
| Styling | Tailwind CSS v4 |
| Hosting | Vercel |
| Blog | Markdown-getrieben (`gray-matter` + `marked`), im Repo versioniert — kein separates CMS als Laufzeit-Abhängigkeit |
| Formulare | Server Actions mit `nodemailer` (SMTP) für den Versand, Eingaben per Zod validiert; Cloudflare Turnstile als cookieloser Spam-Schutz |
| Sicherheit | Sicherheits-Header und Legacy-Redirects deklarativ in `next.config.ts`; Trailing-Slash-Normalisierung über `proxy.ts`, um Redirect-Hops zu sparen |
| Tests | Playwright-E2E |
| Mitgliederkarte | Gedruckter QR-Code auf `/qr.html`, der per Rewrite ohne Redirect-Hop auf die `/qr`-Route auflöst |

## Wie läuft die Pflege im Betrieb?

Jede freigegebene Änderung geht automatisch live — ohne manuellen Veröffentlichungsschritt. Davor und danach greifen mehrere automatische Kontrollen: Der Code wird auf Sauberkeit geprüft, die wichtigsten Abläufe werden bei jeder Änderung durchgetestet, einmal täglich läuft zusätzlich ein Test direkt gegen die Live-Seite, und wöchentlich werden Ladezeit, Barrierefreiheit und Suchmaschinen-Tauglichkeit gemessen. Neue oder geänderte Blog-Beiträge werden automatisch bei den Suchmaschinen angemeldet, damit sie innerhalb von Minuten neu erfasst werden. So lassen sich Inhalte — Blog, Bilder, Seiten — ohne technischen Aufwand veröffentlichen.

## Was ist heute live?

Live auf `oakwoodgolfclub.de` (DNS-Cutover IONOS → Vercel abgeschlossen). Heute online sind Startseite, eine SEO-Landingpage zur Fernmitgliedschaft, die Formulare für Anmeldung (`/mitglied-werden`) und Verlängerung (`/mitgliedschaft-verlaengern`), Kontakt, FAQ, Blog (29 Markdown-Posts) sowie die Rechtsseiten (AGB, Impressum, Datenschutz) und die QR-Splash-Seite der Mitgliederkarte. Cloudflare Turnstile ist auf allen drei Formularen aktiv. Ein Online-Payment ist noch nicht angebunden (Stripe ist laut Datenschutzseite ausdrücklich nicht live).

## Was kommt als Nächstes?

Geplant, aber noch nicht gebaut, ist ein Mitglieder-Portal mit Login, digitalen Scorecards und Handicap-Verwaltung — der nächste große Schritt, dessen Umfang noch mit dem Betreiber abgestimmt wird. Offen sind außerdem eine Online-Bezahlung und die Frage, wie die 16 Jahre an Blog-Inhalten langfristig gepflegt werden. Termine und Reihenfolge stehen noch nicht fest und werden gemeinsam mit dem Betreiber festgelegt.

## Häufige Fragen

### Was wurde ersetzt?

Der 16 Jahre alte WordPress-Auftritt des Oakwood Golf Club — eines Fernmitgliedschafts-Golfclubs mit offiziellem Handicap und Mitgliederkarte — durch eine überwiegend statische Next.js-Site mit den Online-Strecken für Anmeldung, Verlängerung, FAQ und Blog.

### Wie funktionieren die Formulare?

Anmeldung, Verlängerung und Kontakt laufen über Server Actions mit Cloudflare Turnstile als cookieless Spam-Schutz; der Versand erfolgt per SMTP, eine Honeypot-Strecke fängt Bots still ab, und Zod validiert die Eingaben.

### Wie wird der Blog gepflegt?

Der Blog ist Markdown-getrieben (gray-matter + marked) und im Repo versioniert — kein separates CMS als Laufzeit-Abhängigkeit. Neue oder geänderte Posts werden bei Push automatisch per IndexNow an Bing und Yandex gemeldet, damit sie binnen Minuten neu gecrawlt werden.

### Gibt es ein Mitglieder-Portal oder Online-Zahlung?

Ein Mitglieder-Portal (Login, Scorecards, Handicap-Verwaltung) ist geplant, aber noch nicht gebaut — es braucht noch Scope-Entscheidungen mit dem Betreiber. Eine Online-Zahlung (Stripe) ist ebenfalls noch nicht angebunden.
