Redirects sind so wichtig wie der Sand am Meer. Zumindest, wenn man im WWW und vor allem in der SEO-Welt überleben möchte. 

Hier ein paar Fundstücke, mit denen wir täglich arbeiten – füge diese in Deine .htaccess ein (Apache Webserver)

Alles auf einem Blick

Alle .htaccess Befehle habe ich Dir auch nochmal auf GitHub zusammengestellt.

lightweb media – seo, webentwicklung und wordpress joel burghardt lightweb media
Erstellt von Joel Burghardt
Geschäftsführer und leitender SEO-Manager von Lightweb Media. Ich unterstütze Unternehmen jeder Größe bei der Steigerung ihrer Sichtbarkeit unter anderem mithilfe von SEO Audits.
Zudem entwickle ich mit unserem Team performante WordPress-Themes sowie Plugins nach aktuellen Standards.

Einen einzelnen Beitrag umleiten

Hinweis

Beachte dabei, dass Du nur die neue URL komplett ausschreibst.
Übrigens steht das 301 für einen permanenten/dauerhaften Redirect. Möchtest Du dies nur temporär machen, wähle 302.

Redirect 301 /alterSlug https://deineDomain.de/neuerSlug

Redirect komplette Domain auf neue Domain

Dabei werden die Inhalte 1:1 übertragen.

Das heißt: www.deineAlteSeite.de/beitrag wird zu www.deineNeueSeite.de/beitrag

  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^deineAlteDomain.de$ 
  RewriteCond %{HTTP_HOST} ^www.deineAlteDomain.de$
  RewriteRule (.*)$ https://deineNeueDomain.de/$1 

Redirect bestimmte Dateiendungen

RedirectMatch 301 (.*).html$ https://deineDomain.de$1.php

Redirect alles zu HTTPS

Habe ich immer drin.

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.(.*)$ 
RewriteRule ^(.*)$ https://%1/$1 
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

Redirect alles zu HTTPS://WWW

Die Subdomain www wird immer weniger genutzt. Ich finde diese dennoch toll und werde es auch bald auf Lightweb-media.de wieder einfügen. Dies nutze ich dann z.B. für die Optimierung statischer Ressourcen, die keine Cookies setzen sollen. Stichwort: Cookie Free Domain

RewriteEngine On
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} !^www. 
RewriteCond %{HTTP_HOST} ^(.*)$  
RewriteRule (.*) https://www.%1/$1 

Trimme den Facebook Slug

Wer kein Tracking möchte oder ein paar Scripte nicht so funktionieren mit dem Parametern von Facebook:

  RewriteEngine On
  RewriteBase /
  RewriteCond %{QUERY_STRING} ^(.*)(?:^|&)fbclid=(?:*)((?:&|$).*)$ 
  RewriteCond %1%2 (^|&)(.*|$)
  RewriteRule ^(.*) /$1?%2 

Redirect Startseite zu einem Verzeichnis, der Rest aber zum Root der neuen Domain

Okay – eine heftige Überschrift.

Zur Erklärung: Wenn man Websites zusammenlegt, kann es vorkommen das die alte Startseite auf ein Kategorieverzeichnis der neuen Website zeigen soll. Möchte man aber seine Kategorie nicht mit im Slug haben, kommt es unweigerlich zu unzähligen zusätzlichen Redirects, die man sich sparen kann.

Beispiel 1

www.heavyweb-media.de soll mit www.lightweb-media.de zusammengelegt werden. Auf Lightweb-media.de sind aber noch andere Seiten, sodass die alte Seite in die Kategorie „heavy“ geleitet wird.

Jetzt gibt es Webmaster (Augenzwinker zu meinem Freund Kai), die zwar die Startseitenlinks (und darum geht es im Wesentlichen) auf die Kategorieseite bringen möchten, aber alle anderen URLs (Slugs) normal, ohne Kategorie im Slug ausgespielt werden.

Verdammt. Schwierig erklärt. Hilft mir mal einer? Ab in die Kommentare!

Beispiel 2

www.heavyweb-media.de -> www.lightweb-media.de/heavy/
www.heavyweb-media.de/beitrag/ -> www.lightweb-media.de/beitrag/

RewriteRule . https://lightweb-media.de/%{REQUEST_URI} 
RewriteRule ^ https://lightweb-media.de/heavy/ 

Eine Domain aufteilen und auf verschiedene andere Domains weiterleiten

Schon einmal ein Portal zusammengelegt? Schön alles in verschiedene Kategorien (so wie oben z. b.) gelegt?
Jetzt wollen wir die Startseite sowie die Kategorieseiten getrennt von einander weiterleiten.
Alles was nicht in den folgenden 5 Kategorien ist, wird auf Lightweb-media.de weitergeleitet.

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/heavy(/|$) 
RewriteCond %{REQUEST_URI} !^/light(/|$) 
RewriteCond %{REQUEST_URI} !^/slow(/|$) 
RewriteCond %{REQUEST_URI} !^/fast(/|$) 
RewriteCond %{REQUEST_URI} !^/hard(/|$) 
RewriteRule ^(.*)$ https://lightweb-media.de/$1 

RedirectMatch 301 ^/heavy/(.*) https://heavyweb-media.de.de/$1
RedirectMatch 301 ^/light/(.*) https://lightweb-media.de/$1
RedirectMatch 301 ^/slow/(.*) https://slowweb-media.de/$1
RedirectMatch 301 ^/fast/(.*) https://fastweb-media.de/$1
RedirectMatch 301 ^/hard/(.*) https://hardweb-media.de/$1

Redirect einer Domain, aber bestimmte Verzeichnisse auslassen

Wichtig, wenn z.B. Spamlinks auf bestimmten Unterseiten zeigen. In diesem Beispiel werden /spamunterseite1 + 2 nicht weitergeleitet.

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{THE_REQUEST} !/spamunterseite1
  RewriteCond %{THE_REQUEST} !/spamunterseite2
  RewriteCond %{HTTP_HOST} ^alteSeite.de$ 
  RewriteCond %{HTTP_HOST} ^www.alteSeite.de$
  RewriteRule (.*)$ https://neueSeite.de/$1

</IfModule>
Alles auf einem Blick

Alle .htaccess Befehle habe ich Dir auch nochmal auf GitHub zusammengestellt.

Hast Du Fragen? Hast Du Anmerkungen?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert