一个小小的文本文件,拥有巨大的权力
你网站根目录有一个文件——yoursite.com/robots.txt——它告诉每个搜索引擎爬虫什么能访问、什么不能。这个文件从 1994 年就有了,只是纯文本,但写错一行就可能让你的整个网站从 Google 消失。
robots.txt 怎么工作
Googlebot 到达你的网站时,做的第一件事就是检查 /robots.txt。文件包含这样的规则:
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /private/
Sitemap: https://example.com/sitemap.xml
意思是:"所有爬虫可以访问所有内容,除了 /admin/ 和 /private/。另外,sitemap 在这里。"
很简单对吧?问题在于小错误会造成大后果。
反复发生的那些错误
意外屏蔽整个网站。 这比你想的更常见:
User-agent: *
Disallow: /
Disallow 后面那个单独的斜杠屏蔽了所有内容。每一个页面。你的整个网站在 Google 里消失了。这通常发生在开发阶段(为了让测试站不被 Google 收录),结果上线时有人忘了改回来。
屏蔽 CSS 和 JavaScript。 以前有人建议"屏蔽你的 CSS 和 JS 文件"。现在这是很糟糕的建议。Google 需要渲染你的页面才能理解它们。屏蔽这些资源意味着 Google 看到的是一个坏掉的页面。
意外屏蔽重要部分。 Disallow: /blog 本来想屏蔽 /blog-drafts/,结果也把 /blog/ 屏蔽了——你的整个博客。
完全没有 robots.txt。 没有的话,爬虫可以访问所有内容(这可能没问题),但你失去了对爬取预算优化的控制,也无法引导爬虫到你的 sitemap。
robots.txt 能做和不能做的事
| 能做 | 不能做 |
|---|---|
| 阻止爬取某个 URL | 阻止索引(用 noindex 来做) |
| 控制爬取预算分配 | 移除已经在索引中的页面 |
| 屏蔽特定爬虫 | 保证敏感数据的保护 |
| 指向你的 sitemap | 覆盖 noindex 指令 |
关键区别:robots.txt 阻止的是爬取,不是索引。 如果其他网站链接到一个你在 robots.txt 里屏蔽的页面,Google 可能仍然索引那个 URL——只是不知道上面有什么内容。
检查你的 robots.txt
每个网站都应该定期验证:
- 文件存在且可以在
/robots.txt访问 - 重要页面没有被意外屏蔽
- CSS 和 JavaScript 文件没有被屏蔽
- 包含了正确的 sitemap URL
- 没有过于宽泛的
Disallow规则误伤不该屏蔽的页面
Kaitico 在每次审计中检查你的 robots.txt——验证可访问性,解析规则,并标记可能阻止重要内容被搜索引擎发现的指令。