You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过robots.txt禁止抓取带锚点(#)的URL?

禁止Google抓取带锚点的URL的robots.txt正确配置

为什么之前的Disallow: *#会误封内容

Disallow: *#的匹配范围过于宽泛,它会匹配任何包含#字符的URL——哪怕是正常文章页面里带锚点的链接(比如https://example.com/post/#comments),这就会把原本需要被抓取的重要文章一并禁止,导致误封。

正确的规则写法:Disallow: /*#*

这个规则会精准匹配路径部分包含/#的URL,比如你提到的https://example.com/#how_to_do_something,或是子页面下的锚点URL如https://example.com/article/#section_1,既能覆盖目录插件生成的跳转URL,又不会误封不含锚点的正常文章页面。

如果你的目录插件生成的锚点URL都是域名后直接跟#的形式(比如https://example.com/#xxx),也可以用更精准的规则:

Disallow: /#*

完整的robots.txt配置示例

User-agent: Googlebot
Disallow: /*#*

User-agent: *
Allow: /

该配置仅针对Googlebot禁止抓取带锚点的URL,不影响其他爬虫正常访问站点内容。

额外注意事项

  1. Google默认会忽略URL中的锚点部分(#后的内容),但如果你的站点是单页应用,或是锚点会触发动态加载新内容,Google可能会将不同锚点的URL视为独立页面,此时禁止抓取才能有效节省爬取预算。
  2. 配置完成后,建议通过Google Search Console的「robots.txt测试工具」验证规则是否生效,避免再次出现误封。

内容的提问来源于stack exchange,提问作者Kimia Houshidari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 00:30:10