htaccess – Ein mächtiges SEO-Werkzeug
Spätestens wenn es bei einem Relaunch um die Einrichtung von Weiterleitungen geht oder die Website auf von HTTP auf HTTPS (SSL-Verschlüsselung) umgestellt wird, wird die Einrichtung und die Einstellungen einer .htaccess-Datei zum Thema für technisches SEO. Doch was verbirgt sich hinter der Bezeichnung eigentlich? Der Name „.htaccess“ ist die Kurzform von HyperText-Access, also HyperText-Zugriff. Es handelt sich um eine Konfigurationsdatei, die es möglich macht auf einem Apache Webserver verzeichnisbezogene Regeln aufzustellen. Solche .htaccess-Hacks sind in vielen Fällen sehr effizient.
Was wird mit der .htaccess geändert?
Mit der .htaccess-Datei kann man die Konfigurationseinstellungen des Webservers (Apache) ändern, auch wenn man keinen Zugriff auf die Konfigurationsdatei „httpd.conf“ des Apache HTTP Server hat. Die vorgenommen Einstellungen wirken sich auf das Verzeichnis in dem die .htaccess liegt und die Unterverzeichnisse aus. Es ist möglich, in jedem Verzeichnis bzw. Unterverzeichnis wiederum eine .htaccess mit spezifischen Einstellungen anzulegen. Kurze Zeit nach dem eine .htaccess-Datei in ein Verzeichnis des Webservers geladen wurde, greifen bereits die vorgenommen Einstellungen. Ein Neustart des Servers ist nicht nötig und in der Regel beim Hosting-Provider auch nicht beeinflussbar.
Dies betrifft folgende Möglichkeiten:
- Zugriffsschutz
- Sperrungen
- Fehlermeldungen (Servercode)
- Weiterleitungen
Die .htaccess wird im Root-Verzeichnis der Website abgelegt. Dazu erstellt man lediglich mit dem Editor eine Datei, die ohne Dateiendung mit dem Dateinamen „.htaccess“ und der Codierung ANSI abgespeichert wird. Will man die .htaccess bearbeiten, geht das auf Windows aufgrund der fehlenden Dateiendung nicht mit einem einfachen Doppelklick. Man kann das aber ganz leicht so lösen: Programm Editor starten > Datei öffnen
Hier kann man dann die .htaccess bearbeiten. Die Einstellungen greifen in dem aktuellen Verzeichnis und dessen Unterverzeichnissen. Ausnahmen lassen sich durch eine .htaccess in einem Unterverzeichnis schaffen.
Vorsicht bei Änderungen der .htaccess
Bei jedem Aufruf einer URL wird die .htaccess ausgewertet und auf jede Datei angewandt. Besteht ein Seitenaufruf aus einer HTML-Datei, 4 CSS, 3 Javascript und 32 Bilddateien wird für jede Datei geprüft, ob eine relevante Anweisung besteht.
Das heißt aber auch, je umfangreicher und komplexer die Anweisungen in der .htaccess sind, desto mehr können diese zu Lasten der Performance gehen. Es muss parallel kontinuierlich getestet werden, wo die akzeptable Obergrenze liegt. Letztendlich hängt die Anzahl von Anweisungen in der .htaccess von dem Arbeitsspeicher des Webservers ab.
Wichtig!
Jede Änderung muss geprüft und direkt – am besten sofort – im Livebetrieb getestet werden. Denn schon kleine Fehler erzeugen einen „Server Error 500“. Die Schreibweise, also die Syntax der .htaccess, muss zu 100 Prozent korrekt sein, denn eine falsch geschriebene Anweisung kann den Seitenzugriff auf dem kompletten Server verhindern.
Falls trotzdem ein Fehler gemacht wurde und die Website nicht mehr angezeigt wird, ist der schnelle Roll-back enorm hilfreich und nützlich. Oft steht keine Testumgebung zur Verfügung und die Einstellungen über die .htaccess werden daher regelmäßig im Livebetrieb vorgenommen, genau so wie mögliche Änderungen. Deshalb ist es ratsam, immer eine Sicherungskopie der zuvor funktionierenden .htaccess anzulegen. Hierzu kann eine lokale Sicherungskopie erstellt werden oder man benennt die .htaccess auf dem Server unmittelbar vor dem Hochladen (Upload) der neuen .htaccess um. Sollte es dann zu einem Error 500 kommen, reicht es aus die beiden Dateien umzubenennen, so dass die Backup-htaccess dann wieder .htaccess heißt.
Die Nutzung der .htaccess ist bei manchen Hosting-Providern eingeschränkt und es gibt keine Garantie, dass jedes Script überall läuft. Alle Anweisungen sind deshalb immer zu testen!
Häufigster Anwendungsfall: Weiterleitungen
Beispiele für Weiterleitungen:
- Umstellung auf SSL
- Domain ausschließlich auf www.
- Neue Verzeichnisstruktur
Bei Änderungen der Website-Struktur ist es sehr wichtig, für jede weggefallene URL eine Weiterleitung einzurichten. Die Erfahrung zeigt: Ohne Weiterleitungen sind hohe Sichtbarkeitsverluste die Regel (Siehe auch SEO Relaunch Begleitung)!
Weiterleitung als 301 oder 302?
301: moved permanently vs. 302: moved temporary
Wenn eine Seite nur temporär, zum Beispiel aufgrund von Wartungsarbeiten, nicht verfügbar ist, ist 302 der richtige HTTP-Statuscode. Haben sich die Navigationsstruktur und damit die Verzeichnisse grundsätzlich geändert, muss eine permanente Weiterleitung eingerichtet werden. Damit weiß der Suchmaschinen-Bot, dass die alte Adresse nicht mehr zu crawlen ist und stattdessen die neue Adresse gecrawlt werden soll und in den Index aufzunehmen ist.
Weiterleitung einrichten
Beispiel:
#301 Weiterleitung RewriteEngine On RewriteRule ^alteDatei.html$ /neueDatei.html [R=301,L]
Erklärung:
RewriteEngine On: Mit dieser Zeile wird für die Weiterleitung die Funktion aktiviert. Diese Anweisung ist immer erforderlich, wenn RewriteRules angewandt werden sollen.
#: Die erste Zeile ist ein Kommentar. Mit # wird der Kommentar eingeleitet. Alles was in dieser Zeile hinter # steht, wird vom Webserver nicht ausgewertet.
Regular Expressions
Die Syntax der RewriteRules basiert auf regulären Ausdrücken (Regular Expressions).
Die Zeichen ^ und $ markieren den Anfang und das Ende eines Suchmusters, auf das sich die Anweisung bezieht. Entsprechend dieser Anweisung wird in den URLs gesucht. In diesem Fall ist das die umzuleitende Seite. Der Punkt „.“ steht in regulären Ausdrücken für ein beliebiges Zeichen. Wenn wir wirklich einen Punkt meinen, dann wird die Bedeutung des „.“ mit einem Backslash . entwertet ( bedeutet also: exakt das nächste Zeichen).
^ Beginn eines Suchmusters
$ Ende des vorangegangenen Suchmusters, kann aber auch eine Variable einleiten
. Beliebiges Zeichen
+ Beliebige Anzahl von Zeichen, ein oder mehrmaliges Vorkommen
* Beliebige Anzahl von Zeichen; kein, ein oder mehrmaliges Vorkommen
/ Backslash entwertet ein Zeichen
( ) Runde Klammern gruppieren Teilausdrücke und merken den String als Variable z.B. $1, $2
Am Ende der Zeile wird mit der RewriteRule der Servercode für die Weiterleitung (Redirect) in eckigen Klammern angegeben. Mit dem zusätzlichen Parameter L (Letzter, Last) kann man festlegen, dass weitere Anweisungen für diese URL in der .htaccess Datei zu ignorieren sind.
Beispiel wie oben:
#301 Weiterleitung RewriteEngine On RewriteRule ^alteDatei.html$ /neueDatei.html [R=301,L] RewriteRule ^altesVerzeichnis$ /neuesVerzeichnis [R=301,L] RewriteRule ^verzeichnis/unterverzeichnis$ https://www.domain.de/neuesverzeichnis/neuesunterverzeichnis/[R=301,L]
Alternative Anweisung für diesen Redirect
#Anweisung_Kategorie URL_alt URL_neu Redirect 301 /alteDatei.html /neueDatei.html Redirect 301 /altesVerzeichnis /neuesVerzeichnis Redirect 301 /verzeichnis/unterverzeichnis https://www.domain.de/neuesverzeichnis/neuesunterverzeichnis
Weiterleitung von einem Verzeichnis auf die Startseite
RewriteRule ^ordner-geloescht(.*)$ / [R=301,L]
Umleitung auf www.
Soll eine Domain generell auf www. laufen, muss eine Weiterleitung eingerichtet werden. Sonst ist die Domain mit und ohne www. verfügbar und das kann zu Ranking-Verlusten führen.
RewriteCond %{HTTP_HOST} ^name-der-domain.de$ [NC] RewriteRule ^(.*)$ http://www.name-der-domain.de$1 [R=301,L]
http nach https
Stellt man die Seite auf https um, ist ebenfalls eine Weiterleitung in der .htaccess erforderlich.
RewriteCond %{HTTPS} !=on RewriteCond %{HTTP_HOST} ^www.domain.de$ RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Alle Verzeichnisse mit Trailing-Slash
Die folgende Weiterleitung verhindert, dass ein Verzeichnis sowohl mit als auch ohne Trailing-Slash aufrufbar ist.
RewriteEngine on RewriteCond %{REQUEST_URI} /+[^.]+$ RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
Warum macht man das?
Beispiel: https://domain.de/reiseart/tauchreise https://domain.de/reiseart/tauchreise/
Die beiden Verzeichnisse oben sind für Suchmaschinen wie Google zwei unterschiedliche Adressen. In diesem Fall handelt es sich dann um zwei Duplikate. Und Duplicate Content ist aus SEO-Sicht ein großer Nachteil für das mögliche Ranking einer Seite.
Spezielle Lösung: ein Praxisbeispiel
Die folgenden Anweisungen wurden für einen Kunden entwickelt, der im Rahmen eines Relaunches von modified xtCommerce auf Shopware umgestiegen ist.
Ziel:
URLs wie
http://www.domain.de/Produkt-fuer-alle-Faelle::12345.html
sollten weitergeleitet werden nach
http://www.trade4me.de/search?sSearch=60208
Mit der Artikelnummer in dieser URL leitet Shopware intern automatisch weiter auf die Produktseite, wie sie im SEO-Router gespeichert ist.
# Alle Artikelnummern werden an die Shopware Suche übergeben RewriteCond %{HTTP_HOST} ^(www.)?trade4me.de RewriteRule ^(.+)[:]{2}([0-9]{5}).html(.*)$ https://%{HTTP_HOST}/search?sSearch=$2 [R=301,L]
Erklärung:
^(.+)[:]{2}([0-9]{5}).html(.*)$
^ Beginn des Suchmusters
(.+) Ein oder mehrere Zeichen
[:]{2} Suche nach zwei ::
([0-9]{5}) Danach folgen fünf Zeichen, die aus Zahlen von 0-9 bestehen
.html Darauf folgt .html. Denn es gab auch URLs mit :::, darin sind ja auch zwei :: enthalten
(.*) Danach können noch Zeichen folgen, müssen aber nicht
$ Ende des Suchmusters
Weitere Anwendungsfälle für die .htaccess
Eigene Error 404-Seite
Anweisung für den Aufruf einer bestimmten Seite bei einem Error 404.
ErrorDocument 404 URLderFehlerseite
Beispiel:
ErrorDocument 404 /404.php
IP-Adresse aussperren
Es ist möglich, den Aufruf durch bestimmte IPs zu sperren. Hierzu ist der folgende Eintrag notwendig:
order allow,deny deny from 192.168.2.17 deny from 10.10.20.63 allow from all
Will man die ganze Site sperren, so wird die .htaccess in das Hauptverzeichnis gelegt. Geht es nur um einzelne Ordner, sollte die .htaccess hingegen in die entsprechenden Ordner gepackt werden.
Passwortschutz
Sollen die Website oder einzelne Verzeichnisse mit einem Passwort geschützt werden, sind zwei Dateien erforderlich:
.htaccess & .htusers
Eintrag .htaccess
# .htaccess-Datei fuer das Verzeichnis /test AuthType Basic AuthName "TopSecret-Bereich" AuthUserFile /[SERVERPFAD]/[UNTERVERZEICHNISSE]/.htusers AuthPGAuthoritative Off require user Günther Emil Maria
Erklärung zu diesen .htaccess Anweisungen:
AuthType: Steht für den Typ der Authentifizierung.
AuthName: Wird in dem Pop-up-Fenster angezeigt, das sich beim Aufrufen des geschützten Bereichs öffnet.
AuthUserFile: Angabe des absoluten Pfads der Datei, welche die Daten zur Authentifizierung (Benutzernamen und Passwörter) enthält.
Der Pfad besteht aus:
Serverpfad: Der absolute Pfad des Accounts; zu finden im Kundenmenü oder wenn sich per FTP eingeloggt wird können die Unterverzeichnisse der Webspace betrachtet werden.
require user: Hier kann festgelegt werden, welchen Benutzern aus dem AuthUserFile der Zugriff auf den geschützten Bereich gewährt werden soll.
Eintrag .htusers
# .htusers-Datei für Benutzernamen und Passwörter Fritz:INxSqKMwIc Erna:begslbtrox123 Max:ase52SH459B Ilse:pTcHo9kefF Knut:INUhFBdkNZ6RQ Maria:IN2GiNEVet23
Inhalte vor dem Doppelpunkt sind die Benutzernamen. Danach handelt es sich um die Passwörter zu den einzelnen Benutzern. Zu beachten ist hierbei, dass in dieser Datei die Passwörter nur in verschlüsselter Form gespeichert sein dürfen. Eine Möglichkeit, die Passwörter zu verschlüsseln, bietet beispielsweise die Seite www.htpasswdgenerator.de.
Die Anwendung der .htaccess-Hacks ist einfach
Die oben genannten Bespiele, um die .htaccess-Datei zur Server-Konfiguration zu verwenden, geben einen Einblick in die Funktion sowie mit Tipps und Tricks im Umgang mit dieser mächtigen Datei. Die Befehle werden direkt nach Upload vom Webserver umgesetzt. Ebenso können vorgenommene Änderungen auch wieder zurückgenommen werden.
Weiterführende Quellen:
Nicht genug Infos zu Funktion von Webserver und .htaccess:
https://wiki.selfhtml.org/wiki/Webserver/htaccess
http://301re.direct
http://online-sucher.de/htaccess.html
http://www.webschmoeker.de/grundlagen/was-ist-eine-htaccess-datei/
https://jweiland.net/know-how/internet/htaccess-konfigurieren.html
Weiterleitungen testen
http://301re.direct/redirect-checker/
http://www.redirect-checker.org/index.php
Reguläre Ausdrücke:
In dem Beitrag wurde nur ein kleiner Teil der Möglichkeiten von regulären Ausdrücken angerissen. Das Thema ist „Regular Expressions“ komplex und es geht bereits stark in Richtung fortgeschrittenes Wissen und Verständnis von IT & Programmierung. Wer sich dafür interessiert und mehr wissen möchte, kann sich auf den folgenden Seiten informieren und tiefer einsteigen:
https://wiki.selfhtml.org/wiki/Perl/Regul%C3%A4re_Ausdr%C3%BCcke
https://danielfett.de/de/tutorials/tutorial-regulare-ausdrucke/
Neueste Forenbeiträge zum Thema SEO Consulting
Von: nerd
am: 09.08.2023 - 11:28
in: Ich hab' da mal 'ne Frage
Alle Unterseiten verweisen per Canonical Link oder per Redirect auf die Startseite! (6)
Von: Felicitas
am: 13.06.2022 - 16:03
in: Ich hab' da mal 'ne Frage
Alle Unterseiten verweisen per Canonical Link oder per Redirect auf die Startseite! (6)
Von: arnego2
am: 17.06.2022 - 23:43
in: Ich hab' da mal 'ne Frage
Unbekannter URL-Parameter in WordPress (16)
Von: Jogger45
am: 23.03.2022 - 16:03
in: Content Management Systeme, Blog- & Shopsysteme
Verwandte Beiträge:
- Alternative Suchmaschinen 1: Swisscows, MetaGer, Qwant …
- Bildoptimierung für schnelle Ladezeiten Ihrer Webseite
- Das doppelte Lottchen oder Duplikate unerwünscht
- Googles Core Web Vitals als Kennzahl für die Page Experience
- Größere Bedeutung von No Click Searches – Lösungsvorschläge für Ihre Website
- Hidden Content und Infinite Scrolling: SEO Tipps zur Umsetzung
- In 3 Schritten zur perfekten Keyword Recherche
- Keyword Kannibalismus erkennen und beseitigen
- Keyword Monitoring Tool
- Keyword Tools
- Keywords im Singular oder Plural optimieren?
- Local SEO & Google My Business (GMB) Eintrag optimieren
- Marke und SEO: Wie messe ich die Bekanntheit?
- Passage Based Indexing – Textpassagen als neuer Rankingfaktor
- SEO und Cyber Security
- SEO-konforme 404-Seiten (Tipps und Beispiele)
- Sind Eintragungen in Webkataloge sinnvoll
- Strukturen, die Google liebt – SEO mit strukturierten Daten
- Suchmaschinen im Ausland: Yandex, Baidu, Seznam und Naver
- Suchmaschinenoptimierung für Noxum
- SEO-Grundlagen: Webseitendesign
- Suchmaschinenoptimierung (SEO)
- SEO-Grundlagen: HTML Coding
- SEO-Grundlagen: Controlling
- SEO-Grundlagen: Suchmaschinenanmeldung
- SEO-Grundlagen: Zusammenfassung
- 10 SEO Browser Erweiterungen für Chrome und Firefox
- 10 SEO Tipps für Onlineshops
- 13 SEO Fehler – 13 neue Chancen
- Adobe Experience Manager (AEM) und Suchmaschinenoptimierung (SEO)
- Arten von Suchanfragen – Wie suchen die User?
- Crawl Budget Optimierung
- Das offene IndexNow Protokoll beschleunigt die Indexierung
- Die Mobile First Deadline ist hier – Ist Ihre Website vorbereitet?
- Durch Snippet Optimierung bessere Klickraten erzielen
- Dwell Time anschaulich erklärt
- E-A-T Faktoren durch Onpage und Offpage-Maßnahmen verbessern
- Forum & SEO
- Häufige SEO-Fehler
- htaccess – Ein mächtiges SEO-Werkzeug
- HTTP Status Codes – SEO Relevanz & Tipps
- JavaScript & SEO
- Neos CMS: SEO-Einstellungen erklärt
- Page Experience Update von Google: Core Web Vitals und die Lösung
- Rankingvorteile durch Löschen oder Erneuern alter Inhalte?
- robots.txt
- SEO Grundlagen:Externe Verlinkungen – Webseitenstruktur
- SEO-Mythen
- Suchmaschineneintrag
- Umstellung auf HTTP/2 – Ladezeit Check