搜索引擎蜘蛛访问一个站点时,最先查看根目录下的 robots.txt 文件。这份纯文本协议相当于给爬虫划定的浏览边界,标明哪些路径可以抓取、哪些目录需要回避。配置得当,既能防止后台管理页面被收录,也能让爬虫把抓取配额集中用在重要内容上,对站点的自然搜索表现产生积极影响。
robots.txt 文件需放置于站点根目录,例如 https://yourdomain.com/robots.txt,文件名区分大小写,建议以 UTF-8 格式保存。每条规则单独占据一行,不要在行末添加多余空格。要写出准确的规则,首先要明确几个核心字段的具体作用:
除了以上三项基础设置,还可以通过 Sitemap 指令标注地图文件的存放位置。一个典型组合示例如下:
User-agent: *
Disallow: /admin/
Allow: /admin/public/
Sitemap: https://yourdomain.com/sitemap.xml
该配置的含义是:网站默认全部开放,但 /admin/ 目录被限制,其中 /admin/public/ 属于例外,仍可被访问。需要留意的是,如果某个爬虫不支持 Allow 指令,它只会遵循 Disallow 的限制,此时 /admin/public/ 对它而言依然不可进入。
不同站点类型对抓取规则的需求差异较大。下面三种典型写法覆盖了多数应用场景,可根据自身情况替换其中的路径内容。
对于内容型网站或新上线的站点,通常希望所有页面均能被蜘蛛抓取。此时只需一行配置:
User-agent: *
Disallow:
实际上,直接省略 Disallow 行也能达到相同效果。最怕出现失误,将 Disallow 误写为 /,一旦如此,所有爬虫都会被拦截在外,收录工作将立即陷入停滞。修改完规则后,建议使用搜索引擎站长工具中的抓取测试功能验证实际效果。
如果站点不希望被某个特定搜索引擎收录,可以单独为其设置规则:
User-agent: Bingbot
Disallow: /
这样做不会影响其他爬虫的抓取策略。需要注意的是,爬虫名称务必写准确,诸如 Googlebot、Baiduspider 等名称写法各不相同,拼写错误会让规则失效,建议前往各大搜索引擎官方文档核对名称写法。
部分工具型网站希望爬虫只进入某个特定目录,其他路径一律拒绝访问,可以这样设置:
User-agent: *
Allow: /public/
Disallow: /
这种写法依靠 Allow 优先于 Disallow 的逻辑生效,但默认规则是 Disallow 优先,Googlebot 支持此写法,其他蜘蛛可能存在兼容性问题,因此配置前需确认目标搜索引擎的支持情况。
实际运维过程中,不少人会在 robots.txt 上栽跟头。以下问题是最容易出现的,需要格外注意:
建议每次修改 robots.txt 后,都通过站长工具的实时抓取接口查看响应状态,确认返回内容是否正确。
robots.txt 并非一次性配置就万事大吉,随着网站结构调整,规则也需要同步更新。更新时注意以下几点:
例如,线上商城在促销活动期间可能希望屏蔽部分落地页,此时应优先考虑在页面头部添加 noindex 标签,而非临时修改 robots.txt 影响全站抓取。
并不能。robots.txt 只是君子协定,凭自觉遵守的爬虫会跳过指定路径,但恶意的爬虫完全不理会该协议。若要真正保护私密内容,需要配合登录权限、IP 白名单等手段落实物理访问限制,不能仅依赖 robots.txt 作为保护措施。
不是。Google 的爬虫完全支持 Allow 指令,并会在规则匹配时优先考虑该指令;但其他一些搜索引擎并不支持此扩展规则,它们只读取 Disallow 字段。因此在设置涉及 Allow 的规则时,先确认目标搜索引擎是否兼容此语法,必要时可通过其他方式达到目的。
生效速度取决于各搜索引擎爬虫的抓取频率。通常 Googlebot 会每隔一天左右重新读取该文件,而部分爬虫可能需要数天乃至一周时间才会刷新缓存。修改完成后,可以通过站长工具的抓取测试功能主动推送新规则,加速更新过程。
robots.txt 是一份简单但影响深远的配置文件,写错一行可能让整站消失在搜索结果中。建议从基础字段开始,明确每个指令的实际功能,选择合适的模板进行配置,并避开上述常见陷阱。每次修改后务必通过站长工具验证规则是否生效,同时牢记该文件无法替代真正的安全防护措施。这套方案执行到位,能够有效保障网站收录效率,为自然搜索流量打下良好基础。