WordPress mit Cloudflare Free absichern: Mein bewährtes Regelset für lokale und normale Websites
Wissen Server & Hosting
Viele WordPress-Websites werden täglich von Bots, Login-Angriffen, XML-RPC-Anfragen und unnötigem Spam-Traffic belastet. Gerade bei kleineren Unternehmensseiten, lokalen Dienstleistern oder einfachen WordPress-Projekten muss es aber nicht immer gleich ein teurer Enterprise-Schutz sein. Schon mit der kostenlosen Version von Cloudflare lässt sich eine Website deutlich besser absichern, wenn die Regeln sinnvoll aufgebaut sind.
Ich zeige hier das Regelset, das ich in der Praxis für viele WordPress-Seiten verwende. Es ist bewusst so aufgebaut, dass es auch in der Free Version von Cloudflare funktioniert und trotzdem schon sehr viel Schutz bietet.
Wichtig ist dabei: Nicht einfach wild Regeln anlegen, sondern sie in der richtigen Reihenfolge und mit der richtigen Logik einsetzen.
Warum Cloudflare überhaupt sinnvoll ist
Natürlich kann man viele Dinge auch direkt auf dem Server absichern. Das Problem dabei ist aber: Der Traffic erreicht den Server dann trotzdem erst einmal. Bots, Brute-Force-Anfragen oder unnötige Requests verbrauchen also bereits Ressourcen, bevor sie geblockt werden.
Cloudflare sitzt davor. Das heißt: Ein Teil des schädlichen oder unnötigen Traffics wird schon abgefangen, bevor er überhaupt auf dem Server oder bei WordPress ankommt. Genau darin liegt der große Vorteil.
Gerade bei WordPress bringt das in der Praxis oft gleich mehrere Vorteile:
- weniger Login-Angriffe
- weniger Last auf dem Server
- weniger unnötige Requests auf
/wp-login.phpund/wp-admin - Schutz vor typischen XML-RPC-Angriffen
- Bot-Traffic deutlich besser im Griff
Wichtig: Bei Cloudflare ist die Reihenfolge der Regeln entscheidend
Cloudflare arbeitet die Regeln von oben nach unten ab. Deshalb ist die Reihenfolge nicht nur Kosmetik, sondern Teil der Sicherheitslogik.
Darum habe ich die Regeln bewusst nummeriert:
01_gute_bots_erlauben02_xmlrpc_blockieren03_geo_challenge_ausland(optional)04_wp_admin_schuetzen05_wp_login_schuetzen
Die Nummern helfen dabei, auf einen Blick zu sehen, ob die Regeln in der richtigen Reihenfolge stehen. Das ist besonders praktisch, wenn man viele Kundenprojekte betreut.
Das Regelset im Überblick
Regel 1: Gute Bots erlauben
Name: 01_gute_bots_erlauben
Expression:
cf.client.bot
Aktion: Skip
Warum diese Regel wichtig ist
Das ist die wichtigste Regel überhaupt, obwohl sie auf den ersten Blick unspektakulär aussieht. Cloudflare erkennt damit bekannte und legitime Bots wie zum Beispiel Googlebot oder Bingbot.
Wenn diese Bots nicht sauber behandelt werden, kann es schnell Probleme mit der Indexierung und damit mit der Sichtbarkeit bei Google geben. Deshalb sollen diese Bots nicht challengt und nicht unnötig blockiert werden.
In der Cloudflare Free Version gibt es in manchen Oberflächen statt „Allow“ nur die Möglichkeit „Skip“ zu verwenden. In diesem Fall bedeutet das praktisch: Diese Anfragen sollen bestimmte Sicherheitsprüfungen überspringen.
Wichtig ist, dass diese Regel ganz oben steht. Wenn zuerst eine Geo-Regel oder eine Login-Regel greift, kann selbst ein guter Bot versehentlich in einer Challenge landen.
Was hier eingestellt werden sollte
Bei Skip sollten die relevanten Sicherheitsbereiche übersprungen werden, insbesondere die, die gute Bots nicht treffen sollen. Dadurch verhinderst du, dass Suchmaschinen-Crawler ausgebremst werden.
Regel 2: XML-RPC blockieren
Name: 02_xmlrpc_blockieren
Expression:
http.request.uri.path contains "/xmlrpc.php"
Aktion: Block
Warum diese Regel sinnvoll ist
Die Datei xmlrpc.php ist eine alte WordPress-Schnittstelle, die früher für externe Apps, Pingbacks und Remote-Funktionen gedacht war. Heute wird sie auf den meisten Websites nicht mehr benötigt, ist aber weiterhin ein beliebtes Angriffsziel.
Über XML-RPC laufen häufig:
- Brute-Force-Angriffe
- Pingback-Missbrauch
- Bot-Anfragen
- unnötiger Traffic
Wenn die Website diese Funktion nicht aktiv braucht, ist es sinnvoll, sie direkt auf Cloudflare-Ebene zu blockieren.
Warum hier „Block“ richtig ist
Im Gegensatz zu Geo-Regeln oder Login-Schutz ist XML-RPC ein sehr klarer technischer Endpunkt. Wenn du ihn nicht brauchst, gibt es keinen Grund, dort echte Besucher mit einer Challenge durchzulassen. Hier ist ein harter Block sinnvoll und sauber.
Regel 3: Ausland challengen
Name: 03_geo_challenge_ausland
Expression:
(ip.geoip.country ne "DE" and ip.geoip.country ne "BE" and ip.geoip.country ne "NL")
Aktion: Managed Challenge
Warum diese Regel optional ist
Diese Regel ist vor allem für lokale oder regionale Websites sinnvoll, also zum Beispiel für:
- Fahrschulen
- Handwerksbetriebe
- lokale Praxen
- lokale Dienstleister
- Vereine mit regionalem Fokus
Wenn die echte Zielgruppe fast ausschließlich in Deutschland, Belgien oder den Niederlanden sitzt, kann man Anfragen aus anderen Ländern challengen, ohne gleich alles hart zu blockieren.
Warum nicht blocken?
Viele machen hier den Fehler und setzen auf Block. Das ist meist zu aggressiv.
Managed Challenge ist besser, weil:
- echte Nutzer trotzdem noch durchkommen können
- Bots eher hängen bleiben
- das Risiko für SEO und legitime Zugriffe geringer ist
Wann man diese Regel besser weglässt
Für internationale Seiten, Agentur-Websites, Onlineshops oder Seiten mit gemischter Zielgruppe sollte man diese Regel meistens nicht verwenden.
Deshalb ist das meine optionale Regel:
Für lokale Websites sinnvoll, für internationale Projekte eher weglassen.
Regel 4: wp-admin schützen
Name: 04_wp_admin_schuetzen
Expression:
(http.request.uri.path contains "/wp-admin" and not http.request.uri.path contains "/wp-admin/admin-ajax.php")
Aktion: Managed Challenge
Warum diese Regel wichtig ist
Der Bereich /wp-admin ist einer der sensibelsten Teile jeder WordPress-Website. Hier finden Bots regelmäßig Backend-Scans, Login-Versuche und andere typische Angriffe statt.
Diese Regel sorgt dafür, dass Zugriffe auf das WordPress-Backend durch eine Challenge laufen.
Warum admin-ajax.php ausgenommen wird
Die Datei admin-ajax.php wird oft auch im Frontend verwendet, zum Beispiel für Formulare, Filter, dynamische Inhalte oder Theme-/Plugin-Funktionen. Würde man sie mitblocken, könnte man sich leicht Funktionen auf der Website kaputtmachen.
Darum ist die Ausnahme wichtig:
and not http.request.uri.path contains "/wp-admin/admin-ajax.php"
Warum die Regel auch dann sinnvoll bleibt, wenn man den Login-Slug ändert
Selbst wenn man den Login mit einem Plugin wie „WPS Hide Login“ auf eine andere URL legt, bleibt /wp-admin ein häufig gescannter Bereich. Deshalb lohnt sich diese Regel fast immer weiterhin.
Regel 5: wp-login schützen
Name: 05_wp_login_schuetzen
Expression:
http.request.uri.path contains "/wp-login.php"
Aktion: Managed Challenge
Warum diese Regel unverzichtbar ist
/wp-login.php ist das klassische Einfallstor für Brute-Force-Angriffe auf WordPress. Bots testen dort automatisiert Benutzernamen und Passwörter, oft rund um die Uhr.
Mit dieser Regel wird jeder Zugriff auf die Login-Seite zunächst challengt. Das hält bereits sehr viele einfache Bot-Angriffe ab.
Warum Challenge statt Block
Auch hier gilt: Ein echter Administrator oder Redakteur soll sich weiterhin einloggen können. Deshalb ist Managed Challenge sinnvoller als ein harter Block.
Wenn der Login-Slug geändert wurde
Selbst wenn der Login später über ein Plugin auf eine andere URL umgestellt wird, kann diese Regel trotzdem bleiben. Denn viele Bots versuchen weiterhin stumpf /wp-login.php. Dann laufen sie immerhin direkt in die Challenge.
Die zusätzliche Rate Limiting Rule
Neben den 5 Custom Rules ist eine weitere Schutzmaßnahme extrem sinnvoll:
Rate Limiting für wp-login
Name: rate_limit_wp_login
Pfad / Bedingung:
http.request.uri.path contains "/wp-login.php"
Aktion: Block
Warum Rate Limiting so wichtig ist
Die Challenge-Regel vor /wp-login.php ist gut, aber sie ersetzt kein echtes Begrenzen von Request-Mengen. Ein Bot kann sonst immer wieder neu anklopfen.
Rate Limiting sorgt dafür, dass bei zu vielen Anfragen in kurzer Zeit automatisch geblockt wird. Das schützt sehr effektiv vor Brute-Force-Angriffen.
Einschränkung in der Free Version
In der Free Version sind die Intervalle eingeschränkter. Teilweise kann man nur sehr kurze Zeiträume wie 10 Sekunden einstellen. Das ist nicht perfekt, aber trotzdem sinnvoll.
Auch wenn die Sperre nur kurz ist, werden Bots dadurch deutlich gebremst. In Kombination mit den anderen Regeln ist das ein starker zusätzlicher Schutz.
Empfohlene Reihenfolge der Regeln
Damit das Setup sauber funktioniert, sollte die Reihenfolge so aussehen:
01_gute_bots_erlauben
02_xmlrpc_blockieren
03_geo_challenge_ausland (optional)
04_wp_admin_schuetzen
05_wp_login_schuetzen
Und zusätzlich separat:
rate_limit_wp_login
Welche Regeln ich immer verwende – und welche nur optional
Fast immer sinnvoll für WordPress
Diese Regeln verwende ich bei den meisten WordPress-Seiten:
01_gute_bots_erlauben02_xmlrpc_blockieren04_wp_admin_schuetzen05_wp_login_schuetzenrate_limit_wp_login
Nur bei lokalen Seiten sinnvoll
Diese Regel setze ich nur dann ein, wenn die Seite klar lokal oder regional ausgerichtet ist:
03_geo_challenge_ausland
Warum ich keine „Mega-Regel“ verwende
Theoretisch könnte man mehrere Bedingungen in eine einzige große Regel packen. Praktisch ist das aber selten sinnvoll.
Der Hauptgrund: Eine Regel kann nur eine Aktion haben. Du willst aber in deinem Setup:
- gute Bots durchlassen
- XML-RPC blockieren
- wp-admin challengen
- wp-login challengen
Das geht sauber nur mit mehreren getrennten Regeln.
Zusätzlich wird Debugging viel leichter, wenn jede Regel nur eine Aufgabe hat.
Mein Fazit zur Cloudflare Free Version für WordPress
Die kostenlose Version von Cloudflare ist für viele WordPress-Projekte bereits erstaunlich stark, wenn man sie richtig einrichtet.
Natürlich ersetzt sie keine saubere WordPress-Pflege, keine Updates und keine Server-Härtung. Aber sie kann schon sehr früh schädlichen Traffic abfangen und typische WordPress-Angriffsflächen deutlich besser absichern.
Gerade für kleinere Unternehmensseiten, lokale Dienstleister und viele klassische WordPress-Projekte ist dieses Setup ein sehr guter Ausgangspunkt.
Die wichtigsten Punkte dabei sind:
- Regeln sauber trennen
- richtige Reihenfolge beachten
- nicht unnötig aggressiv blocken
- Geo-Regeln nur dort einsetzen, wo sie wirklich sinnvoll sind
- gute Bots sauber behandeln
- Login und XML-RPC gezielt absichern
Wer diese Basics sauber umsetzt, holt aus der Cloudflare Free Version bereits sehr viel heraus.





