HTTP-Statuscode 301 Moved Permanently

Der HTTP Statuscode 301 wird benutzt, um ein altes Webdokument auf ein Neues permanent zu verweisen. Dies ist beispielsweise für Umleitungen von http auf https zu empfehlen. Eine Webseitedie ohne SSL auf mit SSL umgeleitet wird. In der SEO Welt ist diese Umleitung wichtig und wird auch bei Umleitungen von alten Dokumenten bzw. Ordnern auf ein aktuelles Webdokument benutzt. Bei Relaunches von Webseiten sollte immer geprüft werden, ob ein 301 Redirect sinnvoll ist. 

301 Redirects: Ein Überblick mit Beispielen

301-Redirects sind ein essenzielles Werkzeug im Arsenal eines jeden Webmasters. Sie signalisieren Suchmaschinen, dass eine Seite dauerhaft verschoben wurde, und leiten Benutzer automatisch zur neuen Adresse weiter. Dies ist nützlich in vielen Situationen, etwa bei einer Website-Neugestaltung, der Migration zu einem neuen Domain-Namen oder der Zusammenführung von Inhalten.

Was ist ein 301 Redirect?

Ein 301 Redirect ist ein HTTP-Statuscode, der bedeutet "Moved Permanently" (Dauerhaft verschoben). Er zeigt an, dass eine Seite dauerhaft an eine andere Adresse verschoben wurde und leitet den Besucher automatisch zu dieser neuen Adresse weiter.

Warum sind 301 Redirects wichtig?

Suchmaschinenoptimierung (SEO): Bei einer Änderung der URL-Struktur einer Website ist es wichtig, 301 Redirects einzurichten, um das "Linkjuice" und die SEO-Rankings der alten URLs zu erhalten.

  • Benutzererfahrung: Sie verhindern, dass Besucher auf "Seite nicht gefunden" (404-Fehler) stoßen, indem sie sie stattdessen automatisch zur neuen URL weiterleiten.
  • Branding und Rebranding: Bei einem Wechsel des Domainnamens gewährleisten 301-Weiterleitungen, dass Benutzer und Suchmaschinen auf die neue Domain umgeleitet werden.

Beispiele für 301 Redirects

Domainwechsel
Wenn Sie von alter-domain.de zu neuer-domain.de umziehen, möchten Sie sicherstellen, dass Besucher und Suchmaschinen auf die neue Domain umgeleitet werden.
Beispiel in der .htaccess-Datei (Apache-Server):

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

Ändern der URL-Struktur
Angenommen, Sie ändern Ihre URL-Struktur von seite.de/produkt-id zu seite.de/produkt-name.
Beispiel in der .htaccess-Datei:

RewriteEngine On
RewriteRule ^produkt-id/(.*)$ /produkt-name/$1 [R=301,L]

Zusammenführen von Inhalten:
Wenn zwei ähnliche Seiten zu einer zusammengeführt werden, verwenden Sie einen 301 Redirect, um Besucher und Suchmaschinen zur Hauptseite zu leiten.
Beispiel in der .htaccess-Datei:

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

301 Redirects sind von zentraler Bedeutung für eine erfolgreiche Website-Verwaltung. Sie gewährleisten eine positive Benutzererfahrung, bewahren die SEO-Wertigkeit und sorgen für eine reibungslose Navigation auf der Website. Es ist wichtig, sie richtig zu implementieren und sicherzustellen, dass keine Weiterleitungsschleifen oder unnötigen Verzögerungen für den Endbenutzer entstehen.

Erweiterte Beispiele und die Unterscheidung zwischen 301 und 302 Redirects

301- und 302-Redirects sind beide Umleitungsmethoden, die in der Webentwicklung verwendet werden, um Benutzer und Suchmaschinen von einer URL zur anderen zu leiten. Während 301 für dauerhafte Umleitungen verwendet wird, signalisiert 302 eine temporäre Umleitung. Es ist wichtig, die Unterschiede zu verstehen und die richtige Methode für den jeweiligen Anwendungsfall zu verwenden.

Beispiele für 301 Redirects

HTTP zu HTTPS:
Mit der zunehmenden Bedeutung von Webseitensicherheit wechseln viele Websites von HTTP zu HTTPS. Ein 301 Redirect kann sicherstellen, dass Benutzer automatisch zur sicheren Version einer Seite weitergeleitet werden.
In der .htaccess-Datei (Apache-Server):

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Ohne www zu www:
Einige Websites bevorzugen die Nutzung von "www" in ihrer Domain. Ein 301 Redirect kann Benutzer von der "nicht-www"-Version zur "www"-Version umleiten.
In der .htaccess-Datei:

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


Beispiele für 302 Redirects:
Produkt-Aktionen:
Wenn ein Produkt vorübergehend nicht verfügbar ist und Sie Benutzer auf ein alternatives Produkt umleiten möchten, ohne das SEO-Ranking der ursprünglichen Produktseite zu beeinflussen.
In der .htaccess-Datei:

RewriteEngine On
RewriteRule ^urspruengliches-produkt$ /alternatives-produkt [R=302,L]


Testseiten:
Wenn Sie eine neue Version einer Seite testen und den Traffic vorübergehend umleiten möchten, ohne die alte Seite dauerhaft zu ersetzen.
In der .htaccess-Datei:

RewriteEngine On
RewriteRule ^alte-seite$ /neue-testseite [R=302,L]


301 vs. 302: Wann welchen Statuscode verwenden?
301 (Dauerhaft verschoben): Wenn Sie sicher sind, dass eine URL-Änderung dauerhaft ist und Sie möchten, dass Suchmaschinen die neue URL indexieren und das SEO-Ranking übernehmen.

302 (Temporär verschoben): Wenn Sie nur für kurze Zeit umleiten möchten und nicht möchten, dass Suchmaschinen die Umleitung als dauerhafte Änderung wahrnehmen.

Sowohl 301- als auch 302-Redirects spielen eine entscheidende Rolle in der Webentwicklung. Während 301-Redirects für dauerhafte Umleitungen ideal sind und sicherstellen, dass SEO-Rankings erhalten bleiben, sind 302-Redirects nützlich für kurzfristige Umleitungen, bei denen das ursprüngliche SEO-Ranking der Seite erhalten bleiben soll. Es ist wichtig, den richtigen Statuscode für den jeweiligen Anwendungsfall zu wählen, um sowohl die Benutzererfahrung als auch das SEO-Ranking zu optimieren.

Auf der Seite 301.Tips findet ihr Informationen um Webseiten per 301 über die .htaccess umzuleiten. 

umleitung Bild

Die ultimative htaccess - Ein Beispiel

Eine typische htaccess könnte so aussehen:

##### RewriteEngine eingeschaltet - Dies ist zwingend notwendig, um per 301 umzuleiten
RewriteEngine On
##### 

##### RewriteBase set - empfohlene Einstellung
RewriteBase /
##### 

##### HTTP nach  HTTPS Umleiten
##Da HSTS erwünscht ist, sollte immer zuerst auf die SSL Variante umgeleitet werden, um unsichere Verbindungen zu vermeiden
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule .* https://301.tips%{REQUEST_URI} [L,R=301]

##### Welche Dateien zuerst geladen werden sollen, kann hier definiert werden, in dem Beispiel soll die index.php zuerst geladen werden und nicht die index.html
DirectoryIndex index.php index.html

##### Sehr wichtig ist auch das Directory Listing auszuschalten, falls der Hoster das angestellt hat. Dadurch wird verhindert das auf Daten zugegriffen werden kann zb bei Ordnern
IndexIgnore *
Options -Indexes


##### 301 umleitung um index.php auf / umzuleiten - ganz einfach gesagt, um doppelten Inhalt zu vermeiden
RewriteCond %{THE_REQUEST} !^POST
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteCond %{SERVER_PORT}>s ^(443>(s)|[0-9]+>s)$
RewriteRule ^index\.php$ http%2://301.tips/ [R=301,L]

##### um www auf ohne www per 301 umzuleiten sollte das benutzt werden:
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
#####

## HSTS Header HTTP_Strict_Transport_Security - HSTS einschalten
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=31536000" env=HTTPS
</IfModule>

Weitere Informationen zur Htaccess und andere Status Codes

Weitere Informationen zur htaccess und Tricks findet ihr auf den weiteren Seiten. Auch im Hinblick von Web Sicherheit kann einiges mit Regeln gemacht werden. Auf 301.Tips erhaltet ihr natürlich auch weitere Informationen zu anderen Status Codes wie 302 (Zeitlich begrenzte Umleitung - Moved Temporaly), 404 (nicht gefunden - not found) und auch Serverfehler. Ein paar Tipps aus der Praxis von mod Rewrite mit Beispielen findet ihr auf den weiteren Seiten.

Ihr könnt auch einen SEO Manager buchen, der übernimmt alle Redirects.

Weitere Informationen von SEO NW

Diese Links gehören alle zum SEO Netzwerk SEO NW. Beim Rumschrauben an den Seiten lohnt sich hier abermals ein Blick, auch ich musste zunächst mit 301 Redirects experimentieren.