Robots.txt是网站与搜索引擎爬虫之间的一份基础沟通文件,它并不复杂,却直接影响着站点的抓取效率与索引质量。对站长而言,掌握其核心语法、标准写法以及容易踩中的坑,是确保网站流量健康增长的必要功课。本文将从规则本身讲起,逐步拆解一份规范robots.txt的构建过程。
这份文件必须存放于网站根目录,即通过类似www.example.com/robots.txt的路径直接访问。其语法构成非常精简,主要由两组键值对组成:User-agent用来声明对哪个爬虫生效,Disallow与Allow则分别表达禁止与放行的路径。
一个常见的入门写法如下,它禁止所有搜索引擎抓取全站内容:
User-agent: * Disallow: /若要完全开放给所有爬虫,即不设置任何限制,只需将Disallow留空即可:
User-agent: * Disallow:关于匹配顺序有一处关键的行业共识: 文件内的规则按照自上而下的顺序执行,但对同一个爬虫而言,若某条URL同时命中Allow与Disallow,则Allow规则优先。此外,整份文件对字符敏感,目录结尾的斜杠(/)不是可选项,它往往决定了屏蔽范围是某目录还是其下的单个文件。例如Disallow: /admin会同时拦截/admin及/adminpage等所有以admin前缀开头的地址,而/admin/则只精确作用于admin子目录。
为了避免因屏蔽失效或误伤页面,建议按照从需求梳理到最终部署的路径来操作,而不是凭记忆拼凑代码。
避坑提醒: 文件内的每条规则务必独立成行,切勿混写在同一行内。同时,路径的写法应使用相对根目录的绝对路径(以/开始),不要写成Disallow: https://example.com/admin/这样的完整URL形式,这会导致规则失效。
文件部署完成后,并不代表万事大吉。有效的做法是利用主流搜索引擎的站长工具内置的Robots测试器。以谷歌Search Console为例,输入某个具体的私密页面URL,工具会实时模拟抓取并反馈该URL是被允许还是被阻止。
同时,需要留意以下三个高发问题:
除了基础的目录屏蔽,合理利用匹配符能大大提权管理效率。典型应用包括:
并不能。Robots.txt仅对遵守协议的蜘蛛有效,它提供的是一种抓取层面的护栏。理论上讲,只要知道链接,任何用户浏览器或恶意脚本仍然可以直接访问该URL。若想真正保护隐私内容,应配合服务器端的登录验证或目录密码保护。
生效时间并非固定不变,通常需要数小时到数天。搜索引擎并非每时每刻重新下载该文件,而是遵循自身的抓取缓存周期。建议修改后,主动在站长工具中提交更新请求(如Fetch as Google),以加速规则的更新。
Sitemap的声明独立于各个User-agent块,理论上放在文件的任意位置都能被识别,行业惯例是置于文件的最底部。但务必确保该Sitemap链接是可以公开访问的有效XML文件,且未在自身文件内被Disallow屏蔽。
配置Robots.txt本质上是一场权衡:既要引导爬虫资源倾向核心内容,又要防止入口被封死。立即检查你网站的根目录文件,优先确保后台、备份目录已被屏蔽,并顺手验证一下核心业务目录是否被误伤。记住,这是一份易变且需定期复查的文件,特别是每次网站结构大改或更换CMS系统后,都应重新审视一遍当前的规则设定。