2017-11-27 1 views
1

Ich möchte Index von * .html Dateien auf unserer Seite verhindern - so dass nur saubere URLs indiziert werden.Robots.txt - Index von .html Dateien verhindern

So würde ich www.example.com/en/login indiziert mögen, aber nicht www.example.com/en/login/index.html

Zur Zeit habe ich:

User-agent: * 
Disallow:/
Disallow: /**.html - not working 
Allow: /$ 
Allow: /*/login* 

Ich weiß, dass ich zum Beispiel kann nicht zulassen Disallow: /*/login/index.html, aber mein Problem ist, dass ich eine Reihe dieser .html-Dateien habe, die ich nicht indizieren möchte - also gefragt, ob es einen Weg gibt, sie alle zu verbieten, statt sie einzeln zu machen?

Antwort

2

Zunächst verwenden Sie weiterhin das Wort "indexiert". Daher möchte ich sicherstellen, dass Sie wissen, dass die robots.txt-Konvention nur automatischen Crawlern vorschlägt, bestimmte URLs in Ihrer Domain zu vermeiden Seiten, die in einer robots.txt-Datei aufgelistet sind, können weiterhin in Suchmaschinenindizes angezeigt werden, wenn sie andere Daten über die Seite haben. Zum Beispiel Google explicitly states werden sie immer noch eine URL indizieren und auflisten, auch wenn sie nicht crawlen dürfen. Ich wollte nur, dass Sie sich dessen bewusst sind, falls Sie das Wort "indexiert" verwenden, um "in einer Suchmaschine gelistet" zu sein, anstatt "von einem automatisierten Programm gecrawlt" zu werden.

Zweitens gibt es keinen Standard Weg, um das zu erreichen, was Sie verlangen. Per "The Web Robots Pages":

Beachten Sie auch, dass Globbing und reguläre Ausdrücke sind nicht entweder in der User-Agent oder Verbieten Linien unterstützt. Das '*' im Feld User-Agent ist ein spezieller Wert, der "beliebiger Roboter" bedeutet. Insbesondere können Sie keine Zeilen wie "User-Agent: Bot", "Disallow:/tmp/*" oder "Disallow: * .gif" haben.

Das gesagt, es ist eine allgemeine Ergänzung, die viele Crawler unterstützen. Zum Beispiel beschreiben sie in Google's documentation of they directives they support Unterstützung für Mustervergleiche, die mit * als Platzhalter umgehen. Sie könnten also eine Disallow: /*.html$ Direktive hinzufügen und dann würde Google keine URLs mit der Endung .html crawlen, obwohl sie immer noch in den Suchergebnissen landen könnten.

Aber, wenn Ihr primäres Ziel ist, Suchmaschinen mitzuteilen, welche URL Sie "sauber" und bevorzugt, dann was Sie eigentlich suchen ist die Angabe Canonical URLs. Sie können ein link rel="canonical" Element auf jeder Seite mit Ihrer bevorzugten URL für diese Seite einfügen, und Suchmaschinen, die dieses Element verwenden, verwenden es, um zu bestimmen, welchen Pfad Sie bevorzugen, wenn Sie diese Seite anzeigen.

+0

Ich benutze 'Disallow:/**. Html $' in robots.txt Tester auf Google Webmaster und scheint zu arbeiten. –

Verwandte Themen