Zuletzt getestet: Oktober 2025 | Wrangler: 3.x | Node.js: 20+ | Plattform: macOS/Linux/Windows
Wenn Sie auf Cloudflare Pages ueber deren Git-Integration deployed haben, ist Ihnen vielleicht eine neue Deprecation-Meldung aufgefallen: Cloudflare hat Pages im April 2025 deprecated. Sie draengen alle zu Cloudflare Workers.
Zunaechst klingt das nervig. Pages war kinderleicht - Repository verbinden, Build-Befehl setzen, fertig. Workers? Das klingt so, als muessten Sie Serverless Functions schreiben und Edge Computing verstehen und... ja, es kann einschuechternd sein, wenn man nicht weiss, wo man anfangen soll.
Hier ist die gute Nachricht: Das Deployen einer statischen Website auf Workers ist unkompliziert, sobald Sie den Workflow verstehen. Und Sie bekommen mehr Kontrolle ueber Ihre Deployments im Prozess.
Ich habe gerade meinen Gatsby-Blog vom alten Pages-Flow auf Workers migriert. Hier ist alles, was ich gelernt habe.
Was Sie benoetigen
Bevor wir anfangen, stellen Sie sicher, dass Sie haben:
- Eine statische Website (Gatsby, Next.js static export, React build, Hugo, Astro)
- Node.js 20+ installiert
- Ein Cloudflare-Konto (Free Tier reicht aus)
- Wrangler CLI (installieren wir jetzt)
Schritt 1: Wrangler installieren
Wrangler ist Cloudflares Kommandozeilen-Tool zum Deployen auf Workers. Fuegen Sie es Ihrem Projekt hinzu:
npm install -D wranglerOder installieren Sie es global, wenn Sie das bevorzugen:
npm install -g wranglerIch empfehle, es als Dev-Dependency in Ihrem Projekt zu installieren, damit Ihr Team dieselbe Version verwendet.
Schritt 2: Wrangler authentifizieren
Bevor Sie deployen koennen, muessen Sie Wrangler mit Ihrem Cloudflare-Konto verbinden:
npx wrangler loginDies oeffnet Ihren Browser und bittet Sie, Wrangler zu autorisieren. Klicken Sie auf "Allow" und Sie sind bereit.
Fuer CI/CD benoetigen Sie stattdessen ein API-Token (dazu spaeter mehr).
Schritt 3: wrangler.toml erstellen
Wrangler benoetigt eine Konfigurationsdatei im Root Ihres Projekts. Erstellen Sie wrangler.toml:
name = "ihr-projekt-name"
compatibility_date = "2025-10-19"
# Das sagt Wrangler, wo Ihre statischen Dateien sind
pages_build_output_dir = "public"
[site]
bucket = "./public"Wichtige Felder:
name: Ihr Projektname (wird Teil Ihrer Workers-URL)compatibility_date: Sperrt Ihre Workers-Runtime-Versionpages_build_output_dir: Wo Ihre statischen Dateien nach dem Build liegenbucket: Dasselbe, andere Syntax (beides funktioniert)
Fuer eine Gatsby-Site ist das Output-Verzeichnis public. Fuer Next.js ist es out. Fuer Create React App ist es build.
Schritt 4: Ihre Website bauen
Hier aendert sich nichts. Fuehren Sie Ihren normalen Build-Befehl aus:
# Gatsby
npm run build
# Next.js (static export)
npm run build && npm run export
# Create React App
npm run buildDies generiert Ihre statischen Dateien in Ihrem Output-Verzeichnis.
Schritt 5: Auf Workers deployen
Hier ist der magische Befehl:
npx wrangler pages deploy publicErsetzen Sie public mit dem, was auch immer Ihr Output-Verzeichnis ist.
Erstes Deploy? Wrangler fragt:
✔ Geben Sie den Namen Ihres neuen Projekts ein: … ihr-site-name
✔ Geben Sie den Production-Branch-Namen ein: … mainDanach baut und deployed Wrangler Ihre Site. Sie erhalten eine URL wie:
https://ihr-site-name.pages.devSchritt 6: Deploy-Scripts zu package.json hinzufuegen
Jedes Mal npx wrangler pages deploy public zu tippen ist muehsam. Fuegen Sie Scripts zu Ihrer package.json hinzu:
{
"scripts": {
"build": "gatsby build",
"deploy": "npm run build && wrangler pages deploy public",
"deploy:prod": "npm run build && wrangler pages deploy public --branch=main"
}
}Jetzt ist Deployen nur noch:
npm run deploySchritt 7: Custom Domain einrichten
Ihre .pages.dev-URL funktioniert, aber Sie wollen wahrscheinlich Ihre eigene Domain.
Option 1: Ueber das Cloudflare-Dashboard (Am einfachsten)
Sobald Ihr erstes Deployment erfolgreich ist, fuegen Sie Ihre Custom Domain hinzu:
- Melden Sie sich in Ihrem Cloudflare-Dashboard an unter
https://dash.cloudflare.com - Klicken Sie in der linken Seitenleiste auf Workers & Pages
- Finden Sie Ihr Projekt und klicken Sie darauf
- Klicken Sie oben auf den Custom domains-Tab
- Klicken Sie auf die Schaltflaeche Set up a custom domain
- Geben Sie Ihre Domain ein (z.B.
example.com) - Klicken Sie auf Continue
- Fuegen Sie bei Bedarf eine weitere Domain fuer die
www-Subdomain hinzu - Klicken Sie auf Activate domain
Schritt 8: Automatische Deployments mit GitHub Actions
Der alte Pages-Flow hat automatisch deployed, wenn Sie zu main gepusht haben. Wir koennen das mit GitHub Actions nachbauen.
Erstellen Sie .github/workflows/deploy.yml:
name: Deploy to Cloudflare Workers
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build site
run: npm run build
- name: Deploy to Cloudflare Workers
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
command: pages deploy public --project-name=ihr-projekt-nameDas Fazit
Cloudflares Einstellung von Pages und das Zwingen aller zu Workers fuehlt sich zunaechst wie ein Rueckschritt an. Das Git-basierte Auto-Deploy war wirklich praktisch.
Aber sobald Sie Wrangler und CI/CD eingerichtet haben, bekommen Sie:
- Volle Kontrolle darueber, wann und wie Sie deployen
- Schnellere Deployments (kein Warten auf Cloudflares Build-Warteschlange)
- Besseres Debugging (Sie koennen Builds lokal testen vor dem Deployen)
- Zugang zu Workers-Features (Functions, KV Storage, Edge Logic)
Das initiale Setup dauert 20 Minuten. Danach ist es nur noch git push und GitHub Actions erledigt den Rest - dieselbe Erfahrung wie Pages, aber mit mehr Power unter der Haube.
Verwandte Guides
Bevor Sie auf Workers deployen, stellen Sie sicher, dass Ihr Cloudflare-Setup vollstaendig ist:
- DNS von GoDaddy zu Cloudflare verschieben - Bringen Sie zuerst Ihre Domain auf Cloudflare fuer beste Performance und SSL-Support
- DNS-Eintraege mit der Cloudflare API verwalten - DNS-Verwaltung als Teil Ihrer Deployment-Pipeline automatisieren
Fred
AUTHORFull-stack developer with 10+ years building production applications. I've been deploying to Cloudflare's edge network since Workers launched in 2017.
Need a developer who gets it?
POC builds, vibe-coded fixes, and real engineering. Let's talk.
Hire Me →
