robots.txt 是一个用于控制搜索引擎爬虫访问网站内容的文本文件,通常放置在网站的根目录下(如 https://example.com/robots.txt)。以下是关于 robots.txt 参数设置的详细解析:


一、robots.txt 的基本语法

  1. User-agent

    • 指定爬虫名称,* 表示所有爬虫。

    • 示例:

      plaintext
      复制
      User-agent: *
      User-agent: Googlebot
  2. Disallow

    • 禁止爬虫访问的路径,/ 表示禁止访问整个网站。

    • 示例:

      plaintext
      复制
      Disallow: /private/
      Disallow: /tmp/
  3. Allow

    • 允许爬虫访问的路径,优先级高于 Disallow

    • 示例:

      plaintext
      复制
      Allow: /public/
      Allow: /images/logo.png
  4. Crawl-delay

    • 设置爬虫访问延迟时间(秒),防止服务器过载。

    • 示例:

      plaintext
      复制
      Crawl-delay: 5
  5. Sitemap

    • 指定网站的站点地图(Sitemap)位置,帮助爬虫更好地索引内容。

    • 示例:

      plaintext
      复制
      Sitemap: https://example.com/sitemap.xml

二、常见参数设置示例

  1. 允许所有爬虫访问所有内容

    plaintext
    复制
    User-agent: *
    Disallow:
  2. 禁止所有爬虫访问整个网站

    plaintext
    复制
    User-agent: *
    Disallow: /
  3. 禁止特定爬虫访问特定目录

    plaintext
    复制
    User-agent: Googlebot
    Disallow: /private/
    Disallow: /tmp/
    
    User-agent: Bingbot
    Disallow: /admin/
  4. 允许特定爬虫访问特定文件

    plaintext
    复制
    User-agent: *
    Disallow: /private/
    Allow: /private/public.html
  5. 设置爬虫延迟并指定站点地图

    plaintext
    复制
    User-agent: *
    Crawl-delay: 10
    Sitemap: https://example.com/sitemap.xml

三、注意事项

  1. 大小写敏感

    • robots.txt 中的路径区分大小写,确保路径与实际 URL 一致。

  2. 通配符支持

    • 部分爬虫支持通配符(如 * 和 $),但并非所有爬虫都支持。

    • 示例:

      plaintext
      复制
      Disallow: /*.jpg$  # 禁止访问所有 .jpg 文件
  3. 优先级规则

    • Allow 优先级高于 Disallow

    • 更具体的规则优先级高于通用规则。

  4. 测试与验证

    • 使用 Google Search Console 或 Bing Webmaster Tools 测试 robots.txt 文件的有效性;

    • 确保文件格式正确,避免语法错误。


四、高级设置

  1. 针对不同爬虫设置不同规则

    • 示例:

      plaintext
      复制
      User-agent: Googlebot-Image
      Disallow: /images/
      
      User-agent: AdsBot-Google
      Disallow: /ads/
  2. 动态生成 robots.txt

    • 对于动态网站,可通过程序生成 robots.txt,根据用户或环境动态调整规则。

  3. 结合 meta 标签使用

    • 在 HTML 页面中使用 <meta name="robots"> 标签,补充 robots.txt 的功能。

    • 示例:

      html
      复制
      <meta name="robots" content="noindex, nofollow">

本篇文章内容来源于:robots.txt 参数设置