所有托管服务节省 15%

测试技能,享折扣

使用代码: Skills 开始使用
China
管理

禁用 robots.txt 中的索引:控制搜索引擎爬虫的完整指南

管理搜索引擎如何爬取和索引您的网站是技术SEO的一个基本方面。您可以使用的最强大的工具之一——也是经常被误解的——是robots.txt文件。无论您是想阻止敏感目录、防止重复内容出现在搜索结果中,还是限制对暂存环境的访问,robots.txt都能让您对爬虫行为进行精确、细粒度的控制。

在这份综合指南中,我们将引导您了解使用robots.txt禁用索引所需的一切知识:从访问和创建文件,到编写正确的语法、测试您的规则,以及避免常见的陷阱。

什么是 robots.txt 以及为什么它很重要?

一个 robots.txt 文件 是放在你网站根目录中的纯文本文件。它遵循 Robots Exclusion Protocol (REP) — 一个标准,用于指示搜索引擎爬虫(也称为机器人或蜘蛛)允许或禁止访问哪些页面、目录或文件。

当搜索引擎(如 Googlebot)访问你的网站时,它做的第一件事就是检查位于 https://yourwebsite.com/robots.txt 的 robots.txt 文件。如果该文件存在,机器人会读取指令并相应地调整其爬取行为。

正确的 robots.txt 配置为什么对 SEO 很重要

  • 爬取预算优化: 搜索引擎为每个网站分配有限的爬取预算。阻止无关页面(管理面板、登录页面、内部搜索结果)确保爬虫将时间花在真正重要的内容上。
  • 防止重复内容: 阻止基于参数的 URL 或会话 ID 可防止搜索引擎索引几乎相同的页面。
  • 保护敏感内容: 管理区域、暂存环境和私有文件不应出现在搜索结果中。
  • 改进网站性能: 减少不必要的爬取请求可以降低服务器负载。

> 重要区别: robots.txt *阻止* 爬虫访问页面 — 它不能保证它们不会被索引。要完全防止页面出现在搜索结果中,你还应该使用 noindex 元标签或 HTTP 标头。robots.txt 和 noindex 一起效果最好。

如果你在 VPS Hosting 计划或 Dedicated Server 上托管你的网站,你可以通过 SSH 或你喜欢的文件管理器直接访问根目录来管理 robots.txt 文件 — 让你完全控制网站的爬取行为。

第1步:访问或创建您的robots.txt文件

robots.txt文件必须位于您网站的根目录中——而不是在子目录中。您可以通过访问以下地址来验证是否已存在:

https://yourwebsite.com/robots.txt

如果文件存在,您将看到其内容以纯文本形式显示。如果您收到404错误,则需要创建一个。

通过不同方法访问robots.txt

通过SSH(Linux服务器):

nano /var/www/html/robots.txt

通过FTP/SFTP客户端(例如FileZilla):

导航到您网站的根目录(通常是public_htmlwww)并打开或创建robots.txt

通过cPanel文件管理器:

如果您的托管计划包含控制面板,请登录cPanel,打开文件管理器,导航到public_html,并在浏览器中直接创建或编辑robots.txt。使用带有cPanel的VPS的用户可以通过直观的cPanel界面轻松管理此文件。

通过本地文本编辑器:

创建一个新文件,将其命名为robots.txt(小写,无空格),编写您的指令,并将其上传到您的根目录。

> 关键规则:文件必须命名为robots.txt——全部小写——并放置在您域名的根目录,而不是任何子目录中。

第2步:理解robots.txt语法

robots.txt文件使用直观的指令式语法。每个规则块至少包含两行:

核心指令

指令用途
User-agent指定规则适用于哪个爬虫
Disallow指定爬虫不能访问的路径
Allow明确允许访问某个路径(覆盖Disallow)
Sitemap指向爬虫您的XML网站地图位置
Crawl-delay建议请求之间的延迟(Googlebot不支持)

User-agent值

    * — 将规则应用于所有爬虫
    Googlebot — 仅应用于Google的主爬虫
    Bingbot — 仅应用于Microsoft Bing的爬虫
    GPTBot — 应用于OpenAI的爬虫
    CCBot — 应用于Common Crawl的爬虫
    
    基本语法结构
    User-agent: [crawler name or *]
    Disallow: [path to block]
    Allow: [path to explicitly allow]
    
    Sitemap: https://yourwebsite.com/sitemap.xml
    关键语法规则:
    
    每个指令必须单独占一行
    用空行分隔规则块
    路径区分大小写
    末尾斜杠(/)指目录及其内部的所有内容
    可以使用#添加注释
    
    第3步:禁用特定页面或目录的索引
    现在让我们查看最常见用例的实际示例。
    阻止单个特定页面
    User-agent: *
    Disallow: /private-page.html
    这可以防止所有爬虫访问 /private-page.html。
    阻止整个目录
    User-agent: *
    Disallow: /admin/
    这会阻止访问 /admin/ 目录及其中的所有文件 — 非常适合保护后端面板。
    阻止多个页面或目录
    User-agent: *
    Disallow: /admin/
    Disallow: /staging/
    Disallow: /wp-login.php
    Disallow: /cart/
    Disallow: /checkout/
    阻止特定文件类型
    要阻止所有 PDF 文件被索引:
    User-agent: *
    Disallow: /*.pdf$
    阻止 URL 参数
    防止爬取带有查询字符串的 URL(例如,会话 ID、跟踪参数):
    User-agent: *
    Disallow: /*?
    > 谨慎使用:这将阻止所有带有查询字符串的 URL,其中可能包括重要的分页内容或产品过滤器。
    仅阻止 Googlebot
    User-agent: Googlebot
    Disallow: /private-directory/
    在被阻止的目录中允许子目录
    User-agent: *
    Disallow: /members/
    Allow: /members/public-profile/
    这会阻止 /members/ 中的所有内容,除了 /members/public-profile/ 子目录。
    第 4 步:禁用整个网站的索引
    如果您需要完全阻止所有搜索引擎爬取您的网站 — 例如在开发期间、在测试服务器上或用于私有内部网 — 请使用以下内容:
    User-agent: *
    Disallow: /
    这个单一指令告诉每个爬虫不要访问您网站上的任何页面。
    阻止特定的 AI 爬虫
    随着 AI 驱动的搜索和语言模型训练的兴起,您可能还想阻止特定的 AI 机器人爬取您的内容:
    # Block OpenAI's crawler
    User-agent: GPTBot
    Disallow: /
    
    # Block Google's AI training crawler
    User-agent: Google-Extended
    Disallow: /
    
    # Block Common Crawl
    User-agent: CCBot
    Disallow: /
    
    # Block all other crawlers
    User-agent: *
    Disallow: /
    开发后重新启用爬取
    当您的网站准备好上线时,只需删除 Disallow: / 指令或将其替换为空的 Disallow:(表示”允许所有”):
    User-agent: *
    Disallow:
    第5步:完整的真实robots.txt示例
    以下是典型WordPress网站的结构良好的robots.txt文件:
    # General rules for all crawlers
    User-agent: *
    Disallow: /wp-admin/
    Disallow: /wp-login.php
    Disallow: /wp-includes/
    Disallow: /xmlrpc.php
    Disallow: /feed/
    Disallow: /trackback/
    Disallow: /cgi-bin/
    Disallow: /tmp/
    Disallow: /search/
    Allow: /wp-admin/admin-ajax.php
    
    # Block Bing's crawler from specific directories
    User-agent: Bingbot
    Disallow: /staging/
    
    # Block AI training crawlers
    User-agent: GPTBot
    Disallow: /
    
    User-agent: Google-Extended
    Disallow: /
    
    # Sitemap location
    Sitemap: https://yourwebsite.com/sitemap.xml
    第6步:测试您的robots.txt文件
    编写规则只是工作的一半。测试至关重要 — 配置不当的robots.txt文件可能会意外阻止您最重要的页面被索引,导致自然流量大幅下降。
    Google Search Console robots.txt测试工具
    
    登录Google Search Console
    选择您的资源
    导航至设置 → robots.txt
    输入特定URL以检查它们是否被您当前的规则允许或阻止
    
    在线robots.txt验证工具
    无需访问Google Search Console,您可以使用多个免费工具来测试robots.txt文件:
    
    Merkle的robots.txt测试工具 — technicalseo.com/tools/robots-txt/
  • SEO Site Checkup — 提供详细的robots.txt分析
  • Screaming Frog SEO Spider — 爬取您的网站并标记被robots.txt阻止的页面
  • 通过Google搜索进行手动测试

    您也可以通过搜索来检查页面是否已被索引:

    site:yourwebsite.com/private-page.html

    如果该页面出现在搜索结果中,说明它已被索引,尽管您的robots.txt规则阻止了它 — 这可能表示该页面有外部链接指向它(Googlebot仍然可以索引通过链接发现的URL,即使robots.txt阻止了爬取)。

    常见 robots.txt 错误要避免

    即使是经验丰富的网站管理员也会犯这些错误。以下是需要注意的事项:

    错误后果解决方案
    阻止 CSS 和 JS 文件Google 无法正确呈现您的页面,影响排名对关键资产使用 Allow 指令
    使用 robots.txt 隐藏敏感数据机器人仍可能通过外部链接索引该 URL改用服务器端身份验证
    意外阻止整个网站完全取消索引,流量大幅下降更改后始终进行测试
    文件位置错误爬虫完全忽略该文件仅放在根目录中
    大小写敏感性错误/Admin//admin/ 在 Linux 服务器上匹配目录的确切大小写
    忘记 Sitemap 指令爬虫可能会遗漏新内容始终包含您的网站地图 URL

    robots.txt 与 noindex:应该使用哪一个?

    这是技术 SEO 中最常见的混淆点之一:

    **robots.txt Disallow****noindex Meta Tag**
    作用防止爬取防止索引
    有保证吗?否 — URL 仍可通过链接被索引是 — 如果被爬取,页面将不会被索引
    最适合用于阻止爬虫访问资源从搜索结果中移除页面
    页面未被爬取时有效吗?不适用否 — 必须爬取页面才能读取标签

    最佳实践:同时使用两者以获得最大控制。使用 robots.txt 阻止爬取,并在页面的 HTML 中添加 <meta name="robots" content="noindex">

    在不同托管环境中管理 robots.txt

    您管理 robots.txt 的能力取决于您的托管环境:

    • 共享虚拟主机通过 cPanel 文件管理器或 FTP 访问。对根目录文件的完全控制。
    • VPS 托管完整的 SSH 访问权限允许直接编辑文件、脚本编写和 robots.txt 更新自动化。
    • 独立服务器最大控制权 — 按虚拟主机配置 robots.txt、自动化部署和与 CI/CD 管道集成。

    对于具有多个子域的网站,请记住每个子域都需要在其各自的根目录中拥有自己的 robots.txt 文件(例如 https://blog.yourwebsite.com/robots.txt)。

    此外,如果您的网站处理敏感用户数据或业务通信,将强大的爬虫控制与有效的 SSL 证书配对,可确保即使是可访问的页面也以安全的方式提供 — 这也是经过证实的 Google 排名因素。

    关于 robots.txt 的常见问题

    Q: robots.txt 是否能完全阻止页面被索引?

    不能。robots.txt 阻止爬取,但如果其他网站链接到被阻止的页面,搜索引擎仍可能索引该 URL(不含内容)。使用 noindex 可保证从搜索结果中排除。

    Q: 我可以为同一爬虫设置多个 User-agent 块吗?

    不可以。每个爬虫应仅在一个规则块中出现。同一 User-agent 的多个块可能导致不可预测的行为。

    Q: robots.txt 的更改需要多长时间才能生效?

    Google 通常在 24–48 小时内重新爬取 robots.txt。您可以通过 Google Search Console 请求更快的重新爬取。

    Q: 我应该使用 robots.txt 阻止 WordPress 管理区域吗?

    应该——阻止 /wp-admin/(同时允许 /wp-admin/admin-ajax.php)是广泛推荐的 WordPress 安全和爬虫预算优化最佳实践。

    Q: robots.txt 是否会影响我的网站排名?

    间接地,会的。正确的 robots.txt 配置可提高爬取效率、防止重复内容问题,并确保最重要的页面获得最多爬取关注——所有这些都能积极影响 SEO 性能。

    结论

    robots.txt 文件看似简单,但实际上是技术 SEO 和网站管理中至关重要的组成部分。正确配置后,它可以帮助搜索引擎将爬虫预算集中在您最有价值的内容上,保护网站的敏感区域,防止重复内容问题,并让您控制哪些 AI 系统可以使用您的数据进行训练。

    本指南的关键要点:

    1. 始终将 robots.txt 放在根目录中,并验证它可以在 yourwebsite.com/robots.txt 访问
    2. 使用具体、有针对性的指令,而不是可能意外隐藏重要内容的宽泛限制
    3. 将 robots.txt 与 noindex 标签结合使用,以实现全面的索引控制
    4. 测试每一项更改,使用 Google Search Console 或专门的 robots.txt 测试工具
    5. 明确阻止 AI 爬虫,如果您想防止您的内容被用于 AI 训练数据集
    6. 不要仅依赖 robots.txt 来保护真正敏感的数据 — 改用适当的身份验证

    无论您是在共享虚拟主机上运营小型企业网站,还是在独立服务器上管理复杂的多服务器基础设施,掌握 robots.txt 都是一项必不可少的技能,它直接影响您网站的搜索可见性、安全性和性能。

    今天就花时间审计您当前的 robots.txt 配置 — 几条精心放置的指令可能会对搜索引擎发现、爬取和排名您网站的方式产生重大影响。