Los motores de búsqueda no es capaz de índice de sitio asp.net debido a 302 vuelve a dirigir a la página de error

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

  •  09-10-2019
  •  | 
  •  

Pregunta

Estoy teniendo el momento más difícil determinar la causa de nuestro sitio Asp.net no conseguir indexadas en los motores de búsqueda - todo el sitio. Cuando uso la herramienta "Explorar como Googlebot" de Google, que arroja el siguiente error. Me aseguré de mis obras sitio con sesiones desactivados (es decir. El establecimiento sessionMode = "Off" en el web.config), he buscado en Google en toda la web, y sigue sin suerte.

Aquí está el error que estoy recibiendo de robot de Google:

 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>
¿Fue útil?

Solución

He encontrado la respuesta a mí mismo.

Asegúrese de revisar Request.UserLanguages! = Null antes de usarlo. También, asegúrese de que el CurrentCulture se establece en un valor predeterminado válido. La razón de ambos controles se debe a que los robots no utilizan Request.UserLanguages ??- siempre es nula. Request.UserLanguages ??hacen los navegadores de uso. Para repetir con otras palabras: No establezca la CurrentCulture si Request.UserLanguages ??es nula

.

Aquí está el problema:

Todas las páginas aspx en mi sitio heredan de una clase base personalizada que hereda de System.Web.UI.Page. Este no es un problema hasta que se anula el onLoad () o eventos de iniciar con el código que se produce una excepción sólo para los robots. Tenía esta línea de código en mi evento onLoad ():

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

Este código funciona muy bien cuando se accede a las páginas aspx desde un navegador. Duh! que no se va a utilizar un navegador ...? Respuesta:. googlebot y el resto de los robots

¿Cómo comprobar si el robot de Google tiene un problema de la indexación de su sitio:

  1. Inscríbete webmastertools Google si aún no lo ha hecho.
  2. Ir a laboratorios -> Explorar como Googlebot
  3. Escriba la dirección URL que desea comprobar. A continuación, haga clic en el enlace de estado para ver lo que Googlebot. Si el robot de Google devuelve cualquier redirección (como 302 de) eso no es generalmente una buena cosa. Si todas las páginas de su sitio están recibiendo 302 vuelve a dirigir a su página personalizada de error, entonces usted tiene un problema. Lo que significa es sus páginas web están lanzando un error (una excepción no controlada) siempre que sea intentos de Googlebot para acceder a ellos. Mira a través de su Load () y Init) funciones (por errores El robot de Google podría tener. También puede probar sus páginas utilizando una aplicación de línea de comandos fresco llamado rizo ( http: // rizo. haxx.se/ ). El uso de esta herramienta pude probar el sitio en nuestro servidor de prueba antes de liberar a la producción (que es lo que tendría que hacer cada vez que realice un cambio cuando se utilizan Google fetch).
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top