Hallo zusammen,
ich habe ein kleines Problem mit Google.
Ursprünglich war mein Shop im Verzeichnis /shop enthalten. Weil am Anfang alles neu war habe ich das so gelassen (wurde von jemand dritten eingerichtet). Mit diesem Unterverzeichnis wurde auch eine Sitemap erstellt und zu Google übertragen.
Nach internen Review haben wir uns entschieden den Shop in root-verzeichnis umzuziehen.
Ziemlich naiv bin ich davon ausgegangen das Google mit einer neuen Sitemap die allen Seiten im Index löscht.
Dem ist aber nicht so…
Der Crawler findet jetzt halt ziemlich viele Seiten nicht mehr (eigentlich alle alten) - Statusmeldung 404.
Was kann ich machen, dass alle Links mit der Struktur /shop/… aus dem Index gelöscht werden?
Händisch sitze ich da ein paar Jahre dran…
Bin für jede Antwort dankbar.
Grüße
Christoph
410 senden. Oder alles mit 301 auf die neuen URLs umleiten. Geht ja mit nem Einzeiler.
Hmm, mein Problem ist, dass ich die verschiedenen Anleitungen im Internet einfach nicht kapier. Das mit dem 410-senden verstehe ich schon. Auch die Nennung der zu löschenden URL in der .htaccess ist klar. Nur irgendwie bekomme ich das nicht zusammen.
Also ich habe von den WMT eine Liste aller fehlerhaften Seiten (Haben die Struktur www.sonnenblumen-werkstatt.de/shop/…).
Zudem habe ich eine Fehlerseite erstellt, auf welche bei 410 verwiesen wird.
Kommen in die .htaccess jetzt alle Einträge so hinein?:
(Ganz ganz unten hinzugefügt?)
ErrorDocument 410 /error/Sonnenblumen-Werkstatt.htm
Redirect Gone /shop/
Redirect Gone /shop/links/
Redirect Gone /shop/tag/muetze/
Redirect Gone /shop/tag/still-tuch/
Nachtrag:
Scheint zu funktionieren.
Nur in die Zeile von ErrorDocument 410 muss der vollständige Pfad der htm-Datei hinein.
Jetzt hoffe ich mal, dass Google bald mal wieder vorbeischaut…
Nachtrag 2:
Bin im Internet auf eine zweite Möglichkeit gestoßen. Hier schreiben die in die .htaccess etwas anderes hinein:
RewriteRule ^alte-urlaub-die-es -nicht-mehr-gibt.html [R=410,L]
Was ist der Unterschied? Mit der Formatierung der .htaccess bin ich echt nicht fit.
Vielen Dank im voraus.
Du brauchst kein ErrorDocument. Derzeit führst du einen 302 auf /error/Sonnenblumen-Werkstatt.htm aus. Das ist nicht das, was du willst.
RewriteRules sind mächtiger als Redirect-Anweisungen, weil man sie mit Bedingungen verknüpfen kann. Nimm das:
RewriteEngine On
RewriteRule .* - [R=410,L]
Ganz oben in die .htaccess im shop/ Verzeichnis.
Hallo msslovi0,
vielen Dank für deine Hilfe.
Funktioniert super.
Nur eine letzte Frage:
Wenn ich das ErrorDocument in der root-.htaccess drinnenlasse, dann müsste er doch bei allen Fehlern außer dem von /shop das Fehlerdocument anzeigen?
Grüße
Christoph
Nur für den 410-Fall. Der kommt aber normalerweise nicht vor.
Wenn du das wirklich so nutzen willst solltest du vor allem auch noch mal schauen, warum er da einen Redirect macht. Das gilt es zu verhindern, sonst ist das alles nutzlos, was du da veranstaltest.