网站运维收到法务提醒:搜索引擎把后台路径都收录了。去网站根目录看一眼,多半是没有放robots.txt。robots 协议也叫爬虫协议,本质是站长写给爬虫的声明,放在网站根目录下,告诉爬虫哪些内容允许抓取、哪些不允许。
文件长什么样
User-agent: * Disallow: /admin/ Disallow: /tmp/ Allow: /public/ User-agent: Baiduspider Disallow: /
User-agent指定对谁生效,星号代表所有爬虫;Disallow是禁止抓取的路径前缀;Allow用来在禁目录里开例外;空行分隔不同的规则组,文件末尾还可以加Sitemap字段指向站点地图。
robots 协议是君子约定不是防火墙
关键认知:robots 协议没有任何技术强制力。守规矩的爬虫会先读这个文件再决定抓什么,恶意爬虫根本不理会。所以后台路径、含密钥的接口不能只靠Disallow保护——写进去反而等于把路径告诉了别人,正确做法是加登录鉴权。
另外注意,Disallow只是让搜索引擎不抓,不代表不收录。页面被外部链接引用时照样可能出现在结果里,想彻底不索引得配合noindex这类页面标记。
写错影响很大
robots 协议的语法不复杂,但上线前用搜索引擎站长平台的robots检测工具验证一下很值得。有人把Disallow: /写错了位置,整站从搜索结果里消失,排查半天才发现是这几十个字节的问题。改完搜索引擎重新抓取有延迟,别急着重提交。