.htaccess und SEO – Alles, was Du wissen solltest!
Sobald man sich tiefer in das Thema: „SEO“ bewegt, trifft man irgendwann auf den Begriff „.htaccess-Datei“. Was verbirgt sich hinter dieser Datei und wie kann man im SEO davon profitieren? Wir zeigen Dir sämtliche Möglichkeiten der .htaccess-Datei mit konkreten Anwendungsbeispielen! So kannst Du in Zukunft von den Funktionen der .htaccess-Datei profitieren!
Inhalt
- Was ist die .htaccess-Datei und warum hat sie Einfluss auf SEO?
- Wie funktioniert eine .htaccess-Datei?
- Syntax der .htaccess-Datei bspw. unter WordPress
- Unterschied zwischen der .htaccess-Datei und der robots.txt
- Möglichkeiten der .htaccess-Datei
- RewriteEngine: Umschreibungen von URLs samt 301-Weiterleitungen
- RewriteEngine: Ermöglichung von HTTPS-Übertragungen
- Bestimmte Dateien automatisiert mit einem Header wie x-robots auszeichnen
- Nicht-HTML-Dateien mit einem Canonical auszeichnen
- Eigene 404-Seite erstellen und darauf verweisen
- IP-Adressen blockieren bspw. nervige Bots
- Datei-Zugriff im Browser ermöglichen
- Hotlinking verhindern
- Browser-Caching + Gzip-Übertragung einrichten
- Sicherheitslücken bei der .htaccess-Datei vermeiden
- Wichtige Tipps und Tricks im Umgang mit der .htaccess-Datei
- Hilfreiche Quellen für die Erstellung einer .htaccess-Datei
- Fazit
Was ist die .htaccess-Datei und warum hat sie Einfluss auf SEO?
Die .htaccess-Datei ist eine versteckte Text-Datei, welche man in der Regel im Wurzelverzeichnis des Webspaces der jeweiligen Website findet. Sie regelt, wie Nutzer (ob Menschen oder Bots) mit der Webseite agieren. Hierzu zählt unter anderem das Weiterleitungsmanagement, das erweiterte Auszeichnen von bestimmten Datei und die Zugriffskontrolle.
In Bezug auf SEO kann die .htaccess-Datei eben jene wichtigen Weiterleitungen ermöglichen, um Suchmaschinen den Wechsel auf eine andere URL mitzuteilen. Auch ermöglicht sie das Ausspielen einer eigenen 404-Seite, um durch geeignete Inhalte Nutzer:innen trotz fehlender Unterseiten auf der Website behalten zu können. Richtung Ladezeit ist die .htaccess-Datei ebenfalls wichtig, denn sie ermöglicht das Browser-Caching und die Komprimierung von Dateien. Ein recht entscheidender und nerviger Punkt im SEO sind indexierbare Parameter-URLs. Diese können wir mit einer Regel in der .htaccess-Datei Gott sei Dank auf „noindex, follow“ setzen.
Du siehst also: Ganz dran vorbei kommt man im SEO nicht, vor allem nicht, wenn die Website größer wird.
Wie funktioniert eine .htaccess-Datei?
Die .htaccess-Datei wird bei jedem Aufruf einer URL, egal ob vom Nutzer oder Bot, ausgewertet. Dadurch wird die Reaktion des Webservers auf einzelne Dateien angepasst und dementsprechend ausgeführt.
Ein zweischneidiges Schwert, denn: Je aufwendiger und größer die .htaccess-Datei ist, desto länger dauert die Auswertung und die Übertragung der richtigen Elemente. Versuche daher, die .htaccess-Datei nicht unnötig zu belasten und nur die wirklich wichtigen Anweisungen mitzugeben. In der Regel richtet sich die mögliche Größe der .htaccess-Datei nach der Größe des Arbeitsspeichers des Webservers. Schließlich muss hier alles zwischengeladen werden.
Syntax der .htaccess-Datei bspw. unter WordPress
Die .htaccess-Datei enthält Elemente, die in der Regel in Blöcken aufgebaut werden, die durch verschiedene Anweisungen ihre Funktion erhalten. Diese richten sich nach vordefinierten Variablen oder Attributen, welche bestimmte Funktionen des Webservers mit sich bringen.
Unter WordPress sieht man sehr oft folgenden Standard-Eintrag in der .htaccess-Datei (Apache):
RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
Dieser Code bewirkt folgendes:
RewriteEngine On: aktiviert die Rewrite-Engine für die Apache-Serverkonfiguration
RewriteBase /: setzt das Basis-Verzeichnis für relative Rewrite-Regeln auf die Wurzel des Webserver-Verzeichnisses
RewriteRule ^index.php$ – [L]: stoppt die Rewrite-Regelverarbeitung für alle URLs, die index.php enthalten, um sicherzustellen, dass die Datei direkt aufgerufen wird und nicht umgeschrieben wird
RewriteCond %{REQUEST_FILENAME} !-f: überprüft, ob der angeforderte Dateipfad kein existierendes Verzeichnis oder keine existierende Datei ist
RewriteCond %{REQUEST_FILENAME} !-d: überprüft, ob der angeforderte Dateipfad kein existierendes Verzeichnis ist
RewriteRule . /index.php [L]: falls die Bedingungen aus den RewriteCond-Anweisungen erfüllt sind, wird die URL auf /index.php umgeschrieben. Der [L]-Flag stoppt die weitere Verarbeitung von Rewrite-Regeln für die aktuelle Anfrage.
URL-Weiterleitungen bestehen oft nur aus einer Zeile und können wie folgt aussehen (Apache):
RewriteEngine On RewriteRule ^/musterpfad/musterdatei$ /musterpfad-neu/musterdatei-neu [R=301,L]
Die Zeile „RewriteRule ^/musterpfad/musterdatei$ /musterpfad-neu/musterdatei-neu [R=301,L]“ besagt, dass Anfragen für die URL „musterdatei “ auf die URL „musterdatei-neu“ umgeleitet werden sollen. Die [R=301,L]-Flags geben dabei an, dass eine dauerhafte (301) Weiterleitung erfolgen soll (R=301) und dass die Verarbeitung der Rewrite-Regel abgebrochen werden soll, wenn diese Regel übereinstimmt (L=Last).
Eine Anweisung, wie alle .html-Dateien auf dem Server automatisiert den Header mit dem x-robots-tag „index,follow“ erhalten, sieht in etwa so aus (Apache):
<files *.html> Header set X-Robots-Tag “index,follow” </files>
Du siehst, die Anweisungen können sowohl über mehrere Zeilen als auch nur in einer und sogar in HTML-ähnlichen Tags stehen. Das kommt immer darauf an, welcher Verwendung diesem Code-Ausschnitt zugeschrieben wird.
Unterschied zwischen der .htaccess-Datei und der robots.txt
Die .htaccess-Datei ist nicht die einzige Konfigurationsdatei, welche man hinsichtlich SEO berücksichtigen sollte. Auch die robots.txt-Datei erfüllt ihre Aufgaben zwecks SEO wunderbar. Aber worin liegt eigentlich der Unterschied zwischen den beiden Dateien?
Damit Du nicht den Überblick verlierst, haben wir Dir hier eine übersichtliche Tabelle erstellt:
Datei | Hauptaufgabe | Zielgruppe | Genereller Dateipfad | Auswirkungen |
---|---|---|---|---|
.htaccess | Ermöglichung von Weiterleitungen,Umschreibungen von URLs (bspw. von http auf https), Ermöglichung vonpasswortgeschützten Verzeichnissen und angepassten Seitenfunktionenhinsichtlich Tags oder 404-Seiten. | Sowohl Menschen als auch Bots | Die .htaccess-Datei liegt in derRegel im Wurzelverzeichnis, kann aber auch zusätzlich für spezielleVerzeichnisse konfiguriert werden, weshalb sie dann im jeweiligenVerzeichnispfad liegt. Es kann mehrere .htaccess-Dateien geben (Nicht imselben Verzeichnis) | Wirkt sich auf die Ladezeit derWebsite aus |
robots.txt | Regelung von Datei- undURL-Zugriffen hinsichtlich Bots, Verlinkung von Sitemaps | Bots | Die robots.txt liegt immer imWurzelverzeichnis und existiert lediglich 1-mal im ganzen Webspace. | Wirkt sich auf das Crawlingverhaltender Website aus |
Möglichkeiten der .htaccess-Datei
Im Folgenden stellen wir Dir sämtliche Verwendungsmöglichkeiten der .htaccess-Datei vor. Zu jedem Codebeispiel liefern wir Dir auch konkrete Anwendungsbeispiele.
Wichtig: Die Regeln der .htaccess-Dateien sollte nur jemand mit Fachkenntnissen hierzu aufstellen. Die Regeln können einiges zerschießen, wenn sie falsch angewendet werden. Stell daher sicher, dass die Regeln nach Live-Schaltung kontrolliert werden. Du möchtest sicher nicht, dass andere Website-Inhalte unrechtmäßig betroffen sind. Auch müssen die von uns aufgelisteten Regeln bei Dir nicht funktionieren. Teste es daher gut durch!
RewriteEngine: Umschreibungen von URLs samt 301-Weiterleitungen
Es ist im SEO ein ganz normaler Alltag, wenn man URLs löscht und daraufhin weiterleitet. Sei es aufgrund von Backlinks oder damit das Suchergebnis in Suchmaschinen weiterhin bestehen bleibt.
Wichtig: Die RewriteRule wird immer vom Wurzelverzeichnis aus beschrieben. Es reicht daher nicht, nur den Dateinamen umzuleiten.
Ein konkreter Anwendungsfall wäre, dass die URL https://musterseite.de/htaccess-guide nun zu https://musterseite.de/seo-wissen/htaccess-seo-alles-was-Du-wissen-solltest werden soll.
Dementsprechend fügen wir der .htaccess-Datei eine Weiterleitungsregel hinzu (Apache):
RewriteEngine On RewriteRule ^htaccess-guide$ /seo-wissen/htaccess-seo-alles-was-Du-wissen-solltest [R=301,L]
Der Code „RewriteRule ^htaccess-guide$ /seo-wissen/htaccess-seo-alles-was-Du-wissen-solltest [R=301,L]“ bewirkt eine Weiterleitung von der alten URL „https://musterseite.de/htaccess-guide“ auf die neue URL „https://musterseite.de/seo-wissen/htaccess-seo-alles-was-Du-wissen-solltest“. Das bedeutet, dass der Benutzer, der „https://musterseite.de/htaccess-guide“ besucht, automatisch auf „https://musterseite.de/seo-wissen/htaccess-seo-alles-was-Du-wissen-solltest“ weitergeleitet wird.
Solltest Du bereits eine Weiterleitungsregel in der .htaccess-Datei aktiv haben, kannst Du Deine neue Weiterleitungsregel ohne „RewriteEngine On“ einfach unter der letzten Rewrite-Regel einfügen.
RewriteEngine: Ermöglichung von HTTPS-Übertragungen
Sobald Du ein gültiges SSL-Zertifikat für Deine Domain erstanden hast, kannst Du damit beginnen, alle URLs von der Nicht-SSL-Variante „http“ auf die SSL-Variante „https“ umzuleiten. Dies erfolgt ebenfalls in der .htaccess-Datei und kann wie folgt realisiert werden (Apache):
RewriteEngine On RewriteCond %{Server_Port} !=443 RewriteRule ^(.*)$ https://deinedomain.de/$1 [R=301,L]
Dieser Code in der .htaccess-Datei bewirkt eine Weiterleitung von HTTP auf HTTPS, indem er jeglichen Zugriff auf die Website über den Port 80 (HTTP) auf den Port 443 (HTTPS) umleitet.
Um dies zu erreichen, wird die Apache-Modul RewriteEngine aktiviert. Die RewriteCond-Zeile prüft, ob die Anfrage über den Port 443 erfolgt ist oder nicht. Wenn die Bedingung nicht erfüllt ist (Server_Port ungleich 443), wird die RewriteRule angewendet, die das URL-Segment des Anfragers auf die HTTPS-Version der Website umleitet. Die Optionen „R=301“ und „L“ geben an, dass eine permanente Weiterleitung durchgeführt werden soll und dass dies die letzte Regel ist, die angewendet werden soll.
Bestimmte Dateien automatisiert mit einem Header wie x-robots auszeichnen
Gerade, wenn die Website wächst, fällt einem gewiss eines Tages auf, dass nicht nur HTML-Elemente und Bilder indexiert werden können. Sehr oft sieht man auch PDFs, welche im Suchmaschinen-Index ihr Unwesen treiben. Sollte dies nicht beabsichtigt sein, kann man nicht wie gewohnt über das Backend solche Elemente mittels den robots-Tags auf „Noindex“ setzen.
Da wir hier das Beispiel der PDF-Dateien haben, ermöglicht die folgende Regel in der .htaccess-Datei, dass alle PDFs der Website automatisiert mit einem http-header hinsichtlich „noindex,follow“ erweitert werden:
<Files *.pdf> Header add X-robots-tag "noindex,follow" </Files>
Dadurch gelingt es uns, PDFs aus dem Suchmaschinen-Index herauszuhalten.
Nicht-HTML-Dateien mit einem Canonical auszeichnen
Stellen wir uns nochmal die Situation von gerade eben vor: Als Anwendungsfall nehmen wir, dass wir zu speziellen HTML-Seiten auch PDFs mit einer Art Druckansicht ausgeben. Diese enthalten genau denselben Text wie die HTML-Seite, nur eben für einen Drucker ausgerichtet und aufbereitet.
Würden wir das PDF indexierbar lassen, hätten wir Duplicate Content. Um nun den Suchmaschinen mitzugeben, dass sie trotz des Vorkommens des PDFs nur die HTML-Seite indexieren sollen, geben wir dem PDF einen nachträglichen http-Header-Zusatz mit, welcher für das PDF einen Canonical vorschlägt, der als Link die HTML-Seite beinhält.
Dies sieht in der .htaccess-Datei wie folgt aus:
<Files /musterpfad/musterpdf.pdf> Header add Link '<https://www.musterseite.de/musterpfad-neu/musterhtml.html>;rel="canonical"' </Files>
Eigene 404-Seite erstellen und darauf verweisen
Es kann immer mal passieren, dass Webseiten-Inhalte temporär oder gewollt nicht mehr verfügbar sind. Jedoch ist es kein zufriedenstellendes Benutzererlebnis, wenn man auf eine nicht für den Nutzer optimierte 404-Seite trifft. Hier kann es durchaus sein, dass der Nutzer dann abspringt.
Um dies zu vermeiden, legt man eigene 404-Seiten fest, welche extra für den Nutzer ausgearbeitet sind. Um diese dann auch noch standardmäßig als 404-Seite auszuspielen, muss man in der .htaccess-Datei folgenden Eintrag machen (Die 404-Seite liegt hier im Hauptverzeichnis!):
ErrorDocument 404 /gewuenschte-404-seite.html
Dieser Code kann auch für weitere Fehlercodes angepasst werden, sodass dann immer eine passende Fehlerabfangseite vorhanden ist.
IP-Adressen blockieren bspw. nervige Bots
Es kann durchaus vorkommen, dass man Opfer von Angriffen oder nervigen Bots wird. Um hier dem Webserver mitzugeben, dass er spezielle Bots oder IP-Adressen ablehnen soll, dementsprechend gar nicht auf deren Anfrage reagieren soll, kann man folgenden Code benutzen, bei dem als Beispiel die IPs: 3.3.3.3 und 3.3.3.4 gesperrt wird, alle andere aber erlaubt sind:
Deny from 3.3.3.3 Deny from 3.3.3.4 Allow from All
Die Allow-Anweisungen werden immer vor den „Deny“-Anweisungen ausgeführt.
Um nun einen Bot auszusperren, benötigt man die IP-Adressen des Bots. Als Beispiel können hier die IP-Adressen des GoogleBots eingesehen werden.
Datei-Zugriff im Browser ermöglichen
Wenn das Ziel eines Ordners nicht sein soll, eine index.php oder index.html aufzurufen, sondern viel eher eine Art Dateimanager aufzuzeigen, dann kann auch hier die .htaccess-Datei eine Möglichkeit schaffen, dies zu realisieren.
Ein konkreter Anwendungsfall wäre, dass man eine Ansammlung von Schulungs-PDFs als Übersicht ohne eine extra Datei erstellen möchte, die man pflegen muss. Bedeutet: überall, wo man keine index.php oder index.html im Ordner besitzt, wird der Ordnerinhalt im Browser dargestellt und anklickbar gemacht.
Options +Indexes
Beachte, dass diese Option flächendeckend auf der Website funktioniert, wenn sie in der .htaccess-Datei im Wurzelverzeichnis eingetragen wird und dementsprechend so einige Pfade offenlegt.
Wenn Du das nur für ein bestimmtes Verzeichnis benötigst, musst Du in diesem Verzeichnis eine extra .htaccess-Datei erstellen und diesen Eintrag vornehmen. Dann wirkt sich das nur auf Ordner aus, die in oder unter dem Pfad der .htaccess-Datei liegen.
Hotlinking verhindern
Es kann vorkommen, dass Webseitenbetreiber bspw. Deine Bilder extern verlinken. Dadurch entsteht Dir Aufwand für Deinen Server, den Du nicht steuern kannst. Es ist daher möglich, durch eine exzessive Verlinkung Deiner Bilder Deinem Webserver sehr viel unnötige Last zukommen zu lassen.
Um dies zu verhindern, kann der .htaccess-Datei folgender Eintrag hinzugefügt werden:
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^https://Deine-webseite/.*$ [NC] [OR] RewriteCond %{HTTP_REFERER} !^https://www.Deine-webseite/.*$ [NC] [OR] RewriteRule .*\.(gif|GIF|jpg|JPG|bmp|BMP|wav|mp3|wmv|avi|mpeg)$ - [F]
Dieser Code in der .htaccess-Datei ist eine Anweisung für den Webserver, um auf die Referer-Informationen zuzugreifen, die vom Browser des Benutzers gesendet werden, wenn er eine Seite auf Deiner Website besucht. Der Code dient dazu, den Zugriff auf bestimmte Dateitypen (GIF, JPG, BMP, WAV, MP3, WMV, AVI, MPEG) von anderen Websites als der eigenen zu blockieren.
Die erste Zeile aktiviert die RewriteEngine.
Die zweite Zeile prüft, ob der Referer-Header nicht leer ist.
Die dritte und vierte Zeile prüfen, ob der Referer nicht auf die eigene Domain verweist. Die Option [NC] macht die Regel „nicht-unterscheidend“ zwischen Groß- und Kleinschreibung.
Die letzte Zeile gibt an, welche Dateitypen blockiert werden sollen. Das [F] am Ende der Regel bedeutet „forbidden“ (verboten) und gibt an, dass der Zugriff auf die Dateien verweigert wird, wenn die Bedingungen der RewriteCond erfüllt sind.
Browser-Caching + Gzip-Übertragung einrichten
Damit Deine Webseite gecached wird und komprimiert übertragen wird, bieten sich auch in der .htaccess-Datei Möglichkeiten hierzu an. Dies kommt auch auf die Module des Serverbetreibers an, jedoch sollte ein Browser-Caching und eine Komprimierung (bspw. mit Gzip) heutzutage immer möglich sein.
Einen Code für das Browser-Caching könnt ihr der URL: https://omr.com/de/reviews/contenthub/htaccess-seo entnehmen:
# turns cache on for 1 month <IfModule mod_expires.c> ExpiresActive On ExpiresByType text/css „access plus 1 month“ ExpiresByType text/javascript „access plus 1 month“ ExpiresByType text/html „access plus 1 month“ ExpiresByType application/javascript „access plus 1 month“ ExpiresByType image/gif „access plus 1 month“ ExpiresByType image/jpeg „access plus 1 month“ ExpiresByType image/png „access plus 1 month“ ExpiresByType image/x-icon „access plus 1 month“ </IfModule>
Dieser Code in der .htaccess-Datei bewirkt, dass der Cache für bestimmte Dateitypen für einen Zeitraum von einem Monat aktiviert wird. Dies bedeutet, dass der Browser die betreffenden Dateien für einen Monat im Cache speichert und bei erneutem Zugriff auf die Webseite nicht erneut vom Server heruntergeladen werden müssen. Dies kann dazu beitragen, die Ladezeiten der Webseite zu reduzieren und die Benutzererfahrung zu verbessern.
Konkret legt der Code über die „ExpiresByType“-Anweisung für verschiedene Dateitypen die Gültigkeitsdauer im Cache fest. Dabei werden die folgenden Dateitypen berücksichtigt:
- text/css
- text/javascript
- text/html
- application/javascript
- image/gif
- image/jpeg
- image/png
- image/x-icon
Alle Dateien dieser Typen werden durch diese Anweisung für einen Monat im Cache gespeichert, sofern der Browser den Cache unterstützt und entsprechend konfiguriert ist.
Die Konfiguration erfolgt hierbei durch das Modul „mod_expires.c“, welches in der Apache-Konfiguration aktiviert sein muss.
Die gzip-Übertragung wird hierbei durch folgenden Code ermöglicht:
<ifModule mod_gzip.c> mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file .(html?|txt|css|js|php)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* </ifModule>
Dieser Code in der .htaccess-Datei konfiguriert das Apache-Modul „mod_gzip“, um die Ausgabe von bestimmten Dateitypen und MIME-Typen zu komprimieren und somit die Übertragungsgeschwindigkeit zu erhöhen.
Im Detail sieht das folgendermaßen aus:
- Die erste Zeile prüft, ob das Modul „mod_gzip“ verfügbar ist. Wenn nicht, werden die folgenden Anweisungen nicht ausgeführt.
- „mod_gzip_on Yes“ aktiviert die GZip-Komprimierung für die Ausgabe.
- „mod_gzip_dechunk Yes“ aktiviert die Entchunkung von Daten, die in kleinere Teile (Chunks) aufgeteilt wurden.
- „mod_gzip_item_include“ definiert, welche Dateitypen oder MIME-Typen komprimiert werden sollen. In diesem Fall werden die Dateitypen HTML, TXT, CSS, JS und PHP sowie der MIME-Typ „text/.“ (alle Text-Dateitypen) und „application/x-javascript.“ (alle JavaScript-Dateien) komprimiert.
- „mod_gzip_item_exclude“ definiert, welche Dateitypen oder MIME-Typen ausgeschlossen werden sollen. Hier wird der MIME-Typ „image/.*“ ausgeschlossen, was bedeutet, dass alle Bild-Dateien nicht komprimiert werden.
- „mod_gzip_item_exclude rspheader ^Content-Encoding:.gzip.“ schließt die Komprimierung von Inhalten aus, die bereits mit GZip komprimiert wurden.
Zusammengefasst bewirkt der Code in der .htaccess-Datei, dass der Webserver die Ausgabe von HTML-, TXT-, CSS-, JS- und PHP-Dateien sowie allen Text- und JavaScript-Dateien komprimiert und die Übertragungsgeschwindigkeit somit erhöht. Bild-Dateien und bereits komprimierte Inhalte werden jedoch ausgeschlossen. Beachte, dass mod_gzip inzwischen veraltet ist und von mod_deflate abgelöst wurde.
Gefällt Dir dieser Blogpost? Wenn Du regelmäßig die neuesten Trends im Online Marketing mitbekommen willst, dann abonniere jetzt unseren Newsletter. Zu Beginn des kostenlosen Abonnements bekommst Du täglich jeden Tag eine Mail, um Dich fit in SEO zu machen - 5 Tage lang. Über 83.000 Abonnenten vertrauen uns.
Die dementsprechende Deflate-Anweisung würde in etwa so dafür aussehen:
##### Compress resources AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript
Dieser Code in der .htaccess-Datei konfiguriert das Apache-Modul „mod_deflate“, um die Ausgabe von bestimmten Dateitypen zu komprimieren und somit die Übertragungsgeschwindigkeit zu erhöhen.
Im Detail sieht das folgendermaßen aus:
- „AddOutputFilterByType DEFLATE“ aktiviert die Komprimierung für die jeweiligen Dateitypen, die im Anschluss aufgelistet werden.
- „text/plain“, „text/html“, „text/xml“, „text/css“, „application/xml“, „application/xhtml+xml“, „application/rss+xml“, „application/javascript“ und „application/x-javascript“ sind die aufgelisteten Dateitypen, deren Ausgabe komprimiert werden soll.
- Durch das Komprimieren der Ausgabe können die Größe von HTML-, CSS-, JavaScript- und XML-Dateien verringert werden, was wiederum dazu führen kann, dass die Ladezeiten der Webseite reduziert werden.
Zusammengefasst bewirkt der Code in der .htaccess-Datei, dass der Webserver die Ausgabe von bestimmten Dateitypen komprimiert und die Übertragungsgeschwindigkeit somit erhöht. Beachte, dass „mod_deflate“ in der Regel eine effizientere Methode zur Komprimierung von Inhalten darstellt als „mod_gzip“, welches in dem vorherigen Punkt behandelt wurde.
Sicherheitslücken bei der .htaccess-Datei vermeiden
Die .htaccess-Datei wird in der Regel dafür verwendet, um Zugriffe auf bestimmte Dateien einzuschränken oder bestimmte Anfragen zu blockieren, jedoch kann eine fehlerhafte Konfiguration auch dazu führen, dass bestimmte Sicherheitsaspekte der .htaccess-Datei beeinträchtigt werden.
Damit Dir das nicht passiert, beachte folgende Sicherheitslücken:
- Offenlegung von sensiblen Informationen: Sollte es Dir passieren, dass die .htaccess-Datei nicht richtig konfiguriert ist, können unter anderem Passwörter, kritische Pfade oder andere nicht für die Öffentlichkeit bestimmte Informationen der Allgemeinheit zugänglich gemacht werden. Achte daher darauf, dass die .htaccess-Datei nicht Dein System offenlegt.
- Verwendung von unsicheren Passwörtern: Wähle stets ein sicheres Passwort, wenn Du den Zugriff auf ausgewählte Ressourcen Deiner Website beschränkst. Brute-Force-Angriffe können einfache Passwörter recht schnell herausfinden.
- Fehlender Validierung von Nutzereingaben: Den Nutzer einfach alles Mögliche eingeben zu lassen, ohne dies zu validieren, ist auch heute noch für SQL-Injektion und Cross-Site-Scripting ein gefundenes Fressen. Stell daher sicher, dass Du keine schädlichen Anfragen in Dein System lässt.
- Fehlende Überprüfung von Zugriffsrechten: Es ist ganz in Deinem Sinne, dass wenn Du schon den Zugriff auf bestimmte Ressourcen Deiner Website für Nutzer begrenzt, dass auch nur die Nutzer Zugriff haben, die es auch haben sollten. Solltest Du Deine Zugriffsrechte nicht ordentlich prüfen, kann es sein, dass nicht beabsichtigte Nutzer Zugriff auf diese Dateien erhalten.
- Unzureichende Fehlerbehandlung: Solltest Du keine Fehlerbehandlung in Deiner .htaccess-Datei haben, kann es sein, dass aufgrund von Fehlern Informationen nach außen gelangen, die dafür nicht vorgesehen waren. Implementiere daher Fehlerbehandlungen, um gezielt Probleme zu identifizieren und schnell zu beheben.
- Unzureichende Verschlüsselung: Eine Verschlüsselung von Daten solltest Du generell vornehmen, damit ungewollte Informationen nicht von Dritten gelesen werden können.
Leg daher bei der Konfiguration der .htaccess-Datei großen Wert auf Korrektheit der Konfiguration und teste es ausgiebig. Du möchtest nicht, dass Hacker sich Sicherheitslücken in Deinem System bemannen und schädliche Aktionen ausführen.
Wichtige Tipps und Tricks im Umgang mit der .htaccess-Datei
Damit Du nicht auf gängige Fehler oder Sicherheitsrisiken reinfällst, geben wir Dir direkt ein paar wichtige Tipps und Tricks im Umgang mit der .htaccess-Datei mit.
- Mach immer eine Sicherheitskopie: Du solltest immer die bereits funktionierende .htaccess-Datei sichern. Das sorgt dafür, dass Du immer eine Ausweichversion parat hast, wo Du weißt, dass sie funktioniert. Das ist Dein Fallback, sollten Deine Änderungen nicht funktionieren.
- Code-Schnipsel nur aus vertrauenswürdigen Quellen nutzen: Das Internet ist voll von Code, der augenscheinlich gut aussieht, kann aber durchaus auch ganz anders ausgehen. Wenn Du also Code-Schnipsel aus dem Internet verwendest, nimm diese von seriösen Quellen, wo Du sicher sein kannst, dass sie keinen Schadcode veröffentlichen.
- Verwende sichere Passwörter: Wenn Du in der .htaccess-Datei Benutzerkonten erstellst oder Passwörter generell verwendest, achte darauf, sichere und lange Passwörter zu nutzen. Ändere sie regelmäßig und nutze niemals dasselbe Passwort für mehrere Konten. Das gibt einem Angreifer zu viel Macht.
- Überprüfe die Dateiberechtigungen: Achte darauf, dass die .htaccess-Datei nur für den Webserver und den Web-Administrator zugreifbar ist. Dadurch sicherst Du Dich ab, dass niemand anderes Deine Regeln überschreiben kann.
- SSL-Verschlüsselung verwenden: Eine Webseite ohne SSL ist heutzutage einfach zu unsicher geworden. Gerade bei Benutzereingaben sollte diese verschlüsselt werden, um nicht im Klartext auslesbar zu sein. Richte daher unbedingt ein SSL-Zertifikat ein und lass über die .htaccess-Datei nur auf SSL-gesicherte Dateien zugreifen.
- Vermeide Redirect-Schleifen: Du solltest vermeiden, Redirect-Schleifen in Deiner .htaccess-Datei zu ermöglichen. Dadurch kann es sein, dass Deine Webseite nicht mehr erreichbar wird oder Problem auftauchen, die nicht da sein sollten.
- Syntax überprüfen: Bei jedem Eintrag in die .htaccess-Datei besteht die Möglichkeit, den Syntax falsch zu verwenden. Geh daher auf Nummer sicher, dass Deine Regeln dem korrekten Syntax für die .htaccess-Datei entsprechen.
Hilfreiche Quellen für die Erstellung einer .htaccess-Datei
- https://de.ryte.com/magazine/htaccess-datei-seo
- https://omr.com/de/reviews/contenthub/htaccess-seo
- https://www.seo-kueche.de/blog/htaccess-datei-seo/
- https://www.seo-suedwest.de/seo-wissen/tipps-und-tricks/35-onsite-optimierung/1859-tipps-umgang-htaccess.html
- https://www.abakus-internet-marketing.de/wissen/seo-leitfaden/seo-consulting/htaccess-ein-maechtiges-seo-werkzeug
- https://www.ionos.de/digitalguide/hosting/hosting-technik/htaccess-tricks/
- https://htaccesscheatsheet.com/
Fazit
Die .htaccess-Datei kann ein starkes Mittel sein, um Redirects zu ermöglichen oder die Nicht-Indexierung von ungewollten Elementen zu steuern. Je größer die Website wird, desto eher wirst Du Dich mit dieser Datei befassen müssen! Wir hoffen, dass wir Dir hier einen guten Überblick der Möglichkeiten zur .htaccess-Datei darstellen konnten.
Fallen Dir noch weitere sinnvolle Möglichkeiten ein? Welche findest Du besonders wichtig? Lass sie uns in den Kommentaren wissen!
Bildnachweis: Titelbild: AdobeStock 329771992 ©stockbakers