robots.txt 怎么写:常见规则、误区与检查方法(2026)
robots.txt 管的是抓取,不是直接决定是否收录。本文围绕企业站常见目录、参数页和 WordPress 场景,整理 robots.txt 的写法、误区与检查方法。
robots.txt 管的是抓取,不是直接决定是否收录。本文围绕企业站常见目录、参数页和 WordPress 场景,整理 robots.txt 的写法、误区与检查方法。
`robots.txt` 不是一个“屏蔽搜索结果”的开关,它的核心作用是告诉爬虫哪些路径不要抓,哪些路径可以抓。很多网站把它写错之后,最常见的问题不是更安全,而是把本来该抓取的内容挡住了,或者误以为“禁止抓取”等于“不会收录”。
如果你把 `robots.txt` 当成抓取管理文件来理解,很多问题就会简单得多:它影响的是抓取权限,不是索引结果本身,更不是网页安全方案。
`robots.txt` 是放在网站根目录下的纯文本文件,常见地址是:
https://example.com/robots.txt
搜索引擎爬虫访问网站时,通常会先读取这个文件,判断哪些路径允许抓取、哪些路径不建议抓取。它基于 robots exclusion protocol 工作,主要用于抓取层面的管理。
它更适合处理这些场景:
它不适合解决这些问题:
如果页面已经被发现过,仅仅 `Disallow` 并不保证它一定不会出现在搜索结果里。真正涉及索引控制,通常要结合 `noindex` 或状态码处理,而不是只靠 `robots.txt`。
指定规则针对哪个爬虫。写 `*` 代表通用规则。
表示不希望抓取的路径。
在更细的路径层级上允许抓取,常见于你禁止了大目录,但想放开其中某个资源时使用。
告诉爬虫站点地图在哪里。
一个很基础的例子:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap_index.xml
这类写法在 WordPress 站点里很常见。
尤其是现在很多页面依赖前端资源渲染,如果把关键 CSS、JS 路径误拦住,搜索引擎看到的页面就可能不完整。这类问题通常会直接影响抓取理解和页面评估。
WordPress 常见做法是限制 `/wp-admin/`,但放开 `admin-ajax.php`。这类路径本来就不需要作为公开内容被抓取。
如果站内搜索会生成大量重复结果页,这类 URL 往往不值得反复抓取。它们更适合从抓取层面做限制,再结合索引策略处理。
很多电商或目录型网站会因为参数组合产生大量重复 URL。这个时候 `robots.txt` 能帮你减少无效抓取,但是否要完全拦截,仍然要看页面是否有独立价值。
如果这些目录只是内部使用,应该从上线流程和访问权限上先管好,再决定是否额外写入 `robots.txt`。
这是最常见的误解。`Disallow` 是“不让抓”,不是“保证不收录”。如果页面已经被其他地方发现,仍可能以 URL 形式出现在结果中。
有的网站一上来就把整个 `/blog/`、`/product/` 或 `/wp-content/` 都挡掉,结果搜索引擎连核心内容和资源都抓不到。
比如你本来只想拦某个测试路径,却因为模式写得太宽,把一批正常页面也带进去了。规则越少越清楚越好。
robots 规则一旦写错,影响通常是整片目录,不是单页小问题。上线前最好至少做一次路径核对。
`robots.txt` 本身是公开的,别人完全可以直接访问。真正敏感的内容不该靠它保护。
这不一定致命,但如果站点地图已经稳定存在,顺手写进去通常更利于爬虫发现结构。
如果一边在 `robots.txt` 里阻止抓取,一边又希望搜索引擎读取页面里的 `noindex`,就会出现逻辑冲突。因为页面都抓不到,很多页面级信号也就无法读取。
如果你用的是 WordPress,很多基础规则可以通过 SEO 插件或服务器配置辅助生成,但不要因为“插件会自动生成”就完全不检查。自动生成的规则只覆盖基础情况,不一定适合你的目录结构。
建议至少确认这几件事:
如果站点部署在 Cloudways 这类环境里,也一样要从实际 URL 结构出发看规则,而不是直接套模板。
一个简单的检查顺序是:
如果网站最近改过模板、迁移过服务器、换过缓存或 CDN,这一步尤其不能省。很多 `robots.txt` 问题不是写在 CMS 里,而是被部署流程或缓存层改掉了。
一句话区分:
两者不能混用。页面是否该保留在索引里,往往要配合robots meta、canonical、状态码和内链策略一起判断。
把 `robots.txt` 理解成网站给爬虫的一份抓取路线说明,比把它理解成“封禁工具”更准确。它的价值不在于写得多复杂,而在于边界清楚:该抓的别挡,不该浪费资源的地方也别放任乱抓。
对于大多数企业站来说,`robots.txt` 只要把基础规则写对,再配合索引控制和页面结构治理,已经足够。真正麻烦的从来不是语法,而是没分清“抓取控制”和“索引控制”。