如何在robots.txt中禁止查询字符串?现有规则格式是否正确?
关于robots.txt禁止特定查询参数页面索引的规则有效性分析
你的这些robots.txt规则基本能满足禁止目标URL被爬虫抓取的需求,但有几个细节需要注意:
规则匹配逻辑:
你写的Disallow: /*?products_of_interest__c=*这类规则,/*会匹配域名后的任意路径前缀,?products_of_interest__c=*会匹配以该参数开头的查询字符串,刚好能覆盖你列出的4个目标URL(比如https://www.example.com/en/project-information?products_of_interest__c=EVK会被第一条规则命中)。潜在局限性:
如果目标URL存在多个查询参数,且你要禁止的参数不是第一个(比如https://www.example.com/en/project-information?other=xxx&products_of_interest__c=EVK),当前规则就无法匹配到。如果需要覆盖参数在查询串任意位置的情况,要把规则改成:Disallow: /*?*products_of_interest__c=* Disallow: /*?*office_type=* Disallow: /*?*category=* Disallow: /*?*form_factor=*不过要注意,这种带
*的通配符写法,大部分主流搜索引擎(如Google、Bing)都支持,但少数老旧爬虫可能不兼容。额外提醒:
robots.txt只是禁止爬虫抓取这些页面,如果这些页面已经被搜索引擎索引了,仅靠robots.txt无法移除已收录的内容。这种情况需要在页面中添加noindex元标签,或者通过对应搜索引擎的站长工具提交移除请求。
内容的提问来源于stack exchange,提问作者syed1234
相关产品推荐
相关产品推荐

