Das muss unbedingt in deiner .htaccess stehen!

Jonas Tietgen

In diesem Artikel geht es um ein sehr technisches Thema, das ich dir aber natürlich einfach aufbereite: die tollen Möglichkeiten der .htaccess Datei. In dieser Datei können Konfigurationsanweisungen für deinen Webserver hinterlegt und auf ein gewisses Verzeichnis bezogene Regeln festgelegt werden.

Das heißt also, die in der .htaccess festgelegten Regeln gelten immer für das Verzeichnis, in der diese Datei liegt. Im Normalfall legt man die meisten Konfigurationen in der .htaccess Datei des Hauptverzeichnisses ab, da diese für diesen gesamten Ordner samt Unterordner gilt, wodurch WordPress .htaccess Regeln für den gesamten Blog übernimmt.

Ich werde dir in diesem Artikel einige coole Codeschnipsel zeigen, mit denen du deinen Blog ganz einfach schneller und sicherer machen kannst. Diese Codeschnipsel musst du in der .htaccess deines Hauptverzeichnisses einfügen.

In WordPress .htaccess Dateien richtig benutzen

Bevor es los geht, muss ich dir noch ein paar Kleinigkeiten zu dieser besonderen Datei erklären.

Die .htaccess ist eine sehr mächtige Datei mit der man sehr viel gutes aber auch schlechtes anstellen kann. Trägst du hier etwas falsches ein, kann das dazu führen, dass deine Website nicht mehr erreichbar ist.

Darum mache am besten ein komplettes WordPress Backup, bevor du loslegst!

Schutz der .htaccess

Bevor wir also loslegen, solltest du zunächst einmal die Dateiberechtigungen für die .htaccess festlegen. WordPress schlägt vor (und ich kann das nur bestätigen), die Berechtigung 644 zu hinterlegen.

Dafür loggst du dich mit deinem FTP Programm auf deinem Webserver ein, machst einen Rechtsklick auf die .htaccess Datei in deinem Hauptverzeichnis, und klickst im Anschluss auf “Dateiberechtigungen” oder ähnliches. Nun gibst du als Berechtigung 644 ein, und sicherst damit die Datei vor Veränderungen von außen ab.

Standardinhalte

WordPress benötigt von Haus aus nur eine einzige Regel in der .htaccess um zu funktionieren. Diese Regel ist dafür da, dass man die URLs in WordPress ändern kann. Das braucht man beispielsweise, um sprechende URLs zu erstellen. Dieser Eintrag sollte also bereits in deiner .htaccess stehen, wenn nicht, füge ihn unbedingt ein:

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

Bevor du Änderungen einfügst: Achtung!

Erstelle dir auf jeden Fall zunächst ein Backup der .htaccess. Das geht ganz einfach indem du per FTP die aktuelle Datei herunterlädst und auf deinem Computer speicherst. Sollte dann etwas schief gehen, kannst du einfach diese gespeicherte Datei wieder hochladen und die veränderte überschreiben. Schon läuft wieder alles rund.

Noch eine letzte Kleinigkeit bevor es endlich ans Werk geht:
Füge die Codeschnipsel entweder vor “#BEGIN WordPress” ein oder hinter “#END WordPress”. Ich habe die Codeschnipsel jeweils am Anfang mit einer Zeile kommentiert, damit du den Überblick behalten kannst und weißt, welcher Code welche Auswirkungen hat. Kommentare beginnen immer mit einem # und werden von Browsern nicht interpretiert sondern dienen lediglich der Übersichtlichkeit.

Auch die .htaccess muss bei einem Seitenaufruf immer zunächst einmal von dem Browser geladen werden, achte also darauf, sie möglichst schlank zu halten und nur die Codes einzufügen, die du wirklich benötigst.

So, jetzt geht es aber los 🙂

WP-admin nur für ausgewählte IPs zulassen

Mit diesem Schnipsel kannst du die Login Seite für alle Nutzer, außer die von dir eingegebenen sperren. Logischerweise kannst du damit sehr effektiv verhindern, dass sich jemand ungewolltes an der Login Seite zu schaffen macht.

Das Ganze funktioniert nur, wenn du und die anderen Benutzer eine statische IP Adresse besitzen. Bei einer dynamischen IP wird bei jedem neuen Einwählen eine neue IP vergeben. Ist das bei dir oder deinen Benutzern der Fall, kannst du diesen Trick nicht anwenden.
Deine IP Adresse kannst du ganz einfach herausfinden, indem du auf ein Online-Tool wie beispielsweise www.meine-aktuelle-ip.de gehst.

In der .htaccess werden die IP Adressen der freizugebenden Nutzer eingetragen. Du musst also jeden hinzukommenden Nutzer nach seiner IP Adresse fragen, und diese mit in die .htaccess eintragen.

# Zugriff auf wp-admin nur für vorgegebene IPs
order deny,allow
deny from all
allow from IPAdresse1
allow from IPAdresse2

WP-config.php für alle sperren

Die wp-config.php Datei enthält deine Datenbankdaten, Zugangsdaten zu WordPress und weitere, sehr sensible Daten. Damit niemand einfach in die Datei reinschauen und sich an den Daten zu schaffen machen kann, kannst du sie über die .htaccess sperren.

# Verbietet allen den Zugang zur wp-config
 <files wp-config.php>
 order allow,deny
 deny from all
 </files>

Verhindere, dass deine Bilder genutzt werden

Sogenanntes Image Hotlinking wird immer wieder missbraucht. Das bedeutet, dass jemand eines deiner Bilder auf seiner Website einbaut, aber über deinen Server abruft. Dadurch entsteht zusätzlicher Traffic, was die Geschwindigkeit deines Blogs beeinträchtigen kann. Zudem sind viele Hostingpakete auf eine gewisse Menge an Traffic pro Monat begrenzt, wodurch du durch dieses Image Hotlinking Probleme bekommen kannst.

Mit diesem Codeschnipsel in der .htaccess kannst du einstellen, dass bei dem Versuch ein Bild über deinen Server einzubinden, stattdessen ein von dir vorgegebenes Bild angezeigt wird.

Achtung: Dieser Code sorgt in manchen Fällen dafür, dass Bilder in RSS Readern nicht mehr angezeigt werden. Wenn du RSS nicht anbietest oder auf die Bilder verzichten kannst, ist das kein Problem. In den anderen Fällen füge den Code einfach hinzu, und überprüfe, ob die Bilder nach wie vor angezeigt werden.

# Verhindert Image Hotlinking. Ersetze die letzte URL mit einem Bildlink.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?deinblog.de [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://deinbild.jpg [NC,R,L]

Browser Caching aktivieren

Jetzt gibt es zwischendurch einen kleinen Tipp zur Geschwindigkeitsoptimierung mit Hilfe der WordPress .htaccess Datei. Ich habe diesen und weitere Tipps bereits in dem Artikel “7 Tricks, wie du WordPress schneller machen kannst” vorgestellt.

Dieser etwas längere Code aktiviert das sogenannte Browser Caching. Bei einem Seitenaufruf speichert ein Browser zunächst alle Dateien offline und zeigt sie dann an. Dadurch entsteht die Ladezeit einer Website. Durch das Browser Caching wird dem Browser erlaubt, bei dem nächsten Seitenaufruf einfach wieder diese bereits heruntergeladenen Dateien abzurufen, ohne sie erneut herunterzuladen.

Damit das funktioniert, wird den Browsern die maximal erlaubte Speicherdauer für verschiedene Dateitypen vorgegeben. Dadurch werden nach der vorgegebenen Zeit die Dateien neu geladen, falls Änderungen erfolgt sind.

# Browser Caching aktivieren
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"

GZIP Komprimierung aktivieren

Wordpress .htaccess GZIP aktivieren
Die GZIP Komprimierung reduziert die Ladezeit

Noch ein zweiter Tipp für die Geschwindigkeitsoptimierung deiner Website. Du kannst mit einem kurzen Codeschipsel die sogenannte GZIP Komprimierung aktivieren.

Möchtest du deine Website-Ladezeit optimieren, erfährst du hier alles über die Optimierung der Ladezeit mit WP Rocket.

GZIP ist ein Webstandard um Dateien zu komprimieren. Das kannst du dir vorstellen wie ein .zip oder .rar Archiv auf deinem Computer.
Die Dateien werden so stark es geht verkleinert und dann erst durch den Browser wieder entpackt. Dadurch wird dein Blog sehr viel effizienter und schneller geladen.

Gehe nach der Aktivierung auf checkgzipcompression.com und gib die URL deines Blogs ein. Du wirst nun sehen, ob GZIP aktiviert ist und was dadurch eingespart wird.

# Aktiviert GZIP Komprimierung
 <IfModule mod_deflate.c>
 SetOutputFilter DEFLATE
 </IfModule>

Zugriffe auf .htaccess verhindern

Zusätzlich zu der Einstellung der Dateiberechtigungen solltest du die .htaccess mit der Hilfe der .htaccess für Zugriffe von außen sperren. Klingt komisch, funktioniert aber 🙂

Wie schon gesagt, hat die .htaccess große Auswirkungen auf die Funktionsweise deines Blogs und kann einen Haufen Schaden anrichten. Aus diesem Grund sollte man alles dafür tun, sie so gut wie möglich zu schützen.

#Zugriffe auf .htaccess verhindern
 <files ~ "^.*\.([Hh][Tt][Aa])">
 order allow,deny
 deny from all
 satisfy all
 </files>

Bestimmte Nutzer ausschließen

Spammer loswerden und Hacker ausschließen, klingt doch super oder?
Ist es auch und vor allem geht es mit der .htaccess ganz einfach.

Bei den Spamkommentaren wird dir in WordPress direkt die IP Adresse angezeigt. Für Hackversuche ist es etwas komplizierter, aber trotzdem machbar an die IP Adresse zu kommen. Hierfür musst du entweder in die Logfiles deines Servers schauen oder mit einem Plugin wie iThemes Security arbeiten.

Die herausgefundenen IP Adressen kannst du dann alle in diesen Codeschnipsel in der .htaccess eintragen, wodurch sie keinen Zugriff mehr auf deinen Blog haben. Ersetze einfach die X mit der IP Adresse.

#Nutzer per IP ausschließen
 <Limit GET POST>
 order allow,deny
 deny from XXX.XXX.XX.X
 deny from XXX.XXX.XX.X
 allow from all
 </Limit>

301 Weiterleitungen

Wenn du deinen Blog auf eine andere Domain umziehst, komplette Artikel oder Seiten auf eine neue URL umstellst oder aus einem anderen Grund eine Weiterleitung erstellen musst, ist das in WordPress mit der .htaccess ganz einfach.

Eine 301 Weiterleitung (301 Redirect) sorgt dafür, dass Nutzer beim Anklicken eines Links, der auf eine alte Seite verweist, auf die neue Seite weitergeleitet wird. Das ist nicht nur für deine Nutzer sondern auch für Google äußerst wichtig, denn so verlierst du keine Kraft durch die Links auf deine Seite, die ohne die Weiterleitung ins Leere führen würden.

Hinter dem “Redirect 301” trägst du zunächst die alte URL ein, machst dahinter ein Leerzeichen und setzt die neue URL dahinter.

#301 Weiterleitungen
Redirect 301 /alteseite.html http://neuewebsite.de/neueurl
Redirect 301 / http://neuewebsite.de/

Auslesen von Nutzernamen verhindern

Wusstest du, dass man deinen Nutzernamen ganz einfach herausfinden kann, indem man /?author=1 an deine Domain anhängt? Probiere es mal aus, WordPress leitet dich sofort auf die Autorenseite von Benutzer eins weiter. Dadurch können Hacker deinen Nutzernamen für den Login super einfach herausfinden.
Klar, damit kommen sie auch nicht weit, aber man sollte es Hackern so schwierig wie möglich machen.

Wenn du diesen Code in deiner .htaccess hast, wird bei der Eingabe von /?author=X die Startseite deines Blogs angezeigt.

# Verhindert das einfache Auslesen von Nutzernamen
 RewriteEngine On
 RewriteBase /
 RewriteCond %{QUERY_STRING} .*author=(.+.?) [NC]
 RewriteRule (.*) /blog/?author= [NC,L,R=301]

Hast du andere .htaccess Codes, mit denen du deinen Blog verbesserst? Kommentiere doch einfach und lass uns teilhaben 🙂


Jonas Tietgen

Dein WordPress Ninja mit 10+ Jahren Erfahrung, Gründer von WP Ninjas und SEO Nerd.

Jonas hilft Solopreneuren, ihre WordPress Websites selber überarbeiten, pflegen und optimieren zu können.

Schon seit er 14 ist, baut er Websites mit WordPress und arbeitet Jahren täglich mit WordPress. Dadurch hat er Erfahrung mit so ziemlich jedem Theme und Plugin, kennt WordPress auswendig und toppt das Ganze mit einer Liebe zu Webdesign (inklusive Webdesign-Studium) und SEO.

In über 120 Tutorials stellt er dir in seinem Blog sein gesamtes Wissen zur Verfügung, erweitert dein SEO-Wissen in seinem Search Effect Podcast und unterstützt dich in Coachings und über seinen beliebten Mitgliederbereich.

Abseits von WordPress nerdet Jonas gerne über Gesundheit ab, macht viel Krafttraining und weiteren Sport und baut immer wieder spannende Website-Projekte wie das HomeGym-HQ auf.


Google Fonts lokal und DSGVO-konform laden - endlich Sicherheit!

46 Plugins & Tools, dank denen ich 20.000 Besucher monatlich bekomme!

Das WordPress Toolkit kostenlos für dich

Abonniere meine exklusiven WordPress Tipps, News und mein Experten-Wissen, das ich sonst nirgends teile!

 

...und sichere dir das WordPress Toolkit kostenlos!

Nach der Willkommenssequenz (5 Mails) kommen die E-Mails im Normalfall 1x / Woche. Du kannst dich natürlich jederzeit abmelden und bekommst keinen Spam! Datenschutz

46 Plugins & Tools, dank denen ich 20.000 Besucher monatlich bekomme!

Das WordPress Toolkit kostenlos für dich

Abonniere meine exklusiven WordPress Tipps, News und mein Experten-Wissen, das ich sonst nirgends teile!

 

...und sichere dir das WordPress Toolkit kostenlos!

Nach der Willkommenssequenz (5 Mails) kommen die E-Mails im Normalfall 1x / Woche. Du kannst dich natürlich jederzeit abmelden und bekommst keinen Spam! Datenschutz

WordPress Cookie Plugin von Real Cookie Banner