首页建站教程站长工具网址导航免费资源

robots.txt配置完整指南与生成器

728×90 教程页顶部广告位

robots.txt是网站根目录下的一个文本文件,用于告诉搜索引擎蜘蛛哪些页面可以抓取,哪些不可以。这篇教程教你robots.txt的语法、配置方法、常见示例和最佳实践。

一、robots.txt概述

robots.txt(也叫爬虫协议、机器人协议)是一个纯文本文件,放在网站根目录下,用于告诉搜索引擎蜘蛛(如Googlebot、百度蜘蛛)哪些页面或目录可以抓取,哪些不应该抓取。

💡 robots.txt的作用

控制抓取范围:告诉搜索引擎不要抓取某些页面(如后台、登录页、重复内容)
节省抓取配额:搜索引擎对每个网站有抓取配额,屏蔽不重要的页面可以让重要页面更快被抓取
保护隐私:防止敏感页面被搜索引擎收录和公开
避免重复内容:屏蔽搜索结果页、分页、打印版等重复内容,避免影响SEO
声明sitemap:在robots.txt中声明sitemap位置,帮助搜索引擎发现

⚠️ 重要提醒

• robots.txt是"建议"不是"强制",合规的搜索引擎蜘蛛会遵守,但恶意蜘蛛可能不理会
• robots.txt不能真正隐藏页面,即使屏蔽了,页面仍可能通过外链被收录
• 要真正防止页面被收录,应该在页面中添加noindex标签,而不是只靠robots.txt屏蔽
• 不要用robots.txt屏蔽整个网站(除非网站还在建设中)
• robots.txt必须放在网站根目录,文件名必须是小写的robots.txt

二、robots.txt语法

2.1 基本语法

指令说明示例
User-agent指定搜索引擎蜘蛛,*表示所有蜘蛛User-agent: *
Disallow禁止抓取的路径,/表示整个网站Disallow: /admin/
Allow允许抓取的路径(覆盖Disallow)Allow: /admin/login.php
Sitemap声明sitemap位置(完整URL)Sitemap: https://example.com/sitemap.xml
Crawl-delay抓取延迟(秒),部分蜘蛛支持Crawl-delay: 10
#注释,#后面的内容会被忽略# 这是注释

2.2 路径匹配规则

  • /:表示网站根目录,Disallow: / 表示屏蔽整个网站
  • /目录名/:匹配该目录及其所有子目录,如 Disallow: /admin/ 屏蔽admin目录下所有内容
  • /文件名:匹配具体文件,如 Disallow: /login.php 屏蔽login.php
  • *:通配符,匹配任意字符,如 Disallow: /*? 屏蔽所有带?的URL(动态URL)
  • $:匹配URL结尾,如 Disallow: /*.pdf$ 屏蔽所有pdf文件
  • 路径区分大小写(部分搜索引擎不区分,但建议统一小写)
  • 路径必须以/开头(相对网站根目录)

2.3 指定特定搜索引擎

可以针对不同的搜索引擎设置不同的规则:

User-agent: Googlebot
Disallow: /private/

User-agent: Baiduspider
Disallow: /private/
Disallow: /test/

User-agent: *
Disallow: /admin/

常见搜索引擎蜘蛛名称:

  • Google:Googlebot
  • 百度:Baiduspider
  • Bing:bingbot
  • 360:360Spider
  • 搜狗:Sogou spider
  • 神马:YisouSpider
  • Yahoo:Slurp(现在用bingbot)

三、常见配置示例

3.1 最简单的robots.txt(允许全部抓取)

User-agent: *
Disallow:
Sitemap: https://www.example.com/sitemap.xml

Disallow后面留空表示不屏蔽任何页面,允许抓取所有内容。这是最常用的配置,适合大多数网站。

3.2 WordPress推荐配置

# 新手站长不迷路 robots.txt
User-agent: *
# 屏蔽后台
Disallow: /wp-admin/
# 允许后台的admin-ajax.php(插件需要)
Allow: /wp-admin/admin-ajax.php
# 屏蔽登录页
Disallow: /wp-login.php
# 屏蔽注册页
Disallow: /wp-register.php
# 屏蔽内容目录(防止直接访问PHP文件)
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/
# 屏蔽包含?的动态URL(如搜索页、分页参数)
Disallow: /*?
# 屏蔽评论feed
Disallow: /comments/feed/
# 屏蔽作者归档(防止重复内容)
Disallow: /author/
# 屏蔽版本号参数
Disallow: /*?ver=

Sitemap: https://www.example.com/sitemap_index.xml
⚠️ 注意

WordPress 5.3+已经内置了虚拟的robots.txt,会自动生成基本规则。如果你在根目录放置了真实的robots.txt文件,会覆盖内置的。上面的配置是参考,根据自己的网站情况调整。不要盲目复制,确保不会屏蔽重要页面。

3.3 屏蔽特定文件类型

User-agent: *
# 屏蔽所有pdf文件
Disallow: /*.pdf$
# 屏蔽所有zip压缩包
Disallow: /*.zip$
# 屏蔽所有图片(不推荐,会影响图片搜索)
# Disallow: /*.jpg$
# Disallow: /*.png$

3.4 屏蔽重复内容页面

User-agent: *
# 屏蔽搜索结果页
Disallow: /search/
Disallow: /*?s=
# 屏蔽标签页(如果标签内容和分类重复)
# Disallow: /tag/
# 屏蔽日期归档(防止重复内容)
Disallow: /2024/
Disallow: /2025/
# 屏蔽分页(第2页及以后,防止重复内容)
Disallow: /page/
# 屏蔽评论分页
Disallow: /comment-page-

3.5 网站建设中(屏蔽整个网站)

User-agent: *
Disallow: /
# 网站建设中,暂时不希望搜索引擎收录
# 上线后记得删除或修改这个文件
🚨 重要提醒

网站上线后一定要记得把 Disallow: / 改掉,否则搜索引擎不会收录你的网站!很多新手上线后忘记改,导致网站几个月都没有收录。

四、哪些页面要屏蔽

建议屏蔽的页面类型
  1. 后台管理页面:/admin/、/wp-admin/、/manage/等,防止后台路径暴露
  2. 登录/注册页面:/login.php、/wp-login.php、/register.php等,不需要被收录
  3. 用户个人中心:/user/、/member/、/account/等,用户私有页面
  4. 搜索结果页:/search/、/?s=xxx等,重复内容,不需要收录
  5. 分页页面:/page/2/、/comment-page-2/等,第2页及以后可能重复内容
  6. 标签/日期归档:如果和分类内容重复,可以屏蔽标签或日期归档
  7. 打印版/移动版:/print/、/mobile/等,重复内容
  8. 临时/测试页面:/test/、/tmp/、/demo/等,不需要收录
  9. 敏感文件:配置文件、备份文件、日志文件等(如 .bak、.sql、.log)
  10. 插件/主题目录:/wp-content/plugins/、/wp-content/themes/,防止直接访问PHP文件
  11. Feed页面:/feed/、/comments/feed/,Feed是给订阅阅读器的,不需要收录
⚠️ 不要屏蔽的页面

• 首页、文章页、页面(核心内容,必须收录)
• 分类页、标签页(如果内容不重复,有助于收录)
• 图片、CSS、JS等静态资源(屏蔽会影响页面渲染和图片搜索)
• sitemap.xml(搜索引擎需要抓取)
• robots.txt本身
• 任何你希望被搜索引擎收录的页面

五、常见错误与最佳实践

5.1 常见错误

错误说明正确做法
屏蔽整个网站Disallow: / 导致网站不被收录上线后删除或修改,只屏蔽特定页面
路径错误Disallow: admin/ 少了开头的/路径必须以/开头:Disallow: /admin/
用robots.txt隐藏敏感内容robots.txt是公开的,所有人都能看到你屏蔽了什么敏感内容应该用密码保护或noindex,不要只靠robots.txt
屏蔽CSS/JS/图片导致搜索引擎无法正确渲染页面,影响排名不要屏蔽静态资源目录
文件名错误Robots.txt、ROBOTS.TXT、robots.txt.txt等必须是小写的robots.txt,放在根目录
编码错误UTF-8 BOM、中文注释乱码使用UTF-8无BOM编码,注释用英文或确保编码正确
规则冲突Allow和Disallow顺序错误导致规则不生效Allow应该放在Disallow后面,覆盖更具体的路径
以为robots.txt能防止收录屏蔽了但页面仍可能通过外链被收录要防止收录,在页面中添加noindex标签

5.2 最佳实践

robots.txt最佳实践10条
  1. 简单为主:robots.txt越简单越好,只屏蔽真正需要屏蔽的页面,不要过度配置
  2. 测试验证:配置后用搜索引擎站长平台的robots.txt测试工具验证,确保没有误屏蔽重要页面
  3. 声明sitemap:在robots.txt末尾添加Sitemap声明,帮助搜索引擎发现sitemap
  4. 放在根目录:robots.txt必须放在网站根目录,通过 https://你的域名/robots.txt 能访问
  5. 定期检查:定期检查robots.txt是否正确,网站改版或添加新功能时更新规则
  6. 不要屏蔽全站:除非网站还在建设中,否则不要用 Disallow: / 屏蔽整个网站
  7. 不要屏蔽静态资源:不要屏蔽CSS、JS、图片等静态资源,影响搜索引擎渲染和图片搜索
  8. 用noindex代替屏蔽:如果希望页面不被收录,用noindex标签比robots.txt屏蔽更可靠
  9. 注释说明:用注释说明每条规则的目的,方便以后维护和理解
  10. 使用生成器:新手可以用在线robots.txt生成器生成,然后根据需要修改

六、验证与FAQ

6.1 验证robots.txt

  • 访问检查:在浏览器中访问 https://你的域名/robots.txt,确认能正常显示内容
  • Google测试:Google Search Console → 设置 → robots.txt测试工具,输入URL测试是否被屏蔽
  • 百度测试:百度搜索资源平台 → 数据监控 → robots.txt,查看百度抓取的robots.txt内容和状态
  • 在线工具:用在线robots.txt测试工具(如technicalseo.com/tools/robots-txt-tester/)测试规则

6.2 常见问题

Q:robots.txt屏蔽了页面,为什么还能在搜索结果中看到?
A:robots.txt只是告诉蜘蛛不要抓取,但如果页面之前已经被收录,或者有其他网站链接到这个页面,搜索引擎可能仍然会显示URL(但不会显示页面内容)。要彻底从搜索结果中移除,需要:①在页面中添加noindex标签;②在Google Search Console中使用"移除"工具;③等待搜索引擎更新。

Q:WordPress需要手动创建robots.txt吗?
A:WordPress 5.3+会自动生成虚拟的robots.txt,不需要手动创建。但如果你在根目录放置了真实的robots.txt文件,会覆盖虚拟的。建议新手使用WordPress默认的虚拟robots.txt,或者用SEO插件(Rank Math/Yoast)编辑robots.txt。

Q:robots.txt中可以写中文注释吗?
A:可以,但必须确保文件是UTF-8编码,否则中文可能乱码。建议注释用英文,避免编码问题。如果用中文,确保编辑器保存为UTF-8无BOM格式。

Q:修改robots.txt后多久生效?
A:修改后立即生效(蜘蛛下次抓取时会读取最新的robots.txt)。但搜索引擎重新抓取和更新索引需要时间,可能几天到几周。可以在站长平台手动请求重新抓取robots.txt。

Q:多个域名可以用同一个robots.txt吗?
A:每个域名需要自己的robots.txt文件,放在各自的根目录下。因为robots.txt是按域名访问的,https://a.com/robots.txt 和 https://b.com/robots.txt 是不同的文件。

Q:robots.txt和sitemap有什么关系?
A:robots.txt告诉搜索引擎哪些页面不要抓取,sitemap告诉搜索引擎有哪些页面可以抓取。两者配合使用:sitemap列出希望收录的页面,robots.txt屏蔽不希望收录的页面。建议在robots.txt中声明sitemap位置,帮助搜索引擎发现sitemap。

这篇教程对你有帮助吗?

728×90 教程页底部广告位