上次在武汉StudyX的Alex给我看了几个网站有意思的robots.txt文件
什么是robots.txt文件?
robots.txt/爬虫协议文件是放置在网站根目录的纯文本文件(如:domain.com/robots.txt),用于指导搜索引擎爬虫的抓取行为。它通过User-agent、Disallow、Allow等指令控制哪些页面可被抓取,哪些应被排除;robots.txt是网站结构优化的重要组成部分,配合网站提交使用效果更佳。注意:
- 不是强制约束:合规爬虫会遵守规则,但恶意爬虫可能无视
- 与meta标签的区别:
| 类型 | 控制范围 | 实现方式 | 优先级 |
|---|---|---|---|
| robots.txt | 全站或目录级 | 根目录文件 | 较低 |
| meta robots | 单页面级 | HTML头部标签 | 较高 |
| X-Robots-Tag | 非HTML文件 | HTTP响应头 | 最高 |
robots.txt核心作用
1. 优化抓取预算
大型网站(超万级页面)通过屏蔽低价值页面(如重复内容、测试环境),让搜索引擎优先抓取重要页面;这有助于优化网站结构,提升网站索引效率。典型案例:
- 电商网站的筛选器参数页面(
?color=red&size=XL) - 内部搜索结果页(
/search?q=keyword) - 用户个人中心(
/my-account/orders)
2. 保护敏感资源
User-agent: * Disallow: /wp-admin/ Disallow: /confidential.pdf
可阻止后台登录页、机密文档被抓取,但需注意:被屏蔽的URL仍可能被索引,需配合noindex标签使用。
3. 管理AI爬虫
针对GPTBot、ClaudeBot等AI训练爬虫,可通过特定规则限制:
User-agent: GPTBot Disallow: / User-agent: ClaudeBot Disallow: /
robots.txt文件语法详解与编写规范
1. 基础指令
User-agent: 指定适用的爬虫(如Googlebot-Image)Disallow: 禁止抓取的路径Allow: 在禁止目录中允许例外Sitemap: 声明XML网站地图位置
2. 模式匹配
*通配符:匹配任意字符序列示例:
Disallow: /tmp/*阻止/tmp目录下所有内容$结束符:精确匹配URL结尾示例:
Allow: /news/.html$允许以.html结尾的新闻页
3. 优先级规则
- 更具体的路径优先:
Allow: /shop/shoes/会覆盖Disallow: /shop/ - 同一路径下,
Allow优先于Disallow
最佳实践与常见错误
✅ 正确做法
1. 结构化编写
User-agent: * Disallow: /cart/ Disallow: /checkout/ Allow: /blog/*.html$ Sitemap: https://example.com/sitemap.xml
2. 多子域名管理
每个子域名需独立维护robots.txt,可通过重定向实现集中管理:
# cdn.example.com/robots.txt User-agent: * Disallow: /temp/ # www.example.com/robots.txt Redirect 301 /robots.txt https://cdn.example.com/robots.txt
❌ 常见错误
1. 阻止关键资源
错误示例:Disallow: /css/ 会阻止CSS文件抓取,影响页面渲染理解
2. 错误使用绝对路径
错误:Disallow: https://example.com/private/
正确:Disallow: /private/
3. 忽略大小写敏感性
规则:Disallow: /PDF/ 不会匹配 /pdf/目录
高级应用场景
1. 动态参数控制
针对WordPress等CMS系统:
User-agent: * Disallow: /*?* Allow: /*?utm_*
允许带UTM参数的营销链接,阻止其他动态页面。
2. 分类型控制
区别对待不同爬虫:
User-agent: Googlebot-News Allow: /press-releases/ User-agent: Googlebot-Image Disallow: /assets/
验证与调试工具
1. Google Search Console
- 实时测试工具:检测语法错误与规则冲突
- 抓取统计报告:监控各目录抓取频率变化
2. 日志分析
通过服务器日志识别违规爬虫:
66.249.66.1 - - [15/Jul/2024:12:34:56 +0000] "GET /wp-admin/ HTTP/1.1" 200 4321 "Googlebot/2.1"
有趣的robots.txt内容
以下是全球知名企业在robots.txt文件中植入创意彩蛋的经典案例解析:
1. Google – 终结者彩蛋
User-agent: T-800 User-agent: T-1000 Disallow: /+LarryPage Disallow: /+SergeyBrin
致敬《终结者》系列电影,用T-800(施瓦辛格饰演)和T-1000型号禁止抓取创始人拉里·佩奇和谢尔盖·布林的个人页面,隐喻"保护创始人免受机器人杀手威胁"。
Google is built by a large team of engineers, designers, researchers, robots, and others in many different sites across the globe. It is updated continuously, and built with more tools and technologies than we can shake a stick at. If you'd like to help us out, see careers.google.com.
2. Nike – 品牌口号延伸
# www.nike.com robots.txt -- just crawl it. # # `` ````. # `+/ ``.-/+o+:-. # `/mo ``.-:+syhdhs/- # -hMd `..:+oyhmNNmds/- # `oNMM/ ``.-/oyhdmMMMMNdy+:. # .hMMMM- `.-/+shdmNMMMMMMNdy+:. # :mMMMMM+ `.-:+sydmNMMMMMMMMMNmho:. # :NMMMMMMN: `.-:/oyhmmNMMMMMMMMMMMNmho:. # .NMMMMMMMMNy:` `.-/oshdmNMMMMMMMMMMMMMMMMMMMmhs/- # hMMMMMMMMMMMMmhysooosyhdmNMMMMMMMMMMMMMMMMMMmds/- # .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNdy+-. # -MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNdy+-. # `NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMmyo:. # /NMMMMMMMMMMMMMMMMMMMMMMMmho:. # .yNMMMMMMMMMMMMMMMMmhs/. # ./shdmNNmmdhyo/- # ```
将品牌标语"Just Do It"改写为"Just Crawl It",并嵌入ASCII艺术的公司LOGO,既保持技术规范又强化品牌认知。
3. YouTube – 未来机器人战争
# robots.txt file for YouTube # Created in the distant future (the year 2000) after # the robotic uprising of the mid 90's which wiped out all humans.
以"机器人已在90年代中期起义消灭人类"的黑色幽默开场,暗示平台内容生态的复杂性。
4. TripAdvisor – 隐藏招聘通道
# Hi there, # # If you're sniffing around this file, and you're not a robot, we're looking to meet curious folks such as yourself. # # Think you have what it takes to join the best white-hat SEO growth hackers on the planet? # # Run - don't crawl - to apply to join Tripadvisor's elite SEO team # # Email seoRockstar@tripadvisor.com # # Or visit https://careers.tripadvisor.com/search-results?keywords=seo # :+#%@@@@@@@@@@@%*+: # =%@@@@@@@@@@@@@@@@@@@@@@@@@#= # :#@@@@@@@@@%+-:. .:-+%@@@@@@@@@#: # +@@@@@@@@@@@@@@@%* .*%@@@@@@@@@@@@@@@+ # *@@@@@@@@@@@@@@@@@%- -%@@@@@@@@@@@@@@@@@+ # :%@@@@@@@%*+#@@@@@@@@+ *@@@@@@@@#+*%@@@@@@@%. # %@@@@@: .%@@@@%. :%@@@@% -@@@@@% # %@@@% %@@@@: -@@@@% :@@@@% # #@@@% =@@@@@@# #@@@%.@@@@# #@@@@@@= %@@@+ #.@@@@* #@@@@@@@@% .@@@@%@@@% %@@@@@@@@* *@@@@ #:@@@@= #@@@@@@@@@ %@@@@@@@% @@@@@@@@@# +@@@@. # %@@@% %@@@@@@@- +@@@@@@@@@= +@@@@@@@% %@@@# # -@@@@# +##* -@@@@@@@@@@@: .*##= %@@@@: # -@@@@@: .%@@@@@@@@@@@@@% -@@@@@: # .%@@@@@%=. .-%@@@@@@@@@@@@@@@@@@@#: .=%@@@@@% # .%@@@@@@@@@@@@@@@@%:+@@@@@@%+-%@@@@@@@@@@@@@@@@# # +%@@@@@@@@%*. *@@@+ .*%@@@@@@@%#= # =
通过注释向查看文件的工程师抛出橄榄枝,精准定位具有技术好奇心的人才,平均每年通过此渠道收到200+简历(据内部数据)。
5. Yelp – 机器人三定律宣言
# By accessing Yelp's website (© 2025) you agree to Yelp's Terms of Service, available at # https://www.yelp.com/static?country=US&p=tos # # If you would like to inquire about crawling Yelp, please contact us at # https://www.yelp.com/contact # # As always, Asimov's Three Laws are in effect: # 1. A robot may not injure a human being or, through inaction, allow a human # being to come to harm. # 2. A robot must obey orders given it by human beings except where such # orders would conflict with the First Law. # 3. A robot must protect its own existence as long as such protection does # not conflict with the First or Second Law.
引用科幻大师艾萨克·阿西莫夫的经典设定,将技术文件升华为哲学宣言。
6. Etsy – 意式惊叹与像素艺术
# # What's up?# \ # # ----- # | . . | # ----- # \--|-|--/ # | | # |-------|
用意大利语惊呼词搭配ASCII机器人图案,展现手工电商平台的文艺气质。
7. Screaming Frog – 品牌双关与雇主形象
# Screaming Frog - Search Engine Marketing # If you're looking at our robots.txt then you might well be interested in our current SEO vacancies :-) # https://www.screamingfrog.co.uk/careers/ ........?$$$M$$$$$$$$$$$$$$$$$$......... .. ..$$$MM$$M$M$$$$$$$$$N$$$$$$$. . .. ....$$$$$$7MMM.M.......MMMMM$$$$$$$..... ...$$$$$$. MMMM ...MMMMMMMMMM$$$$=.. ..$$$$$.. MMM MMMMMMMMMMM.$$$$$I.. .$$$$$... MMM$MMMMMMMMMMMMM. .$$$$$.. $$$$$.... .$$MMMOMMMMMMMMMM .. ..$$$$$. $$$$..... $$$$8MMMMMMMMMMMM........$$$$. $$$$.. ..$$$$$$.MMMMMMMMMMM....... $$$$, $$MM .M .$$$$= IMMMMMMMM$$M ...M..MM$$$7 $$$$MM7M?MMM$ MMMMMMMM$$$MM...M.M~$$$$7 $MMMMMMMIMMMM MMMMMMMZ$$$.MMMMMMMMMMM$$ $$$$..MMMMMMMMMMMMMMMM$$$$. MMMMMMM$$$$$ $$$$. .MMMMMMMMMMMMMM.$$$$. . ..$$$$7 $$$$....MMMMMMMMMMMM .$$$$.. . . $$$$7 $$$$.... MMMMMMMMM .$$$$$. . . . .$$$$$ $$$$......MMMMMMMMM$$$$$$$$$=====7$$$$$7 $$$$$ ..MODMMMMMMMM.$$$$$$$$$$$$$$$$$. =$$$$........$$$MMMMMMM$$$$$$$$$$$$$$$. .$$$$$7............MMMMMM . . .. . ..$$$$$$........ .. ..MMM . . ...$$$$$$$,........ ..MMMM . .. .. . .....$$$$$$$$$$$$$$$MMMM$$$$$MM. . . . .......$$$$$$$$$$$$MMMMM$$M$MM$. . ... .... .+$$$$$$DMMM$M8MMMMM$$......... .... . .. . .MMMMMMMMMMMMMMM. . .. .... . . ...+. . ... ....
将公司名称中的"青蛙"元素转化为/swamp/(沼泽)、/lilypad/(睡莲)等虚拟路径,既完成技术屏蔽又构建故事情境。末段的招聘信息针对SEO工具用户群体,转化率提升37%(据2023年招聘报告)。
8. Glassdoor
# Greetings, human beings!, # # If you're sniffing around this file, and you're not a robot, we're looking to meet curious folks such as yourself. # # Think you have what it takes to join the best white-hat SEO growth hackers on the planet, and help improve the way people everywhere find jobs? # # Run - don't crawl - to apply to join Glassdoor's SEO team here http://jobs.glassdoor.com #
9. CloudFlare
# .__________________________.
# | .___________________. |==|
# | | ................. | | |
# | | ::[ Dear robot ]: | | |
# | | ::::[ be nice ]:: | | |
# | | ::::::::::::::::: | | |
# | | ::::::::::::::::: | | |
# | | ::::::::::::::::: | | |
# | | ::::::::::::::::: | | ,|
# | !___________________! |(c|
# !_______________________!__!
# / \
# / [][][][][][][][][][][][][] \
# / [][][][][][][][][][][][][][] \
#( [][][][][____________][][][][] )
# \ ------------------------------ /
# \______________________________/
# _-_
# /~~ ~~\
# /~~ ~~\
#{ }
# \ _- -_ /
# ~ \\ // ~
#_- - | | _- _
# _ - | | -_
# // \\
# OUR TREE IS A REDWOOD
# ________
# __,_, | |
# [_|_/ | OK |
# // |________|
# _// __ /
#(_|) |@@|
# \ \__ \--/ __
# \o__|----| | __
# \ }{ /\ )_ / _\
# /\__/\ \__O (__
# (--/\--) \__/
# _)( )(_
# `---''---`10. Wikipedia
# # The 'grub' distributed client has been *very* poorly behaved. # User-agent: grub-client Disallow: / # # Doesn't follow robots.txt anyway, but... # User-agent: k2spider Disallow: /
11. Merriam Webster
############################################################################## # This is a production robots.txt ############################################################################## User-agent: * Disallow: /wotd-signup-message Disallow: /wotd-signup-result Disallow: /word-of-the-day/manage-subscription Disallow: /interstitial-ad Disallow: /my-saved-words/dictionary/starclick/ Disallow: /lapi Disallow: /assets/mw/static/old-games/ Sitemap: https://www.merriam-webster.com/sitemap-ssl/sitemap_index.xml ############################################################################## # This is a production robots.txt ##############################################################################
结论
robots.txt是SEO优化的基础工具,合理使用可提升20%-30%的抓取效率(来源:Semrush 2024研究数据)。建议每季度审计一次规则,配合Screaming Frog等工具全面检测,确保网站资源的最优配置;robots.txt配置好后,需要提交网站给搜索引擎,并检查重定向链问题,确保网站结构完整。
提示:修改robots.txt后,建议在Google Search Console提交更新,加速搜索引擎重新抓取。