网站首页 >> 资讯 >> 正文
标题

别再对robots.txt瞎动手脚了——爬虫协议的正确使用姿势和五个最常见的自毁操作

1℃  
内容

每次看到有人在robots.txt里写满了一长串自己也不太确定到底在拦什么的Disallow规则,我都有一种想冲进屏幕把键盘抢过来的冲动。robots.txt的配置错误是SEO世界里最隐蔽也最致命的灾难之一——它不像外链被惩罚那样你会收到站长后台的通知,也不像内容质量问题那样你会看到排名下滑。robots配置错误的唯一症状是:你的内容明明写得很好,但搜索引擎从始至终就没有发现过它。

别再对robots.txt瞎动手脚了——爬虫协议的正确使用姿势和五个最常见的自毁操作

最常见的第一个自毁操作是用Disallow: /拦截了所有爬虫的根目录访问,然后在新站点上线测试的时候忘了删掉这条规则。这个错误比你想的更普遍——线上跑了好几个月的站,搜索流量始终为零,排查到最后一查robots才发现上线时的测试规则没有被撤销。第二个常见的自毁操作是对所有搜索引擎一视同仁地用相同规则。但实际上不同搜索引擎的爬虫行为完全不同——某些搜索引擎的爬虫会遵守Crawl-delay指令,某些直接忽略。如果你在规则中误敲了一条对所有user-agent生效的Disallow目录规则,原本只想拦的可能是广告爬虫,结果把主流搜索引擎的主爬虫也一起拦掉了。

第三个坑是Disallow路径末尾的通配符误用。robots的常见实现中路径匹配规则是前缀匹配,Disallow: /admin 会同时拦截 /admin、/administration、/admin-helper 三个路径。如果你只想拦截后台管理页面,正确写法是 Disallow: /admin/ 或 Disallow: /admin$。第四个坑是robots文件中引用的Sitemap路径已经失效但没有及时更新,搜索引擎的爬虫在尝试抓取sitemap时反复失败,长期来看会影响域名级别的信誉记录。第五个坑是生产环境中同时使用了noindex元标签和robots的Disallow——搜索引擎的爬虫被Disallow阻止访问页面所以根本看不到页面内的noindex指令,导致页面既没有被禁止索引也因为没有内容抓取而在索引处理中处于死锁状态。

robots协议的使用原则非常简单:只拦那些你百分之百确定不希望被搜索引擎处理的路径(如后台、管理面板、API端点和临时测试目录),其他一切交给页面级别的noindex元标签来精细控制。VP导航(vpis.cn)在收录审核中如果发现目标站点存在robots配置错误也会要求站长修正后才正式收录。