我想知道 Rails 应用 robots.txt 文件的标准做法是什么。即通常会阻止机器人跟踪哪些文件夹。
我当前的 robots.txt 文件是:
# User-agent: *
# Disallow: /
Disallow: /public/uploads/
Sitemap: www.mysite.co.za/sitemap.xml
我的问题是,大多数人是否不允许/public/uploads 被跟踪?
我还有许多模型/页面,其中只有管理员用户可以访问和执行 CRUD 操作。这是受设备保护的。我想知道是否有必要在 robots.txt 文件中禁止这些页面,以及蜘蛛是否能够索引这些页面(因为它们受到保护仅供管理员使用)。
例如我有一个类别模型,只有管理员可以对其进行 CRUD 操作。我应该添加:
Disallow: /categories/
(或者是带有*)
Disallow: /categories/*
这些是我对 Rails 中 robots.txt 使用情况的所有疑问。这有道理吗?
谢谢,
马特
最佳答案
您的 robots.txt
不正确,因为您没有 User-agent
行(每个 block 至少需要一个)。 (#
开始注释,因此前两行是注释。)
只有您可以决定是否禁止抓取路径以 /public/uploads/
开头的 URL。是否有您可能希望机器人访问/抓取的资源?如果是,请不要阻止它。
附加 *
只会阻止:字面上包含 /public/uploads/*
的 URL 路径( some bots 可能会给出 *
附加含义,但这不是原始 robots.txt 规范的一部分)。因此您不应附加 *
。
如果您对管理页面的保护有效,机器人当然无法访问实际的管理页面。他们可能会看到一个错误页面(取决于您的实现)。如果您发送正确的状态代码(例如 403 或 404),则不必在 robots.txt 中阻止它们。但它也不会造成伤害(并且可以在你真的把事情搞砸的情况下拯救你)。
此外,content for Sitemap
should be the full URL (您省略了协议(protocol))。
关于ruby-on-rails - Rails 应用程序和 robots.txt 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24752165/