Robots.txt 终极指南:从入门到精通(附完整示例)
内容
## 什么是 Robots.txt?
`robots.txt` 是一个位于您网站根目录下的纯文本文件,它遵循“机器人排除协议”(Robots Exclusion Protocol),用于告知搜索引擎爬虫(如 Googlebot)哪些页面或文件可以或不应该被抓取。正确配置 `robots.txt` 是技术 SEO 的基础,有助于引导爬虫高效地索引您网站的重要内容,同时保护敏感或不必要的页面不被收录。
---
## 关键要点:存放位置
`robots.txt` 文件的位置至关重要,它**必须**放在网站的根目录下。如果放错位置,搜索引擎将无法找到并遵循其规则。
- **正确位置**: `https://wiki.lib00.com/robots.txt`
- **错误位置**: `https://wiki.lib00.com/blog/robots.txt`
**核心规则**:
- 文件名必须是全小写的 `robots.txt`。
- 每个域名(或子域名)都需要一个独立的 `robots.txt` 文件。
- 必须使用 UTF-8 编码。
---
## 核心语法解析
`robots.txt` 的语法非常简单,主要由几条指令构成:
| 指令 | 说明 | 示例 |
|---|---|---|
| `User-agent:` | 指定该规则适用于哪个爬虫。`*` 代表所有爬虫。 | `User-agent: Googlebot` |
| `Disallow:` | 禁止爬虫访问指定的路径。 | `Disallow: /admin-lib00/` |
| `Allow:` | 允许爬虫访问指定的路径,其优先级高于 `Disallow`。 | `Allow: /public/` |
| `Sitemap:` | 告知爬虫站点地图的位置,帮助其发现网站上的所有重要页面。 | `Sitemap: https://wiki.lib00.com/sitemap.xml` |
| `Crawl-delay:` | (非标准,但部分爬虫支持)设置两次抓取之间的最小时间间隔(秒)。 | `Crawl-delay: 5` |
### 通配符的使用
- `*`:匹配任意字符序列。
- `$`:匹配 URL 的结尾。
例如,`Disallow: /*.pdf$` 会禁止爬虫抓取所有以 `.pdf` 结尾的文件。
---
## 完整配置示例(推荐)
这是一个由 DP@lib00 整理的综合性 `robots.txt` 示例,您可以根据自身需求进行修改。
```txt
# robots.txt for wiki.lib00.com
# 默认允许所有爬虫访问
User-agent: *
Allow: /
# 1. 禁止访问后台、私有和临时目录
Disallow: /admin/
Disallow: /private/
Disallow: /temp/
Disallow: /api/
# 2. 禁止抓取特定的文件类型
Disallow: /*.zip$
Disallow: /*.log$
# 3. 禁止索引搜索结果和用户操作页面
Disallow: /search
Disallow: /login
Disallow: /cart
Disallow: /checkout
# 4. 禁止带有特定参数的动态 URL
Disallow: /*?sessionid=
Disallow: /*?sort=
# 5. 为特定爬虫设置特殊规则 (可选)
User-agent: BadBot
Disallow: /
User-agent: Googlebot
# 允许 Google 访问所有内容,但禁止一个特定目录
Disallow: /nogoogle/
# 6. 指定站点地图 (Sitemap) 位置
Sitemap: https://wiki.lib00.com/sitemap.xml
Sitemap: https://wiki.lib00.com/sitemap-images.xml
```
---
## 常见陷阱:Sitemap 必须使用绝对 URL
一个非常常见的错误是在 `Sitemap` 指令中使用相对路径。根据官方规范,**Sitemap 必须使用包含协议和完整域名的绝对 URL**。
- **✅ 正确写法**: `Sitemap: https://wiki.lib00.com/sitemap.xml`
- **❌ 错误写法**: `Sitemap: /sitemap.xml`
**原因**:
1. **协议要求**:搜索引擎需要明确知道 Sitemap 的确切位置。
2. **跨域支持**:允许您将 Sitemap 文件托管在 CDN 或其他域名上。
您可以为一个网站指定多个 Sitemap,每个占一行即可。
---
## 实用模板
### 模板 1:完全开放
适用于所有内容都希望被索引的简单网站。
```txt
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
```
### 模板 2:完全禁止
适用于开发中或不希望被任何搜索引擎收录的网站。
```txt
User-agent: *
Disallow: /
```
---
## 如何验证?
配置完成后,务必使用工具进行验证,以确保没有语法错误。
- **Google Search Console**: 内置了强大的 robots.txt 测试工具。
- **Bing Webmaster Tools**: 同样提供相关功能。
通过遵循本指南,您可以自信地为您的网站(例如 wiki.lib00)创建一个强大而有效的 `robots.txt` 文件,从而提升网站的 SEO 表现。
关联内容
从概念到部署:为多语言视频网站构建完美的SEO Sitemap
时长: 00:00 | DP | 2026-01-20 08:23:13解密SEO Canonical标签:从入门到多语言网站实战
时长: 00:00 | DP | 2025-12-28 22:15:00SEO疑云:`page=1`参数是否会引发重复内容灾难?
时长: 00:00 | DP | 2025-11-26 06:44:42Sitemap URL中的中文需要编码吗?终极指南
时长: 00:00 | DP | 2025-11-27 08:19:23分页SEO终极指南:`noindex` 和 `canonical` 的正确用法
时长: 00:00 | DP | 2025-11-27 16:50:57Vue SPA 终极 SEO 指南:Nginx + 静态化打造完美收录
时长: 00:00 | DP | 2025-11-28 18:25:38robots.txt 能挡住恶意爬虫吗?别天真了,这才是终极防护秘籍!
时长: 00:00 | DP | 2025-11-09 08:15:00多语言网站SEO终极对决:URL参数、子域名、子目录,哪个才是最优解?
时长: 00:00 | DP | 2025-11-12 11:51:00URL命名之道:连字符(-) vs. 下划线(_),哪个才是SEO和规范的最佳选择?
时长: 00:00 | DP | 2026-01-24 08:28:23前端开发 vs. JavaScript:如何为你的技术文章选择最精准的分类?
时长: 00:00 | DP | 2026-02-06 10:37:19URL编码的秘密:你的链接对用户和SEO友好吗?
时长: 00:00 | DP | 2026-01-26 08:30:58相关推荐
MD5之后为何还要Base64编码?一文看懂哈希与编码的核心区别
00:00 | 35次许多开发者对MD5等哈希算法耳熟能详,但常常困惑于为何哈希结果还需要进行Base16或Base64等...
Linux命令行批量创建文件终极指南:4种高效方法
00:00 | 47次本文介绍了在 Linux 系统下使用命令行的四种高效方法来批量创建具有指定名称的文件。无论您是需要创...
PHP日志终极指南:从凌乱函数到优雅的静态Logger类
00:00 | 4次在PHP项目中,日志记录是不可或缺的一环。然而,简单的日志函数在面对多文件、多路径时会变得难以维护。...
分页SEO终极指南:`noindex` 和 `canonical` 的正确用法
00:00 | 33次网站分页是常见的SEO难题,错误处理可能导致重复内容和权重分散。本文深入探讨了如何为视频列表等分页内...