WordPress Beine machen per .htaccess

WordPress Beine machen per .htaccess

Je schneller Deine Website lädt, desto besser für Besucher und Suchmaschinen. Wir geben Dir ein paar Tipps für Fortgeschrittene an die Hand, mit denen Dein WordPress spürbar schneller wird.

Plugins, Themes, Code Snippets – all das erleichtert den Blogger-Alltag, kann WordPress aber langsam machen. Mit der Folge, dass Besucher vorzeitig abspringen und Suchmaschinen Deine Website mit schlechteren Positionen abstrafen. Die meisten Ursachen kannst Du jedoch mit einfachen Mitteln beseitigen. In diesem Beitrag für erfahrene Anwender gehen wir noch ein Stück weiter und zeigen Dir, wie Du die Performance von WordPress über die .htaccess-Datei verbesserst. Getestet haben wir die Optimierungen mit einem STRATO Hosting-Paket.

1. .htaccess-Datei herunterladen

Die .htaccess-Datei ist eine Konfigurationsdatei für Webserver. Damit kannst Du unter anderem das Browser-Caching konfigurieren und die Komprimierung aktivieren. WordPress erstellt die .htaccess bei der Installation automatisch und legt sie im Hauptverzeichnis ab. Lade die Datei mit Deinem FTP-Programm herunter und öffne sie mit einem Text-Editor.

Wichtig: Speichere die Original-Version, um im Notfall den alten Zustand wiederherstellen zu können.

2. Browser-Caching nutzen

Beim Browser-Caching legt der Browser Kopien von CSS-, JavaScript- und Grafikdateien im lokalen Speicher ab. Wenn ein Besucher die Seite erneut aufruft, muss der Browser diese nicht erneut vom Server herunterladen. Das spart Traffic und Ladezeit, heißt aber auch: Der Browser eines wiederkehrenden Besuchers aktualisiert zwischenzeitig geänderte Dateien erst nach Ablauf der eingestellten Frist. In den meisten Fällen sollte das aber kein Problem darstellen, sodass Du großzügige Werte (z. B. einen Monat) verwenden kannst.
Das Browser-Caching konfigurierst Du in der .htaccess-Datei. In der Regel stehen dort folgende Zeilen:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Eigenen Code kannst Du einfach darunter eintragen. Mit der Anweisung ExpiresByType gibst Du für die verschiedenen Dateitypen an, wie lange die lokalen Kopien gespeichert werden. Im nachfolgenden Code-Beispiel beträgt die Dauer jeweils einen Monat.

# Browser Caching
<IfModule mod_expires.c>
	ExpiresActive On
	ExpiresByType image/gif "access plus 1 months"
	ExpiresByType image/ico "access plus 1 months"
	ExpiresByType image/jpeg "access plus 1 months"
	ExpiresByType image/jpg "access plus 1 months"
	ExpiresByType image/png "access plus 1 months"
	ExpiresByType text/css "access plus 1 months"
	ExpiresByType text/javascript "access plus 1 months"
	ExpiresByType application/x-javascript "access plus 1 months"
	ExpiresByType application/javascript "access plus 1 months"
</IfModule>

Nach dem Upload der .htaccess kannst Du mit Google Page Speed Insights prüfen, ob Deine Anweisungen funktionieren. Das Tool schlägt in dem Fall nicht mehr vor, Browser-Caching zu nutzen. 😉

3. Komprimierung aktivieren

Die Komprimierung ist ebenfalls unkompliziert umzusetzen. Zur Methode: Das Programm Gzip komprimiert HTML- und CSS-Dateien. Dadurch ist die von einer Website zu übertragene Datenmenge kleiner. Sobald der Browser die Dateien empfangen hat, entpackt er sie wieder. Weil das Zeit spart, solltest Du die Technik für Deine Website nutzen. Füge dazu einfach die folgenden Zeilen in die .htaccess ein:

# Gzip Compression
<IfModule mod_deflate.c>
	AddOutputFilterByType DEFLATE application/javascript
	AddOutputFilterByType DEFLATE application/rss+xml
	AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
	AddOutputFilterByType DEFLATE application/x-font
	AddOutputFilterByType DEFLATE application/x-font-opentype
	AddOutputFilterByType DEFLATE application/x-font-otf
	AddOutputFilterByType DEFLATE application/x-font-truetype
	AddOutputFilterByType DEFLATE application/x-font-ttf
	AddOutputFilterByType DEFLATE application/x-javascript
	AddOutputFilterByType DEFLATE application/xhtml+xml
	AddOutputFilterByType DEFLATE application/xml
	AddOutputFilterByType DEFLATE font/opentype
	AddOutputFilterByType DEFLATE font/otf
	AddOutputFilterByType DEFLATE font/ttf
	AddOutputFilterByType DEFLATE image/svg+xml
	AddOutputFilterByType DEFLATE image/x-icon
	AddOutputFilterByType DEFLATE text/css
	AddOutputFilterByType DEFLATE text/html
	AddOutputFilterByType DEFLATE text/shtml
	AddOutputFilterByType DEFLATE text/javascript
	AddOutputFilterByType DEFLATE text/plain
	AddOutputFilterByType DEFLATE text/xml
</IfModule>

Nach dem Hochladen kannst Du nochmal Page Speed Insights nutzen, um zu prüfen, ob der Server die angegebenen Dateitypen tatsächlich komprimiert.

Einfach schneller

Das Warten hat ein Ende. Mit den grundlegenden Tipps in diesem Beitrag und den beiden hier gezeigten Methoden sind kurze Ladezeiten garantiert. Und Deine mobilen Besucher dürften sich neben der Geschwindigkeit auch über das gesparte Datenvolumen freuen. Viel Erfolg beim Optimieren!

Schlagworte: , ,

Teilen

  1. Avatar

    Jörg Mittendorf sagte am

    Hallo,

    ich habe versucht meine .htaccess für das Browser Caching entsprechend anzupassen. Sobald ich eine Zeile, wie z.B.

    ExpiresByType image/gif „access plus 1 months“

    einfüge, bekomme ich einen Server Error.
    Füge ich nur das „Grundgerüst“ ein, wie z.B.

    ExpiresActive On

    dann kann ich die neue .htaccess Datei ohne Probleme speichern.

    Viele Grüße
    Jörg

    Antworten
  2. Avatar

    Anonymous sagte am

    Hallo,

    ich habe einer Frage, wie kann ich folgendes unterbinden?

    „Die Webserver Version wird im Header mitgesendet.“

    Habe folgendes in der .htaccess versucht:

    Header always unset X-Powered-By
    Header always unset X-Pingback
    Header always unset SERVER

    Die Server Version wird aber immer noch mitgesendet….

    Laut WordPress Support ist kein Problem von WordPress, sondern des es liegt am eingesetzten Webservers Deines Webhosters.
    https://de.wordpress.org/support/topic/x-powerd-header-und-server-version/

    Danke für die Hilfe.

    Antworten
    • Avatar

      Oliver Meiners sagte am

      Hallo Thorsten,

      am besten wendest Du Dich mit der Frage an unseren Kundenservice. Diesen erreichst Du über Facebook, Twitter oder über Hilfe & Kontakt.

      Viele Grüße
      Oliver

      Antworten
      • Avatar

        thorsten sagte am

        Hallo, können mir leider gar nicht weiterhelfen ;-(

        Antworten
        • Avatar

          Oliver Meiners sagte am

          Hallo Thorsten,

          ich habe Deinen Fall mit den Kollegen vom Produktmanagement besprochen. Ob die Webserver-Version mitgesendet wird ist eine globale Einstellung, das heißt: Aktuell können wir das nicht für einzelne Kunden ändern.

          Die Kollegen würden gerne wissen, warum genau Du die Webserver-Version nicht mitsenden möchtest. Möglicherweise finden Sie eine Lösung für Dich, wenn Sie mehr wissen.

          Viele Grüße
          Oliver

          Antworten
          • Avatar

            thorsten sagte am

            Hallo Oliver,

            vielen Dank für deine Mühe.

            Gründe warum ich die Version nicht mitsenden möchte:
            X-Powered-By und Server Header entfernen

            Viele Apache Server sind in ihrer Standard Installation sehr freizügig mit der Bekanntgabe von Informationen. Dies betrifft vor allem den X-Powered-By und Server Header. Diese sollten aus Sicherheitsgründen immer deaktiviert bzw. die Ausgabe minimiert werden. Durch die Ausgabe der laufenden PHP oder Apache Version oder welcher Server dahinter steckt, würde man einen Angreifer unnötig in die Hände spielen.

            Würde auch für alle anderen Kunden von Vorteil 😉

          • Avatar

            Oliver Meiners sagte am

            Hallo Thorsten,

            die Ausgabe der Informationen würde Angreifern dann in die Hände spielen, wenn die Apache-Version veraltet ist oder eine bekannte Sicherheitslücke enthält. Als Hosting-Unternehmen betrachten wir die Sicherheit unserer Apache Server als eine unserer Kernkompetenzen und verwenden immer die aktuellste Version. Ich möchte Dich also beruhigen: Die Sicherheit Deines Paketes ist durch das Mitsenden der Version nicht gefährdet. 🙂

            Viele Grüße
            Oliver

  3. Avatar

    Flo sagte am

    Also bei mir wurde die .htaccess nicht automatisch installiert?? Was muss ich beachten?

    Antworten
  4. Avatar

    Steve sagte am

    Guten Tag. Bitte sagt uns doch, ob der Artikel auch in gleicher Weise für das CMS Drupal gilt. Vielen Dank.

    Antworten
    • Avatar

      Oliver Meiners sagte am

      Hallo Steve,

      unsere Autoren sind leider keine Experten für Drupal. Habe bitte Verständnis, dass wir deshalb keine verbindliche Aussage treffen können. Grundsätzlich sollte das Prinzip aber auch auf andere CMS übertragbar sein.

      Viele Grüße
      Oliver

      Antworten
  5. Avatar

    Sabine sagte am

    Vielen Dank für die Tipps – ich habe sie gleich umgesetzt. ABER: obwohl ich die Enträge zur Komprimierung in die .htacess geschrieben habe, erhalte ich bei checkgzipcompression.com als Ergebnis: „GZIP is not enabled :(“
    Ist das ein Missverständnis? Wirken meine Einträge nicht? (Ich habe andere Einträge in derselben Datei getestet = die funktionieren. An der Datei selbst bzw. dem Speicherort der Datei kann es m. M. nach nicht liegen.)
    Kann ich auf andere Art checken, ob die Komprimierung funktioniert?

    Danke und Grüße
    Sabine

    Antworten

Sie können erst kommentieren, wenn Sie unseren Datenschutzbestimmungen und den Cookies zugestimmt haben. Aus Datenschutzrechtlichen Gründen dürfen wir andernfalls keine personenbezogenen Daten von Ihnen aufzeichnen.

Klicken Sie dazu einfach unten im Browser Fenster auf den blauen Button Akzeptieren. Nach dem Neuladen der Seite können Sie Ihr Kommentar schreiben.