Fachlich kompetent
Äußerst flexibel
Absolut zuverlässig
SEO & SEA Guide

mod_rewrite einfach erklärt

Robin MatthäiSEO-Experte

mod_rewrite ist ein Modul des Apache-Webservers. Es ermöglicht dem Server, den Aufruf bestimmter URLs mittels Regeln zu steuern. Das beinhaltet vor allem, wie der Name schon sagt, das Umschreiben von URLs oder das Weiterleiten bestehender URLs. Gerade im SEO muss man URLs unter Umständen umleiten, was über mod_rewrite realisiert werden kann. Auch das Ausmerzen von Duplicate Content aufgrund Systemeigenheiten kann hierdurch realisiert werden.

Die meisten (aber nicht alle!) Webserver laufen mit einem Apache Server. Für diese kann man das mod_rewrite-Modul nutzen.

Welchen Nutzen hat „mod_rewrite“ für SEO?

Im SEO gibt es unterschiedliche Arten zur Verwendung des mod_rewrite-Moduls. Nachfolgenden wollen wir Dir die gängigsten darstellen.

Vorsicht: Umschreibungen der mod_rewrite können auch fehlerhaft sein, wenn kein erfahrener Anwender diese umsetzt. Prüfe daher alle Regel auf Sinnhaftigkeit und Funktion, gerade dann, wenn Du sie aus dem Internet kopierst oder sie mit nicht ausreichendem Wissen selbst schreibst.

  1. Umleitung aller URLs auf https
    Fehlende Weiterleitungsregeln hinsichtlich HTTPs können dafür sorgen, dass Deine Webseite unter http UND https aufrufbar ist. Durch den 200er Statuscode signalisiert das Google, dass beide Möglichkeiten des Aufrufens eine Daseinsberechtigung haben. Dies schafft flächendeckenden Duplicate Content.Damit Dir das nicht passiert, solltest Du die folgende Regel umsetzen:
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

Diese Regel besagt, dass alle Inhalte, die nicht mit https (und www.) anfangen, auf die URL mit https weitergeleitet werden. Anhänge wie Parameter oder Unterseiten werden dabei durch „$1“ weitergegeben.

  1. Umleitung aller URLs von non-www. auf www. (oder andersherum)
    Das selbe Spiel wie vorhin, nur mittels www: URLs können mit und ohne „www.“ aufgerufen werden. Auch dies sorgt dafür, dass flächendeckender Duplicate Content entstehen kann.Damit Dir das nicht passiert, solltest Du die folgende Regel umsetzen:
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

Diese Regel besagt, dass alle Inhalte, die nicht mit „www.“ anfangen, auf URLs mit www. weitergeleitet werden. (In diesem Beispiel ist https gleich mit drin.)

Andersherum (www. auf non-www) sieht es so aus:

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
  1. Umleitung aller URLs ohne “trailing slash“ auf mit „trailing slash“
    Der „Trailing Slash“ ist das Zeichen „/“ am Ende der URL.
    https://www.seokratie.de/.
    Der Aufruf ohne „Trailing Slash“ bspw. https://www.seokratie.de kann, wenn nicht schon geregelt, ebenfalls Duplicate Content schaffen, da keine Weiterleitung auf mit „Trailing Slash“ existiert.Damit Dir das nicht passiert, solltest Du die folgende Regel umsetzen:
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

Diese Regel besagt, dass alle URLs, welche nicht mit dem „Trailing Slash“ enden auf URLs mit „Trailing Slash“ enden sollen.

Andersherum (mit „Trailing Slash“ auf ohne „Trailing Slash“) würde es so aussehen:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} /(.*)/$
RewriteRule ^ /%1 [R=301,L]
  1. Einzelne URLs weiterleiten mittels 301-Statuscode (Gerne ausgeführt bei Broken Links)

Oft kommt es vor, dass man eine URL abändern möchte, da sie bspw. nicht aussagekräftig genug war. Auch Broken Links (URLs, welche nicht mehr vorhanden sind), wenn sinnvoll, können über diese Regel auf ein sinnvolles Ziel weitergeleitet werden.

Dies kannst Du mit folgender Regel umsetzen:

RewriteRule ^alte-url.html$ /neue-url.html [R=301,L]
  1. Einzelne URLs weiterleiten mittels 301-Statuscode auf neue Domain

Man kann einzelne URLs auch auf eine andere Domain weiterleiten.

Dies kannst Du mit folgender Regel umsetzen:

RewriteRule ^alte-url.html$ www.neue-domäne.de/neue-url.html [R=301,L]
  1. Mehrere Seiten auf eine Zielseite weiterleiten mittels 301-Statuscode
    Wenn man nach Jahren der guten Arbeit über die Rankings der Google Search Console wandert, kann es passieren, dass einem auffällt, dass mehrere Seiten für ein Keyword ranken. Oft passiert es nämlich, dass zu einem Thema mehrere Seiten aufgrund fehlender Übersicht geschaffen werden. Dies kann dafür sorgen, dass keine dieser Seiten gut rankt. Man entschließt sich also, nur noch eine Seite für dieses Thema ranken zu lassen und alle anderen daraufhin umzuleiten. (Dies gilt nur bei gleicher Suchintention der Inhalte!)Dies kannst Du mit folgender Regel umsetzen:
RewriteRule ^verzeichnis/thema-erste-seite.html$|^thema-zweite-seite.html$|
^oberverzeichnis/unterverzeichnis/thema-dritte-seite.html$ /nun-zu-rankende-seite.html [R=301,L]

Die Regel besagt, dass mehrere alte Seiten, welche immer vom Root-Verzeichnis aus im Pfad definiert werden, auf eine neue Seite geleitet werden. Dies ermöglicht die Löschung der alten Seiten und kann das Ranking der nun rankenden Seite verbessern.

Wichtige Fakten zum „mod_rewrite“

  • Bei einem CMS (Content Management System) kann es passieren, dass das System selbst oder Plugins die mod_rewrite-Datei umschreiben. Du solltest daher die Regeln bestenfalls im System oder in den Plugins umsetzen. Ansonsten kann es passieren, dass Deine händisch eingepflegten Regeln überschrieben werden.
  • Auch kann es sein, dass Hoster bereits Regeln in der mod_rewrite definiert haben. Schau erstmal, ob diese Regeln nicht Deine gewünschten Ziele verfolgen.
  • Zu viele Weiterleitungsregeln können dafür sorgen, dass sie sich irgendwo überschneiden. Daher prüfe akribisch, ob alle Regeln so funktionieren, wie sie sollen.
  • Bedenke auch: Jede Weiterleitung einer Seite macht den letztendlichen Aufruf der Zielseite langsamer. Leite also nur dann weiter, wenn Du wirklich musst.

Weiterführende Links

  1. SEO-Lexikon von seo-analyse.com zum Thema mod_rewrite
  2. Viele tolle Beispiele mit Erklärungen zur mod_rewrite von webhosting-franken
  3. Der Rewrite Guide zeigt Dir eine Suchmaschine für Weiterleitungsregeln (am Beispiel „Trailing Slashes“)

Unser kostenloser SEO-Kurs

Erweitere Dein Wissen über Suchmaschinenoptimierung in nur 5 Tagen!

Das erwartet Dich:
  • E-Mails mit 5 spannenden Inhalten für ein solides Grundlagenwissen
  • Erlerne Schritt für Schritt alle Basics für sichtbare und nachhaltige Erfolge
  • Verbessere Deine Rankings bei Google und sorge für mehr Traffic auf Deiner Website
Melde Dich hier kostenlos an:

Nach der Anmeldung erhälst Du unseren kostenlosen SEO-Kurs fünf Tage lang. Anschließend bekommst Du 2-3x pro Woche unseren Newsletter (auch kostenlos) mit aktuellen Tipps zum Thema SEO und Online Marketing. Deine Daten werden vertraulich behandelt und nicht an Dritte weitergegeben. Du kannst Dich jederzeit abmelden. Datenschutz