robots.txt是放在网站根目录下的一个纯文本文件,它的作用是与搜索引擎爬虫沟通,明确告知哪些页面可以被抓取,哪些页面需要绕行。一个设置得当的robots.txt,能让搜索引擎把抓取预算用在最关键的内容上,避免资源浪费在低质量或重复页面上。
robots.txt遵循一套简单明确的语法,文件编码必须为UTF-8,每条指令单独占据一行。掌握了基础规则,就能看懂并写出有效的配置。
核心指令包括以下几种:
一个典型的配置示例:禁止所有爬虫访问/admin/目录,但放行其中的/public/子目录。
User-agent: *
Disallow: /admin/
Allow: /admin/public/
Sitemap: https://www.example.com/sitemap.xml
书写时,路径匹配是前缀匹配原则,例如设置Disallow: /admin,会同时屏蔽/admin/和/admin-news/等以该字符串开头的路径。因此,路径末尾的斜杠是否添加需要仔细斟酌。
根据网站的运营阶段和具体需求,robots.txt的配置策略也不尽相同。以下列举几种常见的应用场景。
适用于尚未上线或处于内部测试阶段的网站,防止未完善的内容被搜索引擎收录。
只需将Disallow的值设为单斜杠,即可阻止所有爬虫访问任何路径:
User-agent: *
Disallow: /
若想只允许Googlebot抓取,而屏蔽其他所有爬虫,需要为Googlebot单独建立规则块,并在下方用通配符阻止其他爬虫。
配置写法:
User-agent: Googlebot
Disallow:
User-agent: *
Disallow: /
需要注意的是,Disallow后留空代表允许抓取,这与不写Disallow行的效果相同。
对于后台管理界面、用户数据目录或临时文件夹,应将其加入禁止列表,避免它们在搜索结果中露脸。
推荐配置:
User-agent: *
Disallow: /admin/
Disallow: /usercenter/
Disallow: /temp/
需要特别提醒:robots.txt只是君子协议,能阻止爬虫,但无法阻止恶意访问者。若涉及真正的隐私数据,必须配合服务器端的访问认证才能确保安全。
一个错误的robots.txt设置,轻则导致规则不生效,重则可能让整个网站从搜索结果中消失。以下问题值得重点关注。
另外,修改robots.txt后建议通过搜索引擎管理后台的“抓取测试”工具验证新规则是否生效,而不是盲目等待。
合理利用robots.txt能有效提升站点的抓取效率,但它的作用边界也需明确。
首先,它适合屏蔽对SEO价值低、占用大量抓取资源的页面,如搜索结果页、标签聚合页或带有复杂参数的URL。其次,它不能替代优质内容建设,也不能解决网站收录质量本身的问题。
对于电商网站上需要被搜索引擎收录的产品页,应通过路径放行,而非过度限制。判断标准是:对用户浏览有帮助的页面,尽量开放;对用户无价值且消耗资源的重复页面,则果断屏蔽。
举例来说,一个新闻站点的分页参数可能生成无数个近乎重复的URL,正确的做法是Disallow屏蔽这些带参数的地址,仅保留干净的列表页路径。
搜索引擎不会因为配置错误而直接惩罚网站,但可能会因为规则导致页面无法被抓取,从而引发收录量骤降、加权失效等间接损失。因此,修改后及时测试并观察收录变化非常重要。
并非强制要求。若网站没有任何需要屏蔽的目录,可以不放置该文件。但放置一个包含Sitemap链接的简单文件,仍有助于爬虫更快发现新内容。
不行。robots.txt只能作用于它所在的域名或子域名的根目录。例如,放在www.example.com下的文件无法控制m.example.com或example.com的规则,每个主机都需要单独配置。
规范配置robots.txt是网站优化中不可忽视的一环。建议现在就检查一遍根目录下文件:确认所有路径以斜杠开头、无多余正则、敏感目录已正确屏蔽,并通过抓取测试工具验证。配置完成后,在搜索引擎管理后台查看抓取统计,持续观察核心页面是否正常收录。记住,简洁、准确的规则比复杂的设置更能帮助搜索引擎理解你的网站。