Django app中无法访问的Robots.txt

时间:2013-08-23 02:27:41

标签: django heroku seo django-templates

收到来自Google网站管理员工具的通知,因为“无法访问的robots.txt”,抓取工具已停止抓取某个特定网站。不幸的是,谷歌没有提供有关爬虫错误的任何其他详细信息。

我有

<meta name="robots" content="index, follow">

作为我在base.html模板中的一个元标记包含在内,我为每个django应用程序执行此操作,并且我没有遇到任何其他网站的此问题。纠正我,如果我错了,但我也认为robots.txt没有必要让谷歌为你索引。

我尝试通过安装和配置django-robots(https://github.com/jezdez/django-robots)并将其添加到我的网址来解决:

(r'^robots\.txt$', include('robots.urls')),

我最近的谷歌抓取工具(将django-robots推到prod之后)仍然会返回相同的错误。

我没有任何特殊的抓取规则,即使不包含robots.txt文件也没问题,因此google会对整个网站编制索引。在我尝试使用此处提到的其他两种方法之前,任何人都对快速修复有任何想法:http://fredericiana.com/2010/06/09/three-ways-to-add-a-robots-txt-to-your-django-project/

2 个答案:

答案 0 :(得分:0)

我尝试完全删除urls.py中的robots.txt行并将其作为google获取,但这并未解决问题。

(r'^robots\.txt$', include('robots.urls')),

我通过稍微修改我的root urlconf来解决这个问题

from django.http import HttpResponse


(r'^robots\.txt$', lambda r: HttpResponse("User-agent: *\nDisallow: /*", mimetype="text/plain")),

现在googlebot抓好了。希望我更好地理解为什么这个特定的解决方案对我有效,但它确实有效。

感谢Ludwik的帮助。

答案 1 :(得分:0)

如果您有权限,那么

Alias /robots.txt /var/www/---your path ---/PyBot/robots.txt

为您的virtual host添加别名。 (在apache配置文件中) 同样适用于favicon

Alias /favicon.ico /var/www/aktel/workspace1/PyBot/PyBot/static/favicon.ico