2010-08-19 7 views
2

Quelqu'un peut-il me dire quel est le problème avec ce fichier robots.txt?Google crawler trouve robots.txt, mais ne peut pas le télécharger

http://bizup.cloudapp.net/robots.txt

Ce qui suit est l'erreur que je reçois dans Google Webmaster Tools:

Sitemap errors and warnings 
Line Status Details 
Errors - 
Network unreachable: robots.txt unreachable 
We were unable to crawl your Sitemap because we found a robots.txt file at the root of 
your site but were unable to download it. Please ensure that it is accessible or remove 
it completely. 

En fait le lien ci-dessus est la mise en correspondance d'un itinéraire qui va un robots d'action. Cette action extrait le fichier du stockage et renvoie le contenu au format texte/brut. Google dit qu'ils ne peuvent pas télécharger le fichier. Est-ce à cause de ça?

Répondre

4

On dirait qu'il est lu robots.txt OK, mais votre robots.txt prétend alors que http://bizup.cloudapp.net/robots.txt est également l'URL de votre sitemap XML, quand il est vraiment http://bizup.cloudapp.net/sitemap.xml. L'erreur semble provenir de Google essayant d'analyser robots.txt comme sitemap XML. Vous devez changer votre robots.txt pour

User-agent: * 
Allow:/
Sitemap: http://bizup.cloudapp.net/sitemap.xml 

EDIT

Il va en fait un peu plus profond que cela, et Googlebot ne pouvez pas télécharger toutes les pages du tout sur votre site. Voici l'exception d'être renvoyé lorsque les demandes Googlebot soit robots.txt ou la page d'accueil:

est l'authentification par formulaire sans cookies non pris en charge pour cette application.

Détails de l'exception: System.Web.HttpException: L'authentification par formulaires sans cookie n'est pas prise en charge pour cette application.

[HttpException (0x80004005): Cookieless Forms Authentication is not supported for this application.] 
AzureBright.MvcApplication.FormsAuthentication_OnAuthenticate(Object sender, FormsAuthenticationEventArgs args) in C:\Projectos\AzureBrightWebRole\Global.asax.cs:129 
System.Web.Security.FormsAuthenticationModule.OnAuthenticate(FormsAuthenticationEventArgs e) +11336832 
System.Web.Security.FormsAuthenticationModule.OnEnter(Object source, EventArgs eventArgs) +88 
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +80 
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +266 

FormsAuthentication tente d'utiliser le mode cookieless car il reconnaît que Googlebot ne supporte pas les cookies, mais quelque chose dans votre méthode de FormsAuthentication_OnAuthenticate est de lancer une exception, car il ne veut pas accepter l'authentification cookieless.

Je pense que la meilleure façon autour de c'est de changer ce qui suit dans web.config, qui arrête FormsAuthentication de jamais essayer d'utiliser le mode ... cookieless

<authentication mode="Forms"> 
    <forms cookieless="UseCookies" ...> 
    ... 
+0

maintenant cela ressemble à une réponse! J'ai tout son sens et je le vérifie maintenant ... +1 –

+0

comment est-ce que vous avez réussi à voir l'exception? J'ai essayé certains soi-disant simulateurs Googlebot, mais cette exception ne se produit pas. –

+1

Certains simulateurs Googlebot utilisent les en-têtes d'une ancienne version de Googlebot et, pour une raison quelconque, seule la dernière version entraîne ce problème. Les outils pour les webmasters de Google disposent d'une fonction 'aller chercher comme Googlebot' dans Labs, que vous pouvez supposer toujours correspondre au vrai Googlebot. Une fois que vous connaissez les bons en-têtes à envoyer, Fiddler vous permet de créer manuellement une requête HTTP et d'inspecter la réponse, j'ai donc copié les en-têtes de la requête de Shaji pour voir ce qui revenait. (http://www.fiddler2.com/) – stevemegson

1

Il y a un problème avec le script qui génère le fichier robots.txt. Lorsque GoogleBot accède au fichier, il obtient 500 Internal Server Error. Voici les résultats de la vérification d'en-tête:

REQUESTING: http://bizup.cloudapp.net/robots.txt 
GET /robots.txt HTTP/1.1 
Connection: Keep-Alive 
Keep-Alive: 300 
Accept:*/* 
Host: bizup.cloudapp.net 
Accept-Language: en-us 
Accept-Encoding: gzip, deflate 
User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) 

SERVER RESPONSE: 500 INTERNAL SERVER ERROR 
Cache-Control: private 
Content-Type: text/html; charset=utf-8 
Server: Microsoft-IIS/7.0 
X-AspNet-Version: 4.0.30319 
X-Powered-By: ASP.NET 
Date: Thu, 19 Aug 2010 16:52:09 GMT 
Content-Length: 4228 
Final Destination Page 

Vous pouvez tester les en-têtes ici http://www.seoconsultants.com/tools/headers/#Report

+0

Oui, quelque chose n'allait pas. Stevemagson m'a aidé avec ça. Merci! –

1

Je n'ai pas de problème pour obtenir votre robots.txt

User-agent: * 
Allow:/
Sitemap: http://bizup.cloudapp.net/robots.txt 

Cependant est pas l'exécution un appel récursif robots.txt?

Sitemap est censé être un fichier xml, voir Wikipedia

+0

Oui, je le savais déjà, mais c'était une erreur fictive de ma part. Merci! 1 + –

2

je fixe ce problème d'une manière simple : juste en ajoutant un fichier robot.txt (dans le même répertoire que mon fichier index.html), pour autoriser tous les accès.Je l'avais laissé de côté, avec l'intention d'autoriser tous les accès de cette façon - mais peut-être que Google Webmaster Tools a alors localisé un autre robot.txt contrôlé par mon FAI?

Il semble donc que pour certains FAI au moins, vous devriez avoir un fichier robot.txt même si vous ne voulez exclure aucun bots, juste pour éviter ce problème.

Questions connexes