Suchmaschinen nicht in der Lage zu indizieren asp.net Website wegen 302 Umleitungen Fehlerseite

StackOverflow https://stackoverflow.com/questions/4369917

  •  09-10-2019
  •  | 
  •  

Frage

Ich habe die härteste Zeit, die Ursache unserer Asp.net Website Bestimmung nicht in Suchmaschinen indexiert zu werden - die gesamte Website. Wenn ich Googles „Abruf wie beim Googlebot“ Tool verwenden, wirft es die folgenden Fehler. Ich habe meine Website funktioniert mit Sitzungen deaktiviert sure (dh. Einstellung Session = „Off“ in web.config), ich habe alle über das Internet gegoogelt, und noch kein Glück.

Hier ist der Fehler, den ich von Googlebot bin immer:

 HTTP/1.1 302 Found
 Date: Thu, 02 Dec 2010 23:05:49 GMT
 Server: Microsoft-IIS/6.0
 X-Powered-By: ASP.NET
 X-AspNet-Version: 2.0.50727
 Location: /ErrorPage.aspx?aspxerrorpath=/Default.aspx
 Cache-Control: private
 Content-Type: text/html; charset=utf-8
 Content-Length: 168

 <html><head><title>Object moved</title></head><body>
 <h2>Object moved to <a href="%2fErrorPage.aspx%3faspxerrorpath%3d%2fDefault.aspx">here</a>.</h2>
 </body></html>
War es hilfreich?

Lösung

fand ich die Antwort selbst.

Stellen Sie sicher, Request.UserLanguages ??zu überprüfen! = Null, bevor es zu benutzen. Stellen Sie außerdem sicher, dass der Current auf einen gültigen Standardwert festgelegt ist. Der Grund für diese beiden Kontrollen, weil Bots nicht Request.UserLanguages ??verwenden - es ist immer null. Browser Verwendung Request.UserLanguages. Um es mit anderen Worten neu formulieren: nicht setzt die Current wenn Request.UserLanguages ??null

.

Hier ist das Problem:

Alle aspx Seiten in meiner Website erben von einer benutzerdefinierten Basisklasse, die erbt von System.Web.UI.Page. Dies ist kein Problem, bis Sie die OnLoad () oder init Ereignisse mit Code überschreiben, die nur eine Ausnahme für Bots werfen. Ich hatte diese Codezeile in meinem OnLoad () Ereignis:

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]);

Dieser Code funktioniert großartig, wenn aspx Seiten über einen Browser. Duh! wer wird nicht einen Browser verwenden ...? Antwort:. Googlebot und alle anderen Bots

Wie kann man überprüfen, ob der Googlebot ein Problem Indizierung Ihrer Website hat:

  1. Melden Sie sich für Google Webmastertools, wenn Sie nicht bereits haben.
  2. Zur Labs -> Abruf wie beim Googlebot
  3. Geben Sie die URL, die Sie überprüfen möchten. Klicken Sie dann auf den Status Link zu sehen, was Googlebot gefunden. Wenn Googlebot alle Umleitungen wieder (wie 302 ist), die in der Regel nicht eine gute Sache. Wenn alle Seiten auf Ihrer Website sind 302 Umleitungen auf Ihre benutzerdefinierte Fehlerseite bekommen, dann haben Sie ein Problem. Was es bedeutet, ist Ihre Web-Seiten einen Fehler werfen (eine nicht behandelte Ausnahme), wenn Googlebot versucht, zuzugreifen sie. Schauen Sie durch Ihre Page_Load () und Init () Funktionen für Fehler googlebot haben könnte. Sie können auch Ihre Seiten mit einem kühlen Befehlszeile App testen namens curl ( http: // curl. haxx.se/ ). Mit diesem Tool konnte ich die Seite auf unserem Test-Server testen, bevor der Produktion Freigabe (das ist, was Sie jedes Mal zu tun haben, würden Sie eine Änderung vornehmen, wenn Google mit Abruf).
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top