ruby-on-rails - Rails 应用程序和 robots.txt 最佳实践

标签 ruby-on-rails seo robots.txt

我想知道 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/

相关文章:

javascript - ng-repeat View 显示与JSON数据不对应

php - 应该 _escaped_fragment_ 返回一个完整的页面内容 [Ajax SEO ]

url - 为什么一些大型网站使用 .html 扩展名?

seo - X-Robots-Tag HTTP header 与 robots.txt 的优先级

seo - robots.txt - 排除任何包含 "/node/"的 URL

node.js - 在 Express 中处理 robots.txt 的最聪明方法是什么?

javascript - Ruby:在 javascript 中检查 nil

ruby-on-rails - 将数据库中的随机条目显示到我的 View

ruby-on-rails - 无法使用 cocoon 追加表中的字段

.htaccess - 简单的 http(包括 www)到 https htaccess