【问题标题】:Prevent Search Spiders from accessing a Rails 3 nested resource with robots.txt使用 robots.txt 防止搜索蜘蛛访问 Rails 3 嵌套资源
【发布时间】:2012-10-31 10:07:33
【问题描述】:

我正试图阻止 Google、Yahoo 等访问我的 /products/ID/purchase 页面,但我不确定该怎么做。

我目前阻止他们按以下方式登录:

User-agent: *
Disallow: /sign_in

我可以执行以下操作吗?

User-agent: *
Disallow: /products/*/purchase

或者应该是:

User-agent: *
Disallow: /purchase

【问题讨论】:

    标签: ruby-on-rails-3 robots.txt


    【解决方案1】:

    我假设你想阻止 /products/ID/purchase 但允许 /products/ID

    您最后的建议只会屏蔽“购买”开头的页面:

    User-agent: *
    Disallow: /purchase
    

    所以这不是你想要的。

    你需要你的第二个建议:

    User-agent: *
    Disallow: /products/*/purchase
    

    这将阻止所有以/products/ 开头、后跟任何字符、后跟/purchase 的网址。

    注意:它使用通配符*。在最初的 robots.txt“规范”中,这并不是一个具有特殊含义的字符。但是,一些搜索引擎扩展了规范并将其用作一种通配符。所以它@98​​7654321@ 可能还有其他一些搜索引擎,但你不能打赌它会与所有其他爬虫/机器人一起工作。

    所以你的 robots.txt 可能看起来像:

    User-agent: *
    Disallow: /sign_in
    Disallow: /products/*/purchase
    

    另请注意,某些搜索引擎(包括 Google)可能仍会在其搜索结果中列出一个 URL(没有标题/sn-p),尽管它在 robots.txt 中被阻止。当他们在允许抓取的页面上找到指向被阻止页面的链接时,可能就是这种情况。为防止这种情况,您必须noindex 文档。

    【讨论】:

      【解决方案2】:

      According to Google Disallow: /products/*/purchase 应该可以工作。 但是according to robotstxt.org这行不通。

      【讨论】:

        猜你喜欢
        • 2011-07-12
        • 2011-06-19
        • 2019-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-23
        • 2011-05-23
        相关资源
        最近更新 更多