2016-04-24 4 views
0

Wir haben Multi-Site-Lösung in Sitecore-Projekt implementiert. Wir haben robots.txt unter dem Stammverzeichnis der Website platziert, um das Crawlen für ein bestimmtes Verzeichnis auf dem Produktionsserver zu verhindern.Wie zu vermeiden, Suchmaschine Crawling für bestimmte Website in Sitecore Multi-Site-Umgebung

Jetzt werden wir eine weitere Website beta.example.com auf Produktionsserver für hosten, aber wir wollen Crawlen für diese Sub-Domäne zu vermeiden.

Wie können wir erreichen, weil es Multi-Site-Umgebung ist und es nur eine robots.txt-Datei gibt. Wie können wir diesen Crawling-Mechanismus für bestimmte Websites spezifisch machen?

Müssen wir irgendeinen Pipeline-Mechanismus dafür schreiben?

Dank

Antwort

3

Sie können einen benutzerdefinierten Handler hinzufügen, die robots.txt behandelt wie folgt:

<customHandlers> 
    <handler trigger="robots.txt" handler="RobotsTxtHandler.ashx" /> 
</customHandlers> 

Dann in der hinter Ihrer ashx Code können Sie die Logik schreiben, die erforderlich ist, Laden Sie Ihre benötigte robots.txt.

public void ProcessRequest(HttpContext context) 
{ 
    var database = Factory.GetDatabase("web"); 
    var path = string.Format("{0}{1}", Context.Site.RootPath, Context.Site.StartItem) 
    Item siteRoot = database.GetItem(path) 
    if (siteRoot != null) 
    { 
     context.Response.Clear(); 
     context.Response.ContentType = "text/plain"; 
     context.Response.ContentEncoding = System.Text.Encoding.UTF8; 

     //Write your code to fetch the robots.txt from sitecore item 
    } 

    context.Response.End(); 
} 

Beachten Sie, dass die Code-Behind der Ashx sollte die IHttpHandler

Sie müssen auch den Handler in der web.config unter dem <system.webServer> <handlers> Tag hinzuzufügen erben.

<add verb="*" path="RobotsTxtHandler.ashx" type="YourNamespace.RobotsTxtHandler, YourAssembly" name="RobotsTxtHandler" /> 

Mein Vorschlag ist, dass es besser wäre, dass Sie für jeden Standort eine Robots.txt speichern in Sitecores Element anstelle der Website Root-Verzeichnis. Dies ermöglicht jeder Seite, ihre eigene robots.txt

zu haben
Verwandte Themen