2014-07-15 92 views
0

我想知道rails应用程序robots.txt文件的标准做法是什么。即通常阻止机器人追踪哪些文件夹。

我目前的robots.txt文件:Rails应用程序和robots.txt最佳做法

# User-agent: * 
# Disallow:/
Disallow: /public/uploads/ 
Sitemap: www.mysite.co.za/sitemap.xml 


我的问题是,大部分人都不允许/公/从上传被跟踪?

我也有一些模型/页面,其中只有管理员用户可以访问和执行CRUD操作。这受到设计保护。我想知道是否有必要在robots.txt文件中禁止这些内容,以及蜘蛛是否能够索引这些页面(因为它们仅受管理员使用保护)。

例如我有一个只有管理员可以在其上执行CRUD的类别模型。我要补充:

Disallow: /categories/ 

(或者是它与*)

Disallow: /categories/* 


这些都是我在周围轨道的robots.txt使用的所有查询。这有意义吗?
谢谢,
马特

+0

这个问题似乎是脱离主题,因为它是关于SEO => http://webmasters.stackexchange.com/。 – Zistoloen

回答

1

您的robots.txt是不正确的,因为你没有User-agent线(至少一个是每块所需)。 (#开始发表评论,所以前两行是评论。)

只有您可以决定是否禁止抓取其路径以/public/uploads/开头的网址。是否有资源可能需要机器人访问/爬行?如果是的话,不要阻止它。

附加一个*会阻止只是:从字面上包含/public/uploads/* URL路径(some bots可能会给*附加意义,但这不是原来的robots.txt规范的一部分)。所以你不应该追加*

如果您的管理页面的保护工作,机器人当然,不能访问实际的管理页面。他们可能会看到一个错误页面(取决于您的实施)。如果您发送了正确的状态代码(例如,403或404),则无需在robots.txt中阻止它们。但它也不会受到伤害(并且可以在你真正搞砸了的情况下保护你)。

此外,content for Sitemap should be the full URL(你正在省略协议)。

+0

感谢您的洞察力。当然,如果我取消注释用户代理行,它会阻止所有用户代理?还是只是说所有用户代理都应该遵循以下规则? – mdkrog

+0

@mdkrog:[每个机器人只遵循* one * block的规则](http://stackoverflow.com/a/24661543/1591669)。如果你只有这个块,由'User-agent:*'开始,*所有*机器人将遵循这个块的Disallow规则。 – unor

相关问题