长登建站 18年独立站建设、网站设计、网页制作

robots.txt 详细操作1 min read

目录

robots.txt 详细操作1 min read

是一个放在网站根目录下的文本文件,它的核心功能是礼貌地告诉合规的网络爬虫(或机器人)哪些页面或文件可以抓取,哪些不应该抓取。

核心功能详解

  1. 指导合规的爬虫
    • 它主要针对像 Googlebot(谷歌爬虫)、Baiduspider(百度爬虫)这样的搜索引擎爬虫。
    • 它是一个“君子协定”,​没有强制约束力。一个恶意的、不守规矩的爬虫完全可以无视它。它的有效性依赖于爬虫方的自觉遵守。
  2. 主要应用场景
    • 避免抓取敏感区域​:例如网站的管理后台 (/admin/)、登录页面 (/login/)、临时测试页面等,这些页面你不想被搜索引擎索引和公开显示。
    • 节省服务器资源和爬取预算​:阻止爬虫抓取无价值的页面,如站内搜索结果页、打印页面、重复内容页面等,可以将有限的服务器资源和搜索引擎的“爬取配额”留给更重要的页面。
    • 保护私有文件​:防止搜索引擎索引网站上的敏感文件,如 PDF、Zip 等(但请注意,这不能隐藏文件,如果文件有公开链接,别人还是能访问,只是不会被搜索引擎收录)。
    • 优化网站性能​:对于一些资源消耗大的页面(如复杂的筛选页面),禁止爬虫抓取可以减轻服务器压力。
  3. 重要限制(它不能做什么)​
    • 不能阻止恶意爬虫​:无法防止黑客、抓取工具或垃圾邮件发送者抓取你的网站。
    • 不能隐藏网页​:如果一个页面可以通过公开链接访问,即使用 robots.txt 禁止抓取,它仍然可以被访问。要真正阻止访问,需要使用密码保护或服务器端权限控制。
    • 不能作为安全工具​:​绝对不要用它来隐藏密码、个人信息等敏感数据。它反而会告诉别人这些文件的位置。
    • 不能保证不被索引​:即使阻止抓取,如果页面的链接出现在其他网站上,搜索引擎仍然可能知道这个页面的存在并将其显示在搜索结果中(通常只显示网址,没有描述)。要完全阻止索引,需要使用 <meta name=”robots” content=”noindex”> 标签或 X-Robots-Tag HTTP 头。

基本语法和指令

robots.txt 文件由一条或多条“记录”组成。每条记录针对一个特定的爬虫代理(User-agent),并包含一系列指令(Allow, Disallow)。

  • ​**User-agent:**​ (必选)
    • 指定这条规则适用于哪个爬虫。
    • User-agent: * 表示规则适用于所有合规的爬虫。
    • User-agent: Googlebot 表示规则仅适用于谷歌的网页爬虫。
  • ​**Disallow:**​ (核心指令)
    • 指定不希望爬虫访问的路径。
    • Disallow: /admin/ 表示禁止爬虫访问 /admin/ 目录及其下的所有内容。
    • Disallow: (空值)表示允许抓取整个网站。​这是默认行为
  • ​**Allow:**​ (辅助指令)
    • 在一条被禁止的路径中,特别允许抓取某个子路径。
    • 通常与 Disallow 配合使用,Allow 指令的优先级更高。
    • 例如:Disallow: /folder/ 但 Allow: /folder/public/,表示禁止 /folder/ 目录,但允许抓取其中的 /folder/public/ 子目录。
  • ​**Sitemap:**​ (推荐使用)
    • 指定网站地图(sitemap.xml)的位置,帮助爬虫更有效地发现和索引你的重要页面。
    • 这条指令可以放在文件的任何位置,通常放在开头或结尾。
  • ​*****​ (通配符)
    • 匹配任何字符序列。
  • ​**$**​ (结束符)
    • 匹配URL的结束。

常见示例

  1. 允许所有爬虫抓取整个网站
    User-agent: *  Disallow:

    或者直接留空,或者返回 404 状态码。

  2. 禁止所有爬虫抓取任何内容
    User-agent: *  Disallow: /

    这会让你的网站在搜索引擎中“消失”。

  3. 禁止所有爬虫抓取特定目录
    User-agent: *  Disallow: /admin/  
    Disallow: /tmp/  Disallow: /logs/
  4. 禁止抓取特定类型的文件
    User-agent: *  
    Disallow: /*.pdf$  
    Disallow: /*.jpg$

    禁止抓取所有 PDF 和 JPG 文件。

  5. 针对特定爬虫设置规则
    User-agent: Googlebot-Image  
    Disallow: /    
    User-agent: *  
    Disallow: /private/

    这段规则表示:禁止谷歌图片爬虫抓取任何图片,但允许其他所有爬虫抓取网站,除了 /private/ 目录。

  6. 使用 Allow 和 Disallow 组合
    User-agent: *  
    Disallow: /folder/  
    Allow: /folder/public/

    禁止抓取 /folder/ 目录,但允许抓取其中的 /folder/public/ 子目录。


最佳实践和注意事项

  1. 位置必须正确​:文件必须位于网站的根目录下,例如 https://www.example.com/robots.txt。
  2. 使用小写文件名​:虽然大多数服务器不区分大小写,但使用全小写的 robots.txt 是最稳妥的做法。
  3. ​**注意斜杠 /**​:路径通常以斜杠开头。
  4. 每行一条指令​:指令必须各自独立成行。
  5. 使用搜索引擎工具验证​:Google Search Console 和 Bing Webmaster Tools 都提供了 robots.txt 测试工具,可以检查你的文件是否有语法错误或意外阻止了重要页面。
  6. 谨慎使用通配符​:过于宽泛的规则可能导致意外屏蔽重要页面。

总结

robots.txt 是网站站长与网络爬虫之间沟通的一个重要工具,主要用于优化搜索引擎爬虫的抓取效率、节省服务器资源、并保护不希望被公开索引的内容。但它是一个“建议”而非“命令”,绝不能将其用于保护敏感信息的安全。

热门标签
0%