当一个网站上线后,搜索引擎的爬虫会频繁光顾,抓取页面内容进行索引。为了让爬虫准确了解哪些内容可以收录、哪些应当忽略,robots.txt 就成了站长与搜索引擎之间沟通的桥梁。这份存放在网站根目录的纯文本文件,用简洁的指令就能划定抓取边界,既能保护隐私目录,也有助于节省抓取配额与服务器资源。下面从最基础的语法讲起,逐步带你掌握完整的配置方法。
robots.txt 的语法并不复杂,核心就是围绕三个关键词展开。只要把这些关键词的含义和用法弄清楚,后续的配置就会顺畅很多。
注意事项:每条 User-agent 声明之后,至少要跟一条 Disallow 或 Allow,否则规则会被视为不完整而失效。同时要清楚,robots.txt 只是君子协定,它约束的是遵守协议的爬虫,对普通用户访问没有作用,更不能替代密码或访问控制来保护敏感数据。
无论网站规模大小,建议从一个基础版本开始,后续再根据实际需求逐步细化。你可以按照下面的步骤完成创建和部署。
User-agent: *
Disallow: /wp-admin/
Disallow: /temp/
Sitemap: https://www.yourdomain.com/sitemap.xml
判断标准与避坑:部署完成后,在浏览器地址栏访问 你的域名/robots.txt,能看到文件内容就说明配置已生效。这里有一个经常踩的坑:有人想屏蔽全站时直接写 Disallow: /,结果导致所有爬虫都无法抓取任何页面,网站很快从搜索结果中消失。除非确实需要整体关闭收录,否则不要轻易使用这条指令。
当网站内容越来越多,简单的全部屏蔽或全部放行往往不够灵活。这时 Allow 指令就能派上大用场。举一个典型场景:你想屏蔽整个图片素材目录,但又希望爬虫能抓取其中一张用于社交平台分享的封面图,这种情况下单独放行就非常有价值。
User-agent: *
Disallow: /assets/img/
Allow: /assets/img/cover.jpg
执行细节:指令的书写顺序会影响匹配结果,通常建议先写范围较大的 Disallow,再写更具体的 Allow,这样逻辑更清晰,也便于他人阅读和维护。需要注意的是,不同搜索引擎对 Allow 的支持程度略有差异,谷歌和必应都支持这一指令,但个别小众搜索引擎可能并不识别,因此重要的内容不要只依赖 Allow 来放行。
大型站点往往需要同时应对多个搜索引擎,不同爬虫的喜好也可能不同。比如谷歌的 Googlebot 和必应的 Bingbot,抓取频率和需求就有差异,这时可以分开设置规则。此外,robots.txt 还支持使用星号(*)作为通配符来匹配任意字符序列,让规则更加灵活高效。
避坑建议:过多的通配符规则会增加爬虫解析的负担,也可能误伤正常页面。写完后建议用搜索引擎站长平台提供的 robots 检测工具进行验证,确认每条规则的实际匹配效果符合预期。
通常情况下,修改并上传新的 robots.txt 后,爬虫在下次访问时会重新抓取该文件并应用新规则,一般在几小时内就能生效。但已经收录的页面不会立刻从搜索结果中删除,需要一定时间重新抓取和处理。
不能。robots.txt 只对遵守协议的搜索引擎爬虫起到告知作用,普通用户通过浏览器仍然可以直接访问被屏蔽的网址。如果内容涉及隐私,应使用登录认证或服务器端的访问控制来保护。
可以。一个文件中可以根据需要写多个 User-agent 块,每个块对应不同的爬虫规则。需要注意的是,如果某个爬虫在多个块中都被提及,搜索引擎通常采用最具体或优先级最高的匹配规则,因此建议避免重复定义同一爬虫。
掌握 robots.txt 的配置并不困难,关键在于理解 User-agent、Disallow 和 Allow 三者之间的关系,并根据站点结构灵活运用。初次配置时可以从简洁模板开始,逐步加入精确放行和通配符规则;部署后务必通过浏览器和站长工具双重验证,避免误屏蔽导致整站掉出搜索索引。记得定期检查这份文件,确保规则始终与网站的实际内容保持一致,这样才能既保护好不想公开的目录,又能让优质内容充分被搜索引擎收录。