2010-08-19 3 views
2

Может ли кто-нибудь сказать мне, что не так с этим robots.txt?Google crawler находит robots.txt, но не может его загрузить

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

Ниже ошибка я получаю в Инструментах Google для веб-мастеров:

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. 

Собственно выше ссылка является отображение маршрута, который идет передача роботов действий. Это действие получает файл из хранилища и возвращает содержимое в виде текста/plain. Google говорит, что они не могут загрузить файл. Из-за этого?

ответ

4

Похоже, это чтение robots.txt ОК, но ваш robots.txt затем утверждает, что http://bizup.cloudapp.net/robots.txt также URL вашего XML карты сайта, когда это действительно http://bizup.cloudapp.net/sitemap.xml. Похоже, что ошибка связана с попыткой Google проанализировать файл robots.txt как карту XML. Вы должны изменить свой файл robots.txt, чтобы

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

EDIT

Это на самом деле идет немного глубже, чем это, и Googlebot не может загружать любые страницы на все на вашем сайте. Вот исключение возвращается, когда Googlebot запрашивает либо robots.txt или на главной странице:

Cookieless Аутентификация с помощью форм не поддерживается для этого приложения.

Сведения об исключении: System.Web.HttpException: Cookieeless Forms Authentication не поддерживается для этого приложения.

[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 пытается использовать Cookieless режим, поскольку он признает, что Googlebot не поддерживает куки, но что-то в вашем методе FormsAuthentication_OnAuthenticate затем бросает исключение, потому что он не хочет принимать Cookieless аутентификации.

Я думаю, что самый простой способ обойти это, чтобы изменить следующие параметры в web.config, который останавливает FormsAuthentication из когда-либо пытается использовать Cookieless режим ...

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

Теперь это похоже на ответ! Я делаю все возможное, и я проверяю это сейчас ... +1 –

+0

Как удалось увидеть исключение? Я пытался использовать некоторые так называемые симуляторы Googlebot, но этого исключения не происходит. –

+1

Некоторые симуляторы Googlebot используют заголовки из старой версии Googlebot, и по какой-то причине только последняя версия вызывает эту проблему. В Инструментах для веб-мастеров Google есть функция «выборка как робота Google» в Labs, которую вы можете предполагать, всегда соответствует реальному роботу Google. Как только вы знаете правильные заголовки для отправки, Fiddler позволяет обрабатывать HTTP-запрос и проверять ответ, поэтому я скопировал заголовки запросов из ответа Shaji, чтобы узнать, что получилось. (http://www.fiddler2.com/) – stevemegson

1

С скриптом, создающим файл robots.txt, что-то не так. Когда GoogleBot обращается к файлу, он получает 500 Internal Server Error. Вот результаты проверки заголовка:

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 

Вы можете проверить заголовки здесь http://www.seoconsultants.com/tools/headers/#Report

+0

Да, что-то не так. Стивемамсон помог мне с этим. Благодаря! –

1

я не имею никаких проблем, чтобы получить ваш robots.txt

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

Однако не он выполняет рекурсивный вызов robots.txt?

Файл Sitemap должен быть XML-файл, см Wikipedia

+0

Да, я уже знал это, но с моей стороны это была фиктивная ошибка. Благодаря! 1+ –

2

Я исправил эту проблему простым способом : просто добавив файл robot.txt (в том же каталоге, что и файл index.html), чтобы разрешить весь доступ.Я оставил его, намереваясь разрешить весь доступ таким образом - но, возможно, Google Webmaster Tools затем установил другой файл robot.txt, который контролирует мой интернет-провайдер?

Похоже, что для некоторых интернет-провайдеров, по крайней мере, у вас должен быть файл robot.txt, даже если вы не хотите исключать какие-либо боты, просто чтобы предотвратить этот возможный сбой.