Die .htaccess-Datei ist eine Konfigurationsdatei, die auf NCSA-kompatiblen Webservern wie etwa Apache verwendet wird. Sie ermöglicht es Website-Betreibern, die Konfiguration ihres Servers durch verzeichnisbasierte Regeln anzupassen. Die .htaccess-Datei kann eine Vielzahl von Funktionen und Befehlen enthalten, die das Verhalten des Servers steuert, darunter beispielsweise Weiterleitungen, Authentifizierungen und Caching.

Für SEO ist die .htaccess-Datei von entscheidender Bedeutung, da sie eine Reihe von Maßnahmen ermöglicht, um die technischen Bedingungen einer Website – und somit ihre Sichtbarkeit – zu verbessern. In den folgenden Kapiteln gehen wir genauer darauf ein, wie das Potential der .htaccess-Datei im Sinne einer zeitgemäßen Suchmaschinenoptimierung voll ausgeschöpft werden kannn

Inhaltsverzeichnis

Kurz und knapp: Die Funktionsweise der .htaccess-Datei

Die .htaccess-Datei ermöglicht es, für den Webserver Anweisungen auf Verzeichnisebene zu definieren. Die Datei wird im Stammverzeichnis (Root) einer Website hochgeladen und wirkt sich dabei auf alle darunter liegenden Verzeichnisse und deren Inhalte aus.

Die Anweisungen in der .htaccess-Datei werden in einer speziellen Syntax geschrieben und können je nach Bedarf kombiniert werden. Die Syntax der .htaccess-Datei besteht aus einer Reihe von Befehlen, die durch bestimmte Schlüsselwörter definiert sind. Die wichtigsten Befehle der .htaccess-Datei für SEO lesen Sie im Kapitel Mächtiges SEO-Tool: Die Möglichkeiten der .htaccess-Datei.

Beispiel für die Syntax der .htaccess-Datei mit einer WordPress-Website auf einem Apache-Webserver

Standardmäßig enthält die .htaccess-Datei einer WordPress-Seite nur eine einzige Regel, die steuert, wie die Permalinks der Website funktionieren:

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

In unserem Blogbeitrag erfahren Sie, welche Befehle, Anweisungen und Direktiven Sie in der.htaccess-Datei ergänzen können. Dabei ist es unerheblich, ob Sie eine WordPress-Website besitzen oder ein anderes Content-Management-System (CMS) benutzen. Die einzige Bedingung ist, dass die Seite auf einem NCSA-kompatiblen Webserver liegt.

Wo finde ich die .htaccess-Datei?

In der Regel befindet sich die .htaccess-Datei im Hauptverzeichnis Ihrer Website. Auf diese Weise sind die festgelegten Einstellungen und Regeln in diesem Verzeichnis sowie in allen Unterverzeichnissen wirksam. Es gibt jedoch die Möglichkeit, weitere .htaccess-Dateien in jedem beliebigen Unterverzeichnis abzulegen. Unterscheiden sich diese dann von der Datei im Hauptverzeichnis, gelten die dort definierten Regeln und Anweisungen.

Bei WordPress beispielsweise wird die .htaccess-Datei automatisch erstellt. Sie liegt im Verzeichnis /www/., also im Hauptverzeichnis Ihrer Website. Haben Sie die Website in einem Unterverzeichnis installiert, ist die .htaccess dort abgespeichert.

Hinweis: Bei der .htaccess handelt es sich um eine versteckte Datei. Nutzen Sie also FileZilla oder ein vergleichbares Programm, müssen Sie dort unter Umständen erst einstellen, dass Ihnen unsichtbare Dateien angezeigt werden. In FileZilla beispielsweise wählen Sie hierfür unter dem Reiter Server die Auswahlmöglichkeit Auflistung versteckter Dateien erzwingen.

Sie haben Schwierigkeiten mit der .htaccess-Datei? Als kompetente SEO-Agentur unterstützen wir Sie gerne dabei. Treten Sie direkt mit uns in Kontakt.

Verwechslungsgefahr: Was ist der Unterschied zwischen der .htaccess-Datei und der robots.txt?

Sowohl die htaccess-Datei als auch die robots.txt-Datei sind elementar für eine optimal funktionierende Website. Da es sich in beiden Fällen um für die die Konfiguration wesentliche Textdateien handelt, werden diese von SEO-Laien häufig verwechselt.

Wie bereits eingangs angerissen, ermöglicht es uns die htaccess-Datei u. a. Redirects anzulegen, URLs umzuschreiben und passwortgeschützte Verzeichnisse anzulegen. Adressat der Anweisung in der htaccess-Datei sind sowohl menschliche Nutzer als auch Bots. Die robots.txt richtet sich hingegen nur an Bots wie den Google Crawler und konfiguriert u. a. deren Zugriff auf Dateien und URLs. Auch bezüglich der Verlinkung von Sitemaps wird die sie genutzt.

Während sich die .htaccess-Datei also auch auf die Nutzererfahrung auswirkt, wird die robots.txt-Datei lediglich zur Konfiguration des Crawling-Verhaltens der Bots eingesetzt.

Mächtiges SEO-Tool: Die Möglichkeiten der .htaccess-Datei

Die .htaccess-Datei kann als vielfältiges SEO-Tool genutzt werden und bietet zahlreiche Möglichkeiten, um die technischen Grundlagen sowie Aspekte der Nutzererfahrung und somit die Sichtbarkeit einer Website zu verbessern. In den folgenden Kapiteln gehen wir auf die wichtigsten Kniffe der .htaccess-Datei ein.

301 Redirects via .htaccess: Umschreibungen von URLs samt 301-Weiterleitungen

301-Weiterleitungen sind ein wichtiges Instrument in der Suchmaschinenoptimierung, da sie sicherstellen, dass sowohl Nutzer als auch Suchmaschinen auf die richtige URL einer Seite geleitet werden. Dies wird bspw. relevant, wenn die Inhalte zweier URLs zusammengeführt werden oder eine Dienstleistung mit eigener Landingpage eingestampft wird.

Die .htaccess-Datei bietet eine einfache Möglichkeit, 301-Weiterleitungen einzurichten. Dies erfolgt durch das Hinzufügen spezifischer Anweisungen, die in der Syntax der .htaccess-Datei als RewriteRules bezeichnet werden.

Diese Regeln verwenden das Modul mod_rewrite des Apache-Webservers, um Anfragen an alte URLs auf neue URLs umzuschreiben und gleichzeitig den Statuscode 301 (Permanent Redirect) an den Browser und Suchmaschinenbot zu senden. Dadurch wird mitgeteilt, dass die Umleitung dauerhaft ist und die neue URL als Ersatz für die alte URL zu betrachten ist.

Ein typisches Beispiel für eine 301-Weiterleitung in der .htaccess-Datei sieht wie folgt aus:

RewriteEngine On
RewriteRule ^alter-pfad$ /neuer-pfad [R=301,L]

Rufen wir nun also https://www.seo-nest.de/alter-pfad auf, werden wir automatisch auf https://www.seo-nest.de/neuer-pfad weitergeleitet.

Die Flags [R=301,L] geben an, dass es sich um eine Weiterleitung mit dem Statuscode 301 handelt (R=301) und dass die Regel angewendet werden soll (L).

Soll die Weiterleitung nur vorübergehend erfolgen und anschließend wieder die bisherige Adresse gelten, ist der Statuscode 302 (Moved Temporarily) das Mittel der Wahl. Hierfür ersetzen Sie einfach [R=301,L] aus unserem Beispiel durch [R=302,L]

Ist bereits eine Weiterleitungsregel in der .htaccess-Datei aktiv, kann die neue Regel direkt ohne die Angabe „RewriteEngine On“ unter der letzten Rewrite-Regel platziert werden.

HTTPS-Redirects via .htaccess: Weiterleitung von der HTTP- auf die HTTPS-Variante

Das Sicherheitszertifikat HTTPS (Hypertext Transfer Protocol Secure) verschlüsselt die Kommunikation zwischen Webserver und Browser, sodass die Nutzererfahrung deutlich sicherer wird. Häufig ist die Website nach der Einrichtung des Sicherheitszertifikats sowohl in der veralteten HTTP- als auch in der neuen HTTPS-Variante aufrufbar. Um Duplicate Content zu vermeiden, sollten Sie via .htaccess einen HTTPS-Redirect einrichten, der automatisch von der HTTP- auf die HTTPS-Variante weiterleitet.

Auch dies lässt sich ganz einfach über das Hinzufügen einer einzigen RewriteRule zur .htaccess-Datei bewerkstelligen:

RewriteEngine On
RewriteCond %{Server_Port} !=443
RewriteRule ^(.*)$ https://www.seo-nest.de/$1 [R=301,L]

Die RewriteRule leitet automatisch sämtliche Zugriffe auf die Website über den Port 80 (HTTP) auf den Port 443 (HTTPS) um.

.htaccess www-Redirect: www to non-www

Soll von der www-Variante auf die Non-www-Variante weitergeleitet werden, müssen Sie folgenden Code in die .htaccess kopieren:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.seo-nest\.de [NC]
RewriteRule ^(.*)$ http://seo-nest.de/$1 [L,R=301]

.htaccess www-Redirect: non-www to www

Umgekehrt ermöglicht folgende Anweisung die automatische Weiterleitung von der Non-www- auf die www-Variante:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^seo-nest.de$ [NC]
RewriteRule (.*) http://www.seo-nest.de/$1 [R=301,L]

.htaccess: Weiterleitung auf eine andere Domain

Soll die .htaccess eine automatische Weiterleitung auf eine andere Domain anfordern, wird dies über folgende Anweisung definiert:

RewriteEngine On
RewriteCond %{REQUEST_URI} (.*)
RewriteRule ^(.*)$ https://neue-domain.de/$1 [L,R=301]

Dateitypen automatisiert mit einem Header versehen

Klassisches Beispiel aus dem Alltag eines SEO-Managers: Bei der Analyse der Website einer Neukundin fällt auf, dass eine beängstigend hohe Anzahl an „Müll-PDFs“ von Google indexiert worden sind. Weil wir aber nur hochwertigen Content im Index wissen möchten, können wir – um beim PDF-Beispiel zu bleiben – über folgenden Code-Schnipsel in der .htaccess-Datei sämtliche PDF-Dateien automatisiert auf noindex stellen und von der Indexierung ausschließen.

Der zugehörige Code sieht folgendermaßen aus:

<Files *.pdf>
Header add X-robots-tag „noindex,follow“
</Files>

Betrachten wir das vorherige Beispiel nun von der anderen Seite aus. Die PDFs sind kein Müll, sondern als Download sehr wichtig für die Nutzererfahrung. Die Inhalte sind aber gleichzeitig 1:1 auf HTML-Seiten der Website zu finden – ebenfalls wichtig für unsere Zielgruppe. Da die Suchmaschine hier gerne Duplicate Content wittert und dementsprechend abstraft, versehen wir die PDF-Dateien über folgenden Code in der .htaccess-Datei mit einem Canonical, der auf die HTML-Seite zeigt:

<Files /musterpfad/musterpdf.pdf>
Header add Link ‚<https://www.musterseite.de/musterpfad/musterhtml.html>;rel=“canonical“‘
</Files>

Dies ermöglicht eine friedliche Koexistenz der beiden Dateiformate, ohne dass die beiden Inhaltstypen hinsichtlich der Suchmaschine in Konflikt geraten.

Eigene 404-Seite über die .htaccess-Datei festlegen

Eine weitere praktische Funktion der .htaccess-Datei ist die Möglichkeit, eine benutzerdefinierte 404-Fehlerseite festzulegen. Wie wir wissen, wird diese Fehlerseite angezeigt, wenn ein entsprechender 404-Fehler aufgerufen, also eine nicht vorhandene URL angesteuert wird. Vielfach bieten Server vorgefertigte 404-Fehlerseiten an, die nichts weiter tun, als den Hinweis zu geben, dass die aufgerufene URL nicht existiert.

Möchten Sie für Ihre Nutzer stattdessen eine eigens entworfene Fehlerseite ausspielen lassen, ist dies über folgenden Befehl in der .htaccess-Datei möglich:

ErrorDocument 404 /url-der-neuen-404-seite.html

Mini-Exkurs: Darum sollten Sie unbedingt eine eigene 404-Seite einrichten

  • Das Negativerlebnis auf einer Fehlerseite gelandet zu sein, wird durch einen kreativen Ansatz mit Mehrwert abgeschwächt.
  • Die eigene 404-Seite kann anders als eine 08/15-Fehlerseite conversion-relevante Impulse geben.
  • Zusätzlich wird die Absprungrate minimiert.

Bestimmte IP-Adressen über die .htaccess-Datei ausschließen

Weiterhin ermöglicht es die .htaccess-Datei Website-Betreibern, den Zugriff auf die Website abhängig von der IP-Adresse zu kontrollieren. Dies ist eine nützliche Funktion, um bestimmte Benutzer oder Bots auszuschließen, die bspw. unerwünschten Traffic verursachen oder Sicherheitsrisiken darstellen.

In unserem Beispiel möchten wir Bots, die mit den IP-Adressen 123.456.789.012 und 987.654.321.098 auf unseren Server zugreifen, den Zugriff verweigern. Der zugehörige Befehl, den wir in der .htaccess-Datei einfügen, sieht folgendermaßen aus:

Deny from 123.456.789.012
Deny from 987.654.321.098
Allow from All

.htaccess & Passwortschutz

Die Konfiguration der .htaccess-Datei ermöglicht einen Passwortschutz bestimmter Pfade. Ein Beispiel für einen Passwortschutz via .htaccess könnte bspw. so aussehen:

AuthType Basic
AuthName „Geschützter Bereich – Bitte geben Sie ein Passwort ein!“
AuthUserFile /Individueller/Pfad/.htpasswd
Require valid-user

Beachten Sie, dass für die Zugriffskontrolle per Passwortschutz eine gesonderte Passwort-Datei (.htpasswd-Datei) erstellt werden muss. Wie das funktioniert, erfahren Sie hier.

Tipps und Tricks für die .htaccess-Datei, die Sie immer berücksichtigen sollten

  • Durch eine falsche Handhabung der .htaccess können im schlimmsten Falle eklatante Sicherheitslücken entstehen. Vermeiden Sie unbedingt die Preisgabe sensibler Informationen. Durch eine fehlerhafte oder fahrlässige Konfiguration der .htaccess-Datei erhöht sich das Risiko, dass Passwörter, geschützte URL-Pfade oder andere nicht für die Öffentlichkeit bestimmte Informationen öffentlich gemacht werden. Prüfen Sie also immer genau, welche Auswirkungen Ihre Änderungen der .htaccess-Datei haben.
  • Legen Sie zudem immer eine Sicherheitskopie der Datei an, bevor Sie Änderungen vornehmen. So lassen sich fehlerhafte Eingaben schnellstmöglich korrigieren.
  • Ziehen Sie außerdem nur vertrauenswürdige Quellen heran, wenn Sie Befehle und Anweisungen aus dem Internet kopieren. Nur so können Sie gewährleisten, dass keine schädlichen Code-Schnipsel in der .htaccess-Datei landen.
  • Nutzen Sie die .htaccess, um einen Passwortschutz einzurichten, sollten Sie in jedem Fall starke Passwörter mit Buchstaben, Zahlen, Groß- und Kleinschreibung sowie Sonderzeichen verwenden. Vergeben Sie außerdem jedes Passwort nur einmal. Grenzen Sie die Dateiberechtigung zudem ein, sodass nur Webserver und Web-Administrator oder andere essenzielle Mitarbeiter Zugriff haben.

Struktur ist das A und O: Erweitern Sie die .htaccess-Datei um Kommentare

Die .htaccess-Datei wächst über die Zeit mitunter um eine Vielzahl an Befehlen, Anweisungen und Direktiven. Um Struktur und Orientierung zu schaffen, sollten Sie mit Kommentaren arbeiten. Ist einer Zeile das Zeichen # vorangestellt, wird Sie von Browsern, Suchmaschinen und Bots nicht interpretiert.

Ein Beispiel für einen Kommentar in der .htaccess könnte etwa sein:

# Anfang WordPress-Standard .htaccess-Datei
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# Ende WordPress-Standard .htaccess-Datei

Auf dieses Weise werden die Befehle RewriteEngine On, RewriteBase, RewriteRule und RewriteCond berücksichtigt, während die Kommentare # Anfang WordPress-Standard .htaccess-Datei und # Ende WordPress-Standard .htaccess-Datei nur für Sie relevant sind.

seonest: Ihr SEO-Spezialist aus Berlin

Sie möchten die Möglichkeiten der Suchmaschinenoptimierung nutzen und Ihre Sichtbarkeit erhöhen? Bei seonest sind Sie an der richten Adresse. Unser kompetentes Team überzeugt durch langjährige Erfahrung im Bereich SEO und punktet mit weiteren Marketing-Kenntnissen wie Suchmaschinenwerbung (SEA) oder Social Media. Seit 2009 sind wir für unsere Kundinnen und Kunden da und haben schon tausenden Websites dabei geholfen, die vorderen Ränge in den Suchmaschinen zu erobern und diese langfristig zu halten.

Möchten auch Sie gemeinsam mit uns durchstarten und Ihr Business auf die nächste Stufe hieven? Dann kontaktieren Sie uns jetzt für eine professionelle Onpage- und Offpage-Analyse – wir freuen uns auf Ihre Anfrage!

Jetzt kostenfreie Analyse sichern!

  Erfahrungen & Bewertungen zu seo-nest.de