Robots.txt 是什么意思

简单的说 robots.txt 是一份网站与搜索引擎爬虫之间的网络协议文件,您可以把它通俗地理解为网站针对搜索引擎书写的一份沟通指南,它会告知搜索引擎爬虫网站的哪些页面可以抓取,哪些页面不能抓取,正确地理解和设置此文件会让你您的网站在搜索引擎结果中获得更好的名次。

需要注意的是这只是一份“君子协议”,大部分主流搜索引擎 (Google、Bing、百度)都会遵守此协议,但恶意爬虫可能会不遵守此协议。另:生成式引擎(ChatGPT、Gemini、deepseek、通义千问)不会遵守与认可此协议,它们遵守的是 llms.txt 标准,而非 robots.txt 标准。以下是关于 robots.txt 的详细解析。

Robots.txt 的格式

Robots.txt 是一个普通的纯文本文件(Text file)。

Robots.txt 的位置

Robots.txt 存放于网站的根目录下(https://www.example.com/robots.txt)。

网站一定要添加 robots.txt 吗

推荐添加。如果网站存在 robots.txt 文件,爬虫会遵从文件中的规则,只抓取允许访问的页面。如果网站没有 robots.txt 文件,爬虫则默认您的网站没有任何限制措置,从而尝试抓取网站全部公开页面。

ROBOTS.TXT 需要屏蔽哪些页面

网站后台管理与登录页面,此页面仅供网站管理人员使用,对搜索引擎没有实际价值。WordPress 示例:

Disallow: /wp-admin/
Disallow: /wp-login.php

使用网站内部搜索时生成的无意义页面,Wordpress 示例:

Disallow: /search/
Disallow: /search?*

网站动态页面(如筛选页面),动态参数会导致同一个页面产生无数个不同链接(多个不同链接指向的都是同一个页面),示例:

Disallow: /?r=*
Disallow: /?s=*

ROBOTS.TXT 不能屏蔽哪些页面

  • 图片与视频等有效能媒体文件,否则将失去此部分流量入口。
  • JS和CSS文件,搜索引擎需要加载 CSS 和 JS 来渲染页面。
  • 想给用户看而不想给搜索引擎看到的页面,例如一些重要的机密内容,这些页面推荐使用密码保护或设置服务器权限来实现。

ROBOTS.TXT 屏蔽某个搜索引擎的方法

如果您不希望某个搜索引擎,或者全部搜索引擎访问您的网站,以下是操作示例:

User-agent: Baidu spider # 不允许百度蜘蛛抓取网站全部页面,其他搜索引擎均可正常抓取。
Disallow: /

ROBOTS.TXT 屏蔽多个搜索引擎的方法

User-agent: Baidu spider # 不允许百度蜘蛛抓取网站全部页面,其他搜索引擎均可正常抓取。
Disallow: /

User-agent: Googlebot # 不允许百度蜘蛛抓取网站全部页面,其他搜索引擎均可正常抓取。
Disallow: /

设置 ROBOTS.TXT 时需要注意的问题

  • Robots.txt 规则不是强制协议(个别爬虫可能不会遵守)。
  • Robots.txt 文件只能放在网站根目录。
  • Robots.txt 必须是 UTF-8 格式的纯文本文件。
  • Robots.txt 文件中的内容必须全部小写。

ROBOTS.TXT 通过规则介绍

场景应用代码示例解释说明
允许全部爬虫抓取User-agent: *
Allow: /
可创建一个空白的 robots.txt 或不设置 robots.txt ,效果是一样的。
禁止全部爬虫抓取User-agent: *
Disallow: /
谨慎使用,这么做会导致网站从全部搜索引擎中彻底消失。
禁止抓取特定目录User-agent: *
Disallow: /admin/
保护网站隐私目录,防止黑客攻击网站。
机制抓取特定文件类型User-agent: *
Disallow: /*.pdf$
禁止爬虫抓取所有以 .PDF 结尾的文件,$ 表示只匹配后缀为 .pdf 的URL,防止误伤。
只允许特定爬虫访问User-agent: Googlebot
Allow: /

User-agent: *
Disallow: /
只允许谷歌蜘蛛抓取,屏蔽其他所有搜索引擎蜘蛛。
告知爬虫网站地图的位置Sitemap: https://www.example.com/sitemap.xml为爬虫提供访问捷径,让爬虫更轻松抓取网站页面。
屏蔽生成式引擎蜘蛛User-agent: GPTBot
Disallow: /
不允许生成式引擎(GPTBot )蜘蛛抓取全部网页内容。
屏蔽多个生成式引擎蜘蛛User-agent: GPTBot
Disallow: /

User-agent: DeepSeekBot
Disallow: /

通用 robots.txt 模板示例

以下为 WordPress 通用 robots.txt 文件模板,每个网站的实际情况不同,请根据实际需求而定。

User-agent: * # 对所有搜索引擎生效的通用规则

Disallow: /wp-admin/ # 屏蔽登录后台
Disallow: /wp-login.php
Disallow: /admin

Disallow: /search/ # 屏蔽站内搜索
Disallow: /?s=
Disallow: /?utm_

Disallow: /?r=* # 屏蔽动态URL
Disallow: /?s=*

Disallow: /page/ # 屏蔽翻页和订阅页面
Disallow: /*/*/feed/

User-agent: GPT Bot # 屏蔽生成式引擎蜘蛛(请根据实际情况设置)
Disallow: /

Sitemap: https://www.yourdomain.com/sitemap.xml #您的网站地图

如果网站 robots.txt 设置完成,请登录搜索引擎站长平台(Bing Webmaster Tools、Google Search Console、百度搜索资源中心)进行验证,确保规则正确。

发表回复