robots.txt 是什么?新手建站常见配置误区

2 阅读

如果你在浏览器中访问 你的域名/robots.txt,会看到一个纯文本文件,里面写了一些规则。这个文件,就是你和搜索引擎爬虫之间的「交通指示牌」——告诉搜索引擎:哪些页面可以抓取,哪些不要碰。

但这个看起来简单的文件,却是建站新手最容易配出问题的 SEO 组件之一。配错了,可能影响搜索引擎抓取,甚至让重要页面长期无法正常展示。


一、robots.txt 控制的是什么?

首先要明确一个最核心的概念:robots.txt 控制的是「抓取」,而不是「索引」。

  • 抓取(Crawl):搜索引擎爬虫访问并读取你的页面内容。
  • 索引(Index):搜索引擎把页面内容存入它的数据库,使其可能出现在搜索结果中。

robots.txt 只能阻止爬虫抓取某个路径。它不能直接阻止页面被索引

如果你用 robots.txt 屏蔽了某个页面,但该页面被其他网站链接引用,搜索引擎仍然可能将它收录进索引——只不过索引中没有该页面的实际内容,搜索结果中可能显示「由于此网站的 robots.txt 文件,无法提供此结果的描述」。

如果你想让某个页面不出现在搜索结果中,正确的方法是使用 noindex meta 标签,而不是 robots.txt。


二、robots.txt 的基本语法

一个典型的 robots.txt 文件长这样:

User-agent: *
Disallow: /admin/
Disallow: /wp-admin/
Allow: /admin/public/
Sitemap: https://www.example.com/sitemap.xml

各字段含义

字段 含义
User-agent: * 这条规则适用于所有搜索引擎爬虫(* 是通配符)
Disallow: /admin/ 禁止抓取 /admin/ 路径及其所有子目录
Allow: /admin/public/ Disallow 规则中放行特定路径
Sitemap: ... 告诉搜索引擎你的 Sitemap 地址

你也可以针对特定爬虫设置规则:

User-agent: Googlebot
Disallow: /private/

User-agent: Baiduspider
Disallow: /

上面第一条规则只对 Google 爬虫禁用 /private/ 路径;第二条规则禁止百度爬虫抓取整个网站。


三、5 个最常见的配置误区

误区 1:用 robots.txt 保护敏感内容

这是最危险的一个误区。robots.txt 是公开文件,任何人都能访问查看。如果你在里面写了:

Disallow: /secret-admin-panel/

这等于向全世界宣告了你的后台管理路径。攻击者会专门盯着 robots.txt 中 Disallow 的路径。

正确做法:敏感后台使用密码保护、IP 白名单、HTTP 基础认证等方式保护,而不是靠 robots.txt 来「隐藏」。

误区 2:全站禁止抓取

User-agent: *
Disallow: /

这条规则会让所有搜索引擎停止抓取你的网站。如果你发现网站忽然在 Google 中搜不到了,先检查 robots.txt 是不是被误设为全站禁止。这种情况常见于从测试环境迁移到正式环境时忘记修改。

误区 3:屏蔽 CSS 和 JS 文件

Disallow: /assets/js/
Disallow: /assets/css/

Google 等搜索引擎会渲染页面,需要获取 CSS 和 JS 来理解页面布局。如果屏蔽了这些资源,搜索引擎可能无法正确评估你的页面质量,从而影响排名。不要屏蔽 CSS 和 JS 文件,除非你有非常具体且理解后果的理由。

误区 4:把 noindex 页面放进 Disallow

如果你想一个页面彻底不被搜索引擎处理,不应该用 Disallow,而应该在页面中添加:

<meta name="robots" content="noindex">

因为如果只用 Disallow,爬虫根本不会读取页面内容,也就看不到 noindex 标签,页面仍然可能存在于索引中。

规则:允许抓取 + noindex = 页面不出现在搜索结果。Disallow = 页面不抓取但可能被索引(通过外链发现)。

误区 5:依赖 robots.txt 阻止搜索引擎收录过期内容

有些用户会定期在 robots.txt 中添加新 Disallow 规则来屏蔽旧页面。这不是正确的做法。搜索引擎一旦索引了页面,仅仅禁止后续抓取不会让已有的索引被删除。

正确做法是:

  • 删除或更新页面本身(返回 404 或 301 跳转)。
  • 或在页面中添加 noindex,等待搜索引擎下次抓取时处理。
  • 或通过 Search Console 的「移除网址」工具提交移除请求。

四、如何测试 robots.txt 是否正确?

Google Search Console 和在线校验工具

Google Search Console 会在站点资源中展示 robots.txt 抓取状态和相关问题。你可以结合以下方式检查:

  1. 查看 Search Console 中的 robots.txt 状态报告,确认 Google 能读取该文件。
  2. 使用 URL 检查工具查看某个具体页面是否允许抓取、是否可被索引。
  3. 使用在线 robots.txt validator 或本地工具测试规则匹配,避免 Disallow 写错路径。

直接在浏览器中查看

访问 你的域名/robots.txt 即可看到当前生效的 robots.txt 内容。


五、Halo 站点的 robots.txt 配置

Halo 站点通常建议通过官方 Sitemap 插件处理 robots.txt:该插件支持 robots.txt 路由和规则编辑。如果你没有使用这个插件,也可以在 Nginx 等反向代理层提供 robots.txt,具体取决于你的部署方式。

建议的默认配置:

User-agent: *
Disallow: /apis/
Allow: /
Sitemap: https://你的域名/sitemap.xml
  • /apis/ 是 Halo 的 API 路径,无需被搜索引擎抓取。
  • 后台入口不要依赖 robots.txt 保护。robots.txt 是公开文件,真正的后台安全应依靠登录认证、强密码、访问控制和及时升级。
  • 其他所有公开内容通过 Allow: / 放行。

相关教程:Halo 如何接入 Google Search Console · Halo 如何接入 Bing Webmaster Tools


robots.txt 看起来简单,但用错了后果不小。记住最核心的一条:它管的是「能不能抓」,不是「能不能被搜到」——想让页面不出现在搜索结果里,应该在页面里加 noindex 标签,而不是用 robots.txt 去屏蔽。

另外,robots.txt 是任何人都能访问的公开文件,别把后台路径写在里面当作安全措施。新站上线前花 30 秒访问一下 你的域名/robots.txt,确认没有写 Disallow: /


robots.txt 配好了,你基本完成了搜索引擎的基础配置。不过如果你将来要改 URL 结构或换域名,重定向那一步才是真正的考验。


评论