Ich erstelle dynamische Websites, bei denen die Struktur hierarchisch in der Datenbank gespeichert ist (Own CMS). Ich verwende das Adjacency-Modell, um diese Datenbanktabellen zu verwalten (PHP und MySQL über PDO)
Ich habe festgestellt, dass Google Seiten indiziert, die nicht indiziert werden sollen.
Ein Beispiel für eine Baumstruktur zur Navigation:
home
about us
products
productgroup 1
productgroup 2
contact
support
sales
Stellen Sie sich diese Struktur in einem Pulldown-Menü mit vorLinks zu den Seiten. Wenn ich products-> productgroup 1 auswähle, erhalte ich eine URL wie www.domain.com/products/productgroup-1, die die Daten aus der Datenbank abruft (basierend auf dem letzten uri-Element: productgroup-1, einer Slug-Version des Titels). und zeigt es in meiner Vorlage. Ich frage nicht alle Elemente ab, nur die letzten (ich sollte, ich weiß).
So weit, ist es gut. Google indiziert diese Seite wie erwartet:
http://www.domain.com/products/productgroup-1
Aber ... Wenn ich Google Webmaster-Tools verwende, werden viele Seiten mit 404-Zeichen indiziert, z.
http://www.domain.com/products
http://www.domain.com/contact
Und so weiter.
Diese Seiten sind leer und haben keinen Link in der Navigationsstruktur.
Ich habe meine Struktur so gestaltet, dass diese SeitenGibt einen 404-Fehler zurück. Webmastertools bestätigt dies, indiziert diese Seiten jedoch weiterhin. Ich weiß, dass ich robots.txt verwenden kann, um den Such-Bot von Google zu deaktivieren und die Indizierung von URLs zu verhindern. Gibt es eine andere Möglichkeit, dies zu tun? Soll ich eine 403 anstelle einer 404 generieren?
Ich bin hier im Dunkeln.
Antworten:
1 für die Antwort № 1Sie sollten ein paar Dinge tun:
Verwenden Sie die permanente 301-Umleitung, um diese leeren Seiten auf eine relevante Seite zu leiten:
Auch wenn Google nicht crawlt http://www.domain.com/productsEinige Benutzer greifen möglicherweise weiterhin auf diesen Link zu, indem sie das letzte Segment aus der URL aus dem Browser entfernen. Wahrscheinlich möchten Sie ihnen nicht 404s, sondern einige relevante Informationen anzeigen.
Beispielsweise können Sie umleiten http://www.domain.com/products UND http://www.domain.com/products/ zu http://www.domain.com/products/productgroup-1
Weitere Informationen zur 301-Umleitung erhalten Sie unter Moz
Es ist möglich, mod-rewrite zu verwenden, um 301-Redirects auszuführen, anstatt dies auf Codeebene zu tun.
Senden Sie eine Sitemap an die Google Webmaster-Tools.
Dies ist eine endgültige Liste der URLs auf Ihrer Website.
Wenn Sie über eine Sitemap verfügen, wird die Liste der bei Google bereits indizierten 404-URLs entfernt, Google wird jedoch über alle "offiziellen" URLs Ihrer Website und die beabsichtigte Crawling-Häufigkeit informiert.
Lesen Sie mehr von Google Webmaster Tools Hier.
Überprüfen Sie Ihren HTML-Code auf Verweise auf "/ products" oder "/ contact". Googlebot wird diese URLs ansonsten nicht crawlen.
0 für die Antwort № 2
301-Umleitung ist die beste Option, die Sie Seiten nicht möchten, und Sie können diese Seiten auch in robots.txt-Seite zuweisen.