【问题标题】:Ignore urls in robot.txt with specific parameters?忽略robot.txt中带有特定参数的url?
【发布时间】:2012-02-27 07:38:16
【问题描述】:

我希望谷歌忽略这样的网址:

http://www.mydomain.com/new-printers?dir=asc&order=price&p=3

应该忽略所有具有参数 dir、order 和 price 的 url,但我没有使用 Robots.txt 的经验。

有什么想法吗?

【问题讨论】:

    标签: seo robots.txt


    【解决方案1】:

    如果您想禁止查询字符串,这里有一个解决方案:

    Disallow: /*?*
    

    或者如果您想对查询字符串更精确:

    Disallow: /*?dir=*&order=*&p=*
    

    您也可以在 robots.txt 中添加允许的 url

    Allow: /new-printer$
    

    $ 将确保只允许 /new-printer

    更多信息:

    http://code.google.com/web/controlcrawlindex/docs/robots_txt.html

    http://sanzon.wordpress.com/2008/04/29/advanced-usage-of-robotstxt-w-querystrings/

    【讨论】:

    • 这将禁止新打印机我只想打乱查询字符串部分
    • 所以你想允许/new-printer 但不允许/new-printers?dir=*&order=*&p=*?
    • 那些高级通配符和allow指令支持得好吗?
    • 根据robotstxt.org/robotstxt.html - “没有“允许”字段”
    • 以 new-printers 为例,如果该文件上可能有不同的参数组合和顺序会怎样。如果在没有明确指定的情况下将任何类型的参数添加到特定文件中,您能否在单个查询中指定应该禁止该特定文件?会... Disallow: /new-printer?* 工作吗?
    【解决方案2】:

    使用 Google WebMaster Tools 注册您的网站。在那里您可以告诉 Google 如何处理您的参数。

    站点配置 -> URL 参数

    您应该让包含这些参数的页面表明它们应该通过漫游器元标记从索引中排除。例如

    【讨论】:

    • 虽然最初的问题特别提到了谷歌,但重要的是要注意谷歌网站管理员工具只会阻止谷歌。在 robots.txt 文件中添加 Disallow 规则也可以处理其他搜索引擎。
    • 是的。还应该澄清的是,robots.txt 不会阻止 Google 索引页面,但会阻止它读取其内容。最好的解决方案是在页面本身上使用 robots 元标记。所有系统都支持这一点。
    【解决方案3】:

    您可以使用以下行阻止那些特定的查询字符串参数

    Disallow: /*?*dir=
    Disallow: /*?*order=
    Disallow: /*?*p=
    

    因此,如果任何 URL 在查询字符串中包含dir=order=p=anywhere,它将被阻止。

    【讨论】:

    • 这是否意味着只要满足上述条件就不会爬取整个页面。
    • 注意:这也会阻止部分匹配表达式的参数,所以不仅example.com?p=test,而且example.com?top=test
    • 如果您想忽略这些参数,无论它们在 URL 中的位置(第一个位置或下一个位置),您可以尝试:Disallow: /*?dir=* Disallow: /*?order=* Disallow: /*?p=* Disallow: /*&dir=* Disallow: /*&order=* Disallow: /*&p=*
    • ? 可以忽略吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-17
    • 2013-10-02
    • 2011-11-06
    • 2018-09-27
    • 2017-12-30
    • 2012-02-10
    • 2016-02-05
    相关资源
    最近更新 更多