Optimaler Schutz und höheres Tempo: Mit statischem WordPress auf der sicheren Seite

WordPress ist das mit Abstand beliebteste CMS im Internet. Weltweit werden damit aktuell etwa 30 Prozent aller Webseiten betrieben. Diese Beliebtheit macht das System aber auch zu einem bevorzugten Ziel von Hackern. Die haben häufig leichtes Spiel: Schätzungen zufolge weisen etwa 75 Prozent aller WordPress-Installationen Sicherheitslücken auf. Schuld daran sind Nachlässigkeiten bei der Programmierung, speziell von Templates und Plugins, aber auch die Bequemlichkeit vieler User, die zu selten Updates durchführen.

Zweiter Nachteil der großen Popularität: Die WordPress-Macher wollen oder müssen den Anforderungen von immer mehr Leuten gerecht werden – das macht das System langsam und führt zu langen Ladezeiten der Webseite. Wir zeigen Euch heute eine einfache Methode, mit der Ihr innerhalb weniger Minuten beide Probleme dauerhaft lösen könnt. Los geht’s!

Eine statische WordPress-Seite anlegen – Schritt für Schritt

In unserem Tutorial zeigen wir Euch, wie Ihr aus Eurem WordPress Blog eine statische Seite macht. Oder anders formuliert: Wie Ihr WordPress „versteckt“ und Eure Seite so vor Angriffen sichert. Wenn Ihr Euch bei WordPress einloggt und zum Beispiel einen neuen Post erstellt, dann legt WordPress alle Informationen in Datenbanktabellen ab. Der Inhalt des Posts kommt in eine Tabelle, der Autor kommt in eine andere, die URL wird in eine Tabelle geschrieben und so weiter. Sobald ein Besucher im Blog dann den Post aufruft, werden die nötigen Informationen aus allen Tabellen wieder zusammen gesucht und die Seite wird dynamisch generiert.

Im Hintergrund läuft also immer das komplette System WordPress mit. Die Folge: die Seite wird angreifbar und langsam. Die Lösung: Ihr generiert alle Seiten und Posts und speichert sie fertig zusammengesetzt – also statisch – auf dem Server. Und dann schaltet Ihr WordPress quasi ab beziehungsweise versteckt es.

Schritt 1: Subdomain und Unterordner erstellen

Legt zunächst eine Subdomain für Eure Domain an, etwa dyn.eure-domain.de. Eine detaillierte Anleitung dazu findet Ihr als checkdomain-Kunde in unserem Hilfebereich. Die neue Subdomain lasst Ihr auf Euer WordPress Verzeichnis zeigen, also genau auf das Verzeichnis, auf das bisher auch Eure Hauptdomain zeigt.

In Eurem WordPress-Verzeichnis auf dem Server muss jetzt ein Unterordner angelegt werden. In diesem Unterordner wird später die statische Version Eurer Seite abgelegt – sinnvoll wäre also zum Beispiel die Ordnerbezeichnung „static“.

WordPress mit Simply Static statisch ausliefern

Für das Erstellen des Unterordners benötigt Ihr einen FTP-Zugang zu Eurem Webspace. Solltet Ihr die Zugangsdaten vergessen haben, findet Ihr hier die Anleitung für die Vergabe eines neuen Passworts. Wichtig für checkdomain-Kunden: Falls Ihr in Eurem Account mehrere FTP-User angelegt habt, nutzt bitte die Zugangsdaten für den Hauptuser, da es sonst in späteren Schritten zu Problemen kommt.

Über ein FTP-Programm wie zum Beispiel FileZilla verbindet Ihr Euch mit dem Server und geht dort auf das Verzeichnis Eurer WordPress-Installation. Erstellt in diesem Verzeichnis den neuen Unterordner „static“. Wichtig für checkdomain-Kunden: Das Verzeichnis „static“ muss ein Unterordner in Eurem WordPress-Verzeichnis sein.

Schritt 2: Hauptdomain auf Webverzeichnis verweisen

Im nächsten Schritt ändert Ihr das Verzeichnis, auf das Eure Hauptdomain zeigt, auf das Verzeichnis „/static„. Dazu wählt Ihr im checkdomain-Kundenbereich den Reiter Domains, dann Konfiguration und anschließend den Punkt Domainweiterleitung. Klickt auf die Option Weiterleitung und wählt bei Verzeichnis den gerade per FTP angelegten Unterordner „/static“ aus.

Für noch mehr Performance und Sicherheit könnt Ihr jetzt noch die Ausführung von PHP für Eure Hauptdomain deaktivieren. Als checkdomain-Kunde wählt Ihr dazu Euer Webhosting-Paket aus, klickt auf Einstellungen unter dem Punkt Server, wählt im Drop-Down Eure Domain aus und wählt unter dem Punkt PHP Version den Punkt Aus.

Schritt 3: Dynamischen Blog mit Verzeichnisschutz sichern

Damit unser dynamischer WordPress-Blog, der jetzt unter dyn.eure-domain.de zu finden ist, ohne Passwort nicht mehr erreichbar ist, wird er mit einem Verzeichnisschutz versehen. Als checkdomain-Kunde wählt Ihr dazu wieder Euer Webhosting-Paket aus und klickt unter dem Punkt Sicherheit auf Verzeichnisschutz. Wählt dort Eure Domain aus und klickt auf Neuer Verzeichnisschutz. Jetzt wählt Ihr Euer WordPress Verzeichnis aus und folgt den Anweisungen auf der Seite.

Alternativ könnt Ihr den Verzeichnisschutz auch direkt in der .htaccess einrichten. Eine Anleitung dazu findet Ihr hier.

Schritt 4: .htaccess-Dateien editieren

Wenn Ihr jetzt Eure Hauptdomain aufruft, seht Ihr: Zugang nur noch mit Passwort. Das Problem ist, dass sich der Verzeichnisschutz nach unten „vererbt“ und damit auch für den Ordner „static“ gilt, auf den Eure Domain jetzt zeigt. Das müssen wir natürlich ändern, denn in Zukunft soll dort ja die statische Seite für alle User erreichbar sein.

Dazu müssen zwei .htaccess-Dateien editiert werden. Nutzt hierzu Euer FTP-Programm und öffnet die automatisch angelegte .htaccess-Datei in Eurem WordPress Verzeichnis. Fügt hier den Eintrag ‚reqire local‘ hinzu. Das ganze sollte dann in etwas so aussehen:


# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L] RwriteCond %{REQUEST_FILENAME} !-f
RwriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index\.php [L]

# END WordPress

AuthType Basic
AuthUserFile „/home/euer-user/wordpress/passwd“
AuthGroupFile /home/euer-user/wordpress/group“
AuthName „authname“
require valid-user
require local

Im Verzeichnis „static“ fügt Ihr dann noch eine Datei mit dem Namen .htaccess hinzu und tragt dort die folgende Zeile ein:


Require all granted

Schritt 5: Plugin Simply Static installieren und einrichten

Loggt Euch jetzt in den Admin-Bereich Eures WP-Blogs ein und installiert das Plugin „Simply Static“. Hinweis: Den Admin-Bereich findet Ihr jetzt unter dyn.eure-domain.de/wp-admin. Nach der Aktivierung erscheint das Plugin als ein neuer Menüpunkt in der Seitenleiste.

Klickt bei Simply Static auf Einstellungen und legt fest, unter welcher Adresse Euer statischer Blog erreichbar sein soll – in unserem Beispiel also http(s)://www.eure-domain.de.

Geht dann einen Punkt weiter nach unten auf den Punkt Auslieferungs-Methode und wählt Lokales Verzeichnis aus. Gebt dort den Pfad zu dem bereits angelegten „static“ Verzeichnis ein. Dieser sollte in etwa so aussehen „/home/euer-user/wordpress/static“

Schritt 6: Einstellungen überprüfen und statische Dateien generieren

Alles grün? Dann könnt Ihr schon fast einen Haken bei der Aktion „statisches WP“ machen…

Simply Static hilft Euch mit dem Punkt Diagnostik zu prüfen, ob alle Einstellungen und Vorraussetzungen korrekt sind. Alles in Ordnung? Dann könnt Ihr im Hauptmenü von Simply Static mit dem Button „Generiere die statischen Dateien“ Euren statischen Blog erstellen. Fertig!

Die Bilanz: Vor- und Nachteile

Eure WordPress-Seite ist ab jetzt sicher vor Angriffen und quasi immun gegen Sicherheitslücken in Plugins und Co.
Die Webseite wird sehr schnell ausgeliefert: Die Ladezeit liegt nur noch bei einem Bruchteil der sonst benötigten Zeit, da keine Daten mehr aus der Datenbank abgerufen werden müssen.
Die statischen Inhalte müssen nach jeder Änderung neu generiert werden – auch wenn lediglich ein Rechtschreibfehler verbessert wurde, wird der ganze Blog neu generiert. Bei großen Blogs, die viele Inhalte haben, kann das einige Zeit dauern.
Plugins und weitere Funktionen, die PHP benötigen, können nicht mehr genutzt werden. Dazu gehören unter anderem Kommentarfunktionen, Kontaktformulare, Foren-Software und eCommerce-Anwendungen. Für die meisten dieser Funktionen gibt es allerdings alternative Lösungen. Für Kommentare könnt Ihr zum Beispiel Disqus und für Foren Wufoo nutzen.

Das Fazit: Für wen eignet sich ein statisches WordPress?

Statische Seiten mit Hilfe von Simply Static zu erzeugen eignet sich am besten für Betreiber kleiner bis mittlerer Webseiten, die nur selten geändert werden. Simply Static reduziert das Risiko von Hackerangriffen auf nahezu null – selbst wenn WordPress-Updates vernachlässigt werden. Als Bonus kommt die schnelle Auslieferung dazu. Für die allermeisten Betreiber von WordPress-Seiten wird dieses Vorgehen empfohlen.

Ein Tipp für Fortgeschrittene: WordPress muss bei diesem Modell natürlich gar nicht mehr online erreichbar sein, nicht einmal hinter einem Passwortschutz. Es kann auch lokal laufen und von dort die statischen Daten generieren. Eine Anleitung dazu gibt es hier.
Torge
Torge
VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

5 Gedanken zu „Optimaler Schutz und höheres Tempo: Mit statischem WordPress auf der sicheren Seite

  1. Hallo Torge,

    vielen Dank für diesen Beitrag. Ich werde nach deiner Anleitung demnächst umstellen.

    Wie kann ich verhindern, dass die Subdomain in den Suchmaschinen erscheint?

    Danke und Grüße
    Joachim

    1. Moin Joachim,
      es gibt verschiedene Wege Deine Webseite von den Suchmaschinen fernzuhalten. Eine gute Zusammenfassung findest du hier.
      Viele Grüße,
      Katja

  2. Hey, super Artikel, das klingt alles sehr sinnvoll, aber eher für kleinere Seiten, die nicht so häufig aktualisiert werden, oder? Bei jedem neuen Post muss ja die gesamte static page neu erzeugt werden. Und wie sieht es mit Kommentaren aus? Geht das dann überhaupt noch über die WordPress-eigene Kommentarfunktion?

    (Und warum benutzt ihr das hier in eurem Blog nicht? ;) )

    1. Achso, meine Fragen werden ja bei den Negativ-Punkten im Artikel schon beantwortet, hatte ich übersehen, sorry. Aber ja, das macht es für Seiten mit hoher Artikel-Frequenz natürlich sinnlos, aber für die Millionen kleinere Seiten ist es eine gute Sache. Musste schon öfters Blogs von Bekannten retten, weil die gehackt wurden. Manche Privatblogger gucken nur alle 1-2 Monate mal ins Backend und wenn man dann nie updated , passieren ganz schnell böse Dinge. Statische Seiten würden einem da viel Arbeit ersparen.

    2. Moin David,

      genau – für sehr große Seiten lohnt es sich eher nicht. Laut Simply Static wird das in der nächsten Version aber so sein, dass automatisiert immer nur die veränderten Daten transferiert werden müssen. Sprich: Simply Static läuft dann einfach im Hintergrund, ohne das du selbst aktiv werden musst. Wenn das rauskommt, dann werden wir das wohl auch nutzen und unsere Kommentare zu Disqus umziehen (siehe dazu: https://help.disqus.com/customer/portal/articles/466255-importing-comments-from-wordpress).

      Grüße,
      Torge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.