Robots.txt 配置指南:成员页面抓取与允许例外设置的顺序规则

社区话题 wordpress开发 Robots.txt 配置指南:成员页面抓取与允许例外设置的顺序规则

正在查看 0 条回复
  • 作者
    帖子
    • #1293

      追光
      管理员

      Disallow: /members/

      放到最前面(在所有

      Allow

      之前),
      在 Google 上通常仍能生效,但在 Bing、Yandex、Baidu 等搜索引擎上很可能失效,
      导致你指定的成员页面也被禁止抓取。

      🔍 原因:不同搜索引擎的匹配逻辑不同

      搜索引擎匹配规则
      Google✅ 使用 最长路径匹配(most specific)
      即使

      Disallow: /members/

      在前,只要

      Allow: /members/light/

      更具体,就优先允许。

      Bing / Yandex / Baidu / 360 / Sogou⚠️ 按规则顺序匹配,第一个匹配的生效
      如果

      Disallow: /members/

      在前,

      /members/light/

      会先被它匹配并禁止,后面的

      Allow

      不会被读取。

      🧪 举例说明(Bing 的行为)

      User-agent: *
      Disallow: /members/          ← 第1条匹配!禁止
      Allow: /members/light/       ← 不再检查,已决定禁止
        

      → 结果:

      /members/light/

      被屏蔽 ❌

      而 Google 会比较两条规则:

      /members/

      长度 = 10

      /members/light/

      长度 = 17 → 更具体 → 允许 ✅

      ✅ 正确顺序(兼容所有主流引擎)

      User-agent: *
      
      # 1. 先写具体的 Allow 例外(越具体越好)
      Allow: /members/light/
      Allow: /members/nuke_baby/
      ...(其他允许的成员页)
      
      # 2. 再写通用的 Disallow
      Disallow: /members/
        

      ✅ 这样:
      – Google:用最长匹配 → 允许例外
      – Bing/Yandex/Baidu:先看到 Allow(精确路径),匹配不上就继续;遇到 Disallow 时,未被允许的路径才被拦住。

      📌 总结

      写法GoogleBing / 其他中文引擎是否推荐
      Disallow: /members/

      在前

      ✅ 可能生效❌ 很可能失效❌ 不推荐
      Allow: /members/xxx/

      在前

      ✅ 生效✅ 生效强烈推荐

      💡 附加建议

      • 使用 结尾斜杠 / 保持一致性
      • 在网页 HTML 中对非允许成员页加
        <meta name="robots" content="noindex">

        作为双重保险

      • 用 Google Search Console + Bing Webmaster Tools 分别测试
        /members/light/

        /members/test/

        的 robots 状态

      结论:永远把具体的

      Allow

      放在通用

      Disallow

      之前,才能确保跨搜索引擎兼容。

正在查看 0 条回复
  • 在下方一键注册,登录后就可以回复啦。