Software & Tipps und Tricks: Wichtige Einstellungen für das Zusammenspiel von WordPress und Cloudflare

Zuletzt aktualisiert am 6. März 2020 von Birk Karsten Ecke

Cloudflare ist ein populäres Content Delivery Network – kurz CDN. Es dient dazu, die Ladezeiten einer Domain bei weit entfernten Clients zu reduzieren. Gleichzeitig verringert es durch Caching die Datentransferrate und sichert die Domain gegen unerwünschte Bots und DDoS Attacken ab. Cloudflare schaltet sich, wenn es aktiviert ist, vereinfacht gesagt zwischen den Client und den Webserver. Im Moment nutzen etwa 10 Millionen WordPress Installationen Cloudflare. Damit das Zusammenspiel zwischen WordPress und Cloudflare problemlos läuft, müssen ein paar Einstellungen manuell in Cloudflare erstellt werden.

Bild: Das Internet gehört heute ganz selbstverständlich zu unserem Leben. Foto: Pexels/pixabay. Klicken Sie auf das Bild um es zu vergrößern.

Bild: Das Internet gehört heute ganz selbstverständlich zu unserem Leben.
Foto: Pexels/pixabay.
Klicken Sie auf das Bild um es zu vergrößern.

 

Die prinzipielle Aktivierung von Cloudflare im Zusammenhang mit WordPress ist in diversen Blogs und auch auf der Website von Cloudflare beschrieben. Deshalb wird an dieser Stelle nicht explizit darauf eingegangen. Es werden daher nur spezifische Page Rules – also Seiteregeln – vorgestellt, die für einen reibungslosen Betrieb von WordPress mit Cloudflare erforderlich sind. Zusätzlich sollten Sie das WordPress Plugin “Cloudflare” installieren, falls das noch nicht geschehen ist.

Das Eintragen der Page Rules ist deshalb wichtig, weil alle Anfragen an die Domain über die Server von Cloudflare laufen, also auch alle Anfragen der in WordPress angemeldeten Benutzer. Wenn die Page Rules nicht richtig sind, werden neue Beiträge wegen des Caches von Cloudflare nicht richtig und nicht vollständig in die SQL Datenbank von WordPress eingetragen. Es ist wichtig, die Page Rules in der richtigen Reihenfolge einzutragen. Der oberste Eintrag ist die Regel, alle weiteren sind die Ausnahme. Die Reihenfolge der Page Rules kann per Drag und Drop nachträglichverändert werden.

Voraussetzungen:

  • Ein dedizierter Server oder virtueller Server mit vollem root Zugang.
  • Eine möglichst mit einem SSL Zertifikat abgesicherte Domain.
    Ein SSL Zertifikat sollten Sie für Ihre Domain sowieso haben, unabhängig von Cloudflare.
  • Aktivierter Cloudflare Account mit einem kostenlosen Free Plan.
  • Die Nameserver Ihrer Domain sind auf Cloudflare umgelegt.
    Wie Sie das machen können, ist vom Webhoster abhängig. In der Regel geschieht das auf einer Konfigurationsseite, die der Webhoster zur Verfügung stellt. Bei Fragen dazu kontaktieren Sie bitte Ihren Webhoster.
  • Ihre Domain ist mit Cloudflare verbunden und aktiv.

 

Eintragen der Cloudflare IP Adressen in der Whitelist Ihres Webservers:

Nicht in der Whitelist Ihres Webservers gelistete IP Adressen des Cloudflare CDN sind die häufigste Ursache der Nichterreichbarkeit einer Domain, die mit Cloudflare gekoppelt ist. Die Whitelist und eine Anleitung zum Eintragen auf dem Webserver finden Sie hier auf der Cloudflare Support Site: https://support.cloudflare.com/hc/de/articles/201897700-Die-Cloudflare-IP-Adressen-auf-die-Whitelist-setzen. Die Whitelist finden Sie hier im Textformat: https://www.cloudflare.com/ips.

Sie müssen sich dazu über ein Terminal als root auf Ihrem Webserver einloggen:

ssh -YC ihre_ip_adresse -l root ↵

Für die IPv4 Adressen verwenden Sie folgenden Befehl:

iptables -I INPUT -p tcp -m multiport --dports http,https -s $ip -j ACCEPT

Für die IPv6 Adressen verwenden Sie folgenden Befehl:

ip6tables -I INPUT -p tcp -m multiport --dports http,https -s $ip -j ACCEPT

$ip muss jeweils durch die IP Adressen von Cloudflare ersetzt werden. Die IP Adressen können Sie von der Website kopieren und in den Befehl einsetzen. Wenn der Webserver unter Linux läuft, können Sie den Befehl mit der Pfeil nach oben / nach unten Taste wiederholen. Das spart eine Menge Tippen oder Copy/Paste.

 

Eintragen und Aktivieren der Page Rules:

  • Die Einstellungen in Cloudflare können Sie wie folgt setzen.
  • Loggen Sie sich in Cloudflare mit Ihrem Account ein.
    https://www.cloudflare.com
  • Wählen Sie im Cloudflare Dashboard Ihre Domain aus.
Bild: Das Dashboard von Cloudflare mit der verbundenen und aktivierten Domain. Klicken Sie auf das Bild um es zu vergrößern.

Bild: Das Dashboard von Cloudflare mit der verbundenen und aktivierten Domain.
Klicken Sie auf das Bild um es zu vergrößern.

  • Die Page Rules finden Sie im Cloudflare Dashboard unter “Page Rules”.
Bild: Die Page Rules von Cloudflare finden Sie im Dashboard im Menü "Page Rules". Klicken Sie auf das Bild um es zu vergrößern.

Bild: Die Page Rules von Cloudflare finden Sie im Dashboard im Menü “Page Rules”.
Klicken Sie auf das Bild um es zu vergrößern.

  • Sie können jetzt folgende Einträge hinzufügen, und zwar in der folgenden Reihenfolge. Die Reihenfolge ist wie oben beschrieben entscheidend für die Funktionalität des WordPress Admin Bereiches! Die Reihenfolge der Einträge innerhalb einer Page Rule sortiert Cloudflare, sie ist nicht beeinflussbar. Alle Werte sind jederzeit nachträglich änderbar.
    • Absichern und Ausschließen des Admin Bereiches (Backend) von WordPress vom Cloudflare Cache.
      Es empfiehlt sich mit Wildcards (*) zu arbeiten. Die Einstellungen gelten dann für mehrere Optionen, z.B. www.ihre-domain.de oder ihre-domain.com oder …

      • Page Rule “*ihre_domain.endung/wp-*”
        Hier müssen Sie Ihre Domain eintragen, ohne führendes “www”. Das erledigt die Wildcard (*). Den “/wp-*” Pfad müssen Sie gegebenenfalls an Ihre WordPress Installation anpassen. Das sehen Sie beim Aufruf Ihres WordPress Backend in einem Webbrowser.
      • Security Level ⇒ High
      • Cache Level ⇒ Bypass
      • Disable Apps
      • Disable Performance
Bild: Setzen der Einträge für die Page Rules des Admin Bereiches (Backend) von WordPress in Cloudflare. Klicken Sie auf das Bild um es zu vergrößern.

Bild: Setzen der Einträge für die Page Rules des Admin Bereiches (Backend) von WordPress in Cloudflare.
Klicken Sie auf das Bild um es zu vergrößern.

      • Speichern und der erste Eintrag ist fertig.
    • Eintragen des Caches für alle anderen Seiten. Das sind die Seiten, die nicht angemeldete Benutzer, also normale Benutzer der Website, zu Gesicht bekommen. Diese Seiten sollen in den Cache des Cloudflare CDN aufgenommen werden.
      • Page Rule “*ihre_domain.endung/*”
        Hier müssen Sie Ihre Domain eintragen, ohne führendes “www”. Das erledigt die Wildcard (*). Den “/*” Pfad müssen Sie gegebenenfalls an Ihre WordPress Installation anpassen. Das sehen Sie beim Aufruf Ihrer Domain in einem Webbrowser.
      • Rocket Loader ⇒ On
        Priorisiert den Inhalt der Website und sorgt bei Websites, die JavaScript verwenden, für kürzere Ladezeiten.
      • Browser Cache TTL ⇒ 30 minutes
        Die Zeit, in der Seiten auf dem Client direkt aus dem Cache des Webbrowser geladen werden. 30 Minuten ist das im Free Plan von Cloudflare einstellbare Minimum.
      • Cache Level ⇒ Cache Everything
        Alle Inhalte der Domain werden von Cloudflare in den Servercache übernommen, soweit unterstützt und sinnvoll. Das entscheidet am Ende Cloudflare über seine Algorithmen.
      • Edge Cache TTL ⇒ 2 hours
        Die Zeit, nach der der Cache von Cloudflare bei Bedarf erneuert wird. 2 Stunden sind das Minimum, das im Free Plan von Cloudflare einstellbar ist. Sie können auch höhere Werte einstellen, wenn Sie Website nicht so häufig aktualisieren.
      • Automatic HTTPS Rewrites ⇒ On
        Egal, was in der Adressleiste des Webbrowsers eingegeben oder über eine Suchmaschine gefunden wird, es wird immer die SSL verschlüsselte Version Ihrer Domain geladen.
Bild: Cloudflare Page Rules für alle nicht angemeldeten Benutzer Ihrer Domain. das sind die Benutzer, die Website normal über einen Webbrowser aufrufen. Klicken Sie auf das Bild um es zu vergrößern.

Bild: Cloudflare Page Rules für alle nicht angemeldeten Benutzer Ihrer Domain. das sind die Benutzer, die Website normal über einen Webbrowser aufrufen.
Klicken Sie auf das Bild um es zu vergrößern.

      • Speichern und der zweite Eintrag ist fertig.
  • Kontrollieren Sie die Reihenfolge der Page Rules.
    Die Page Rule “*ihre_domain.endung/wp-*” muss der erste Eintrag sein.
    Page Rule “*ihre_domain.endung/*” muss der zweite Eintrag sein.
    Falls das nicht so ist, ändern Sie die Reihenfolge per Drag and Drop.
Bild: In dieser Reihenfolge müssen die Page Rules von Cloudflare eingetragen sein. Klicken Sie auf das Bild um es zu vergrößern.

Bild: In dieser Reihenfolge müssen die Page Rules von Cloudflare eingetragen sein.
Klicken Sie auf das Bild um es zu vergrößern.

  • Testen Sie anhand Ihrer Domain, dass die Einstellungen richtig funktionieren und Ihre Website erreichbar ist.
  • Kontrollieren Sie mit redbot.org, dass Ihre Domain über Cloudflare gecached wird und der Admin Bereich von WordPress sicher vom Caching ausgeschlossen ist.
    “CF-Cache-Status: HIT”.
    “x-HTML-Edge-Cache: cache,bypass-cookies=wp-|wordpress|comment_|woocommerce_”
    Anmerkung: Sollten Sie den Cloudflare Cache geleert haben, kann es ein paar Minuten dauern, bis Cloudflare den Cache erneuert hat. Während dieser Zeit kann “CF-Cache-Status: MISS” oder “CF-Cache-Status: EXPIRED” angezeigt werden. Prüfen Sie Ihre Domain nach ein paar Minuten erneut mit REDbot.
Bild: Prüfen Sie mit REDbot, ob der Cache unter Cloudflare aktiv ist. Klicken Sie auf das Bild um es zu vergrößern.

Bild: Prüfen Sie mit REDbot, ob der Cache unter Cloudflare aktiv ist.
Klicken Sie auf das Bild um es zu vergrößern.

 

Fazit:

Wunder kann die Kombination von WordPress und Cloudflare auch nicht erzwingen, aber es gibt Vorteile, die nicht von der Hand zu weisen sind:

  • Die Bereitstellung des Content der Domain geht bei großen Entfernungen zwischen Client und Webserver über die schnellen Datenanbindungen der Rechenzentren untereinander schneller als über eine direkte Verbindung des Client zum Webservers.
  • Die Domain ist gegen DDoS Attacken bestmöglich abgesichert.
  • Die Domain ist gegen böswillige Bots und Malware bestmöglich abgesichert.
  • Die Domain ist gegen SQL Injektionen bestmöglich bgesichert.
  • Die IP-Adresse Ihrer Domain wird verschleiert.
    Es wird eine IP-Adresse aus dem Cloudflare Pool verwendet und ausgegeben.

 

Interne Links:

Software: Ein Serversetup mit WordPress und Cache sowie Content Delivery Network CDN Cloudflare im Geschwindigkeitstest
Software: Ein paar gute Gründe für die Koppelung einer WordPress Website mit dem Content Delivery Network CDN Cloudflare

 

Externe Links:

Cloudflare – Accelerate Your Website with One Click
https://www.cloudflare.com
Cloudflare Support Site – Die Cloudflare-IP-Adressen auf die Whitelist setzen
https://support.cloudflare.com/hc/de/articles/201897700-Die-Cloudflare-IP-Adressen-auf-die-Whitelist-setzen
WordPress – Cloudflare Plugin
https://de.wordpress.org/plugins/cloudflare
REDbot
https://redbot.org

Kommentare sind geschlossen.