当搜索引擎的爬虫程序第一次访问你的网站时,它通常会在根目录寻找一个名为 robots.txt 的文本文件。这个文件不参与页面渲染,却主导着爬虫的抓取范围:哪些目录可以收录,哪些区域必须避开,都在这里写明。一份设置得当的 robots.txt,能帮助搜索引擎更高效地发现你的优质内容,同时避免后台页面或内部数据被无故索引,是网站上线初期最值得优先处理的基础工作。
robots.txt 文件必须存放于站点根目录下,正确路径格式为 https://yourdomain.com/robots.txt。文件编码采用 UTF-8,每条指令单独占一行,且路径匹配区分大小写。文件内容通常由以下几个部分组成:
下面是一份典型配置示例,可以直观地展示这些要素的搭配方式:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://yourdomain.com/sitemap.xml
该示例告知所有爬虫,站点大部分内容可以自由抓取,唯独 /wp-admin/ 目录是禁区,但其中的 admin-ajax.php 文件例外。避坑提示:在编写 Allow 规则时,务必确认目标爬虫是否兼容该指令,否则放行规则可能形同虚设,内容依然被屏蔽。
每个网站的抓取需求不尽相同,以下列举三种主流场景,供你根据站点定位参考调整,切勿直接照搬。
对于以内容输出为主的新站点,收录速度往往比保护隐私更重要。这类网站只需声明对所有爬虫开放,不设置任何屏蔽路径:
User-agent: *
Disallow:
这里 Disallow 后不填写任何内容,或者直接省略这一行,效果都是允许全站被抓取。最常出现的失误是将行为写成 Disallow: /,一旦如此,所有搜索爬虫均无法获取任何页面,网站会迅速从索引中消失,务必在保存前仔细核对这两行之间的区别。
如果希望保留 Google 或百度的收录,同时拒绝 Bing 等特定搜索引擎的访问,可以单独为该爬虫配置规则:
User-agent: Googlebot
Disallow: /private/
User-agent: bingbot
Disallow: /
这种写法让 Bingbot 只能空手而归,Googlebot 仅被禁止访问 /private/ 目录,其余内容不受影响。需要留神爬虫名称的精确拼写,例如百度的完整标识为 Baiduspider,少写字母或出现错拼,规则都不会生效,配置前最好先查阅官方文档确认。
针对站内的临时目录、测试页面或用户个人中心等不宜公开的区域,采取局部锁定是更稳妥的做法:
User-agent: *
Disallow: /user/profile/
Disallow: /temp/
用精确路径去匹配,既能保护敏感数据,又最大程度避免误伤其他页面的正常抓取。判断标准是:只要能写清具体目录或文件,就尽量不要使用通配符去模糊屏蔽。
不少站长在配置过程中踩过坑,甚至影响了整站排名。以下这些问题最容易被忽视,需要引起警觉。
完成规则编写后,不要直接上线就撒手不管,通过下面几个步骤可以快速确认配置正常。
可以。百度爬虫遵循 robots.txt 中的 Disallow 指令,设置正确即可阻止其抓取。但要注意百度对 Allow 指令的兼容性有限,不能完全依赖它来放行子目录,必要时应配合 noindex 标签使用。
搜索引擎对 robots.txt 文件通常有缓存机制,改动后一般在数小时到一天内生效,部分爬虫可能需要更长时间。建议修改后主动在站长平台提交更新,以缩短等待周期。
robots.txt 本身不参与排名计算,不会直接影响权重值。但如果屏蔽错误导致大量页面无法被抓取,间接会削弱内容被收录的机会,长期来看对整站流量和收录量都有负面作用。谨慎配置、定期复查是最有效的防护方式。
robots.txt 虽然只是一个小型文本文件,但它的设置细节直接影响搜索引擎对你网站的认知方式。建议你按当前站点需求明确抓取边界:先检查文件是否放在根目录,再确认每条路径的大小写与空格无误,最后利用搜索引擎的测试工具做一次完整验证。若后续站点结构调整,记得同步更新规则,避免旧路径残留造成不必要的抓取阻碍。