先讲个真实翻车案例。有个朋友做了个新站,内容写得挺认真,可发布一个多月,site一查,收录为零。他到处问人,最后我让他把robots.txt发我看看——好家伙,里面写着Disallow: /,把整站都给搜索引擎拒之门外了。他说这是从网上抄的模板,想屏蔽后台目录,结果抄错了地方,把全站都屏蔽了。robots.txt这东西吧,看着就几行字,写错了是真要命,今天就把它的正确写法给你讲清楚。

robots.txt到底是个啥
robots.txt是放在网站根目录的一个纯文本文件,作用就是跟搜索引擎的蜘蛛(爬虫)约法三章:哪些目录你可以抓,哪些你别碰。蜘蛛来你家之前,会先看这个文件,按你说的规矩来。注意,它是君子协定,只约束守规矩的搜索引擎蜘蛛,恶意爬虫根本不看它,所以别指望robots.txt防采集,那个之前讲过了,它真正的用途是管理搜索引擎的抓取范围。
基本语法,就这么几行
robots.txt的核心语法很简单,就两个指令:User-agent指定给谁看的,Disallow指定禁止抓哪些。比如:User-agent: * 表示对所有蜘蛛生效;Disallow: /wp-admin/ 表示禁止抓后台目录。想放行某个目录,allow一下或者干脆不写Disallow就行。一个空文件或者只有User-agent: *没有Disallow的文件,等于告诉蜘蛛随便抓,这是最安全的状态。
最坑的写法,千万要避开
第一坑就是开头那个案例:Disallow: /,这是禁止抓取全站,收录直接清零,相当于把大门焊死,搜索引擎进都进不来。想屏蔽某个目录,要写具体路径,比如Disallow: /admin/,别一竿子打翻一船人。第二坑是屏蔽了CSS、JS这类文件,现在搜索引擎要正常评估页面,得抓取这些资源文件才能正确渲染,你把它们屏蔽了,页面在搜索引擎眼里可能就是残缺的,影响收录和排名。第三坑是改完robots不检查,语法写错了或者路径写错了都不知道。
正确的打开姿势
一般个人站、企业站,robots.txt保持简单就好:允许所有蜘蛛抓取,再屏蔽几个不想被收录的目录,比如后台、用户上传的隐私文件、临时目录这些。写完一定要验证:浏览器直接访问你的域名/robots.txt,看内容对不对;再用搜索引擎站长平台的抓取测试工具模拟蜘蛛,看能不能正常抓取首页和文章页。改完robots,蜘蛛那边生效也有延迟,别上午改完下午就急着看效果。
顺带说说sitemap和它的配合
robots.txt还有个隐藏功能:可以在这里声明sitemap的位置,写上Sitemap: 你的域名/sitemap.xml,等于给蜘蛛指了条明路,让它知道去哪找你的内容清单。这跟之前讲的sitemap提交是配套的,双管齐下,蜘蛛抓取效率更高,新文章的收录周期也会缩短。很多新手只知道提交sitemap,不知道还能在robots里也声明一份,其实两个都写上最稳妥。
写个标准模板给你参考
懒得琢磨的话,直接用这个模板起步:User-agent: *,下面一行Disallow: /wp-admin/,再一行Disallow: /wp-includes/,然后空一行写上Sitemap: https://你的域名/sitemap.xml。这个配置的意思是:允许蜘蛛抓取全站,只屏蔽WordPress后台和系统目录,同时告诉蜘蛛sitemap在哪。大多数WordPress站用这个就够了,别再加一堆花里胡哨的规则,规则越多越容易出岔子。
如果你的站不是WordPress,就把Disallow那两行换成你自己想屏蔽的目录。写的时候记得每行结尾别留多余空格,路径区分大小写,这些细节出错虽然不会报错,但会导致规则不生效,白写一场。
最后,什么时候才需要改它
说句实在话,大部分网站根本不用折腾robots.txt:你的网站内容都想被收录,那就别写Disallow,或者干脆不建这个文件,蜘蛛默认是允许全抓的。需要动robots的情况只有几种:有不想被收录的敏感目录、有会消耗大量抓取资源的动态页面想限制、或者网站还没做好不想被收录。想清楚自己属于哪种再动手,没事别乱改,改之前先备份原文件,改完验证一遍,这就够了。robots.txt不是越复杂越好,简单不出错,才是王道。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!