viernes, 18 de febrero de 2011

GoogleBot no tiene idioma

Sintomas:
Una página dinámica que se visualiza correctamente en los exploradores no es leida por googlebot.
Causa:
Parece ser que Googlebot no suministra idioma a la página como hacen casi todos los exploradores.
En el caso de la página en cuestión el código consultaba la colección Request.UserLanguages para establecer el lenguaje por defecto.
Antes de consultar realizaba una comprobación erronea de que la lista no estaba vacía:
if infoASPX.Request.UserLanguages.Count > 0
Digo que era erronea porque la sentencia correcta es:
if infoASPX.Request.UserLanguages isnot nothing andalso infoASPX.Request.UserLanguages.Count > 0

Esos pequeños detalles.
Comentarios:
Lo cierto es que era frustrante, descubrí el problema cuando ví que no se indexaba esta porción de nuestro sitio. Afiné el fallo cuando probé con las herramientas para webmaster de Google. Al verificar la conformidad HTML con http://validator.w3.org/  obtuvé error 500.
Siguiendo la traza de errores con la utilidad correspondiente de IIS7.5 comprobé que solo había errores cuando accedía con GoogleBot y el validator.
Luego descubrí que si el idioma estaba establecido con un parametro en el querystring el error no aparecía y tirando del hilo.....

No hay comentarios: