首页 / SEO book / 技术 SEO / Robots.txt 是什么、怎么用

什么是 Robots.txt?

Robots.txt 是什么、怎么用技术 SEO

robots.txt 是一个用于告诉搜索引擎可以抓取网站哪些位置、不能抓取哪些位置的文件。

什么是 Robots.txt?

robots.txt 文件会限制网络爬虫(例如搜索引擎机器人)访问网站上的特定 URL,还可以用来调整部分网络爬虫的抓取速度。

所有「正规」网络爬虫都会遵守 robots.txt 中规定的规则。不过,也存在一些未登记的「恶意」爬虫,它们通常用于抓取数据,完全无视 robots.txt。

robots.txt 文件应当用于减少和优化爬虫给网站带来的流量,不应被用来控制网页的索引。即使某个 URL 在 robots.txt 中被禁止抓取,只要它通过外部链接被发现,Google 仍可能将其编入索引。

robots.txt 的语法包含以下字段:

  • user-agent:规则所适用的爬虫
  • disallow:不允许抓取的路径
  • allow:允许抓取的路径(可选)
  • sitemap:站点地图文件的位置(可选)
  • crawl-delay:控制抓取速度(可选,且GoogleBot 不支持)

示例如下:

User-agent: AhrefsSiteAudit
Disallow: /resources/
Allow: /resources/images/
Crawl-delay: 2

Sitemap: https://ahrefs.com/academy/sitemap.xml

这个 robots.txt 文件指示 AhrefsSiteAudit 爬虫不要抓取「/resources/」目录下的 URL,但「/resources/images/」中的除外,同时把请求之间的延迟设为 2 秒。

为什么 robots.txt 文件很重要?

robots.txt 文件很重要,因为它让网站管理员能够控制爬虫在网站上的行为、优化抓取预算,并限制对不打算公开访问的网站版块的抓取。

许多网站所有者会对某些页面设置 noindex,例如作者页面、登录页面或会员站内页面,也可能阻止对需要填写邮箱才能访问的受限资源(如 PDF 或视频)进行抓取和索引。

如果你使用 WordPress 这类 CMS,/wp-admin/ 登录页面会被自动禁止被爬虫索引。

需要注意,Google 并不建议仅依靠 robots.txt 文件控制页面索引。另外,若要修改某个页面(例如添加「noindex」标签),要确保该页面没有在 robots.txt 中被禁止抓取,否则 Googlebot 将无法读取它并及时更新索引。

常见问题

如果没有 robots.txt 文件会怎样?

大多数网站并非绝对需要 robots.txt 文件。robots.txt 的作用是向搜索机器人传达特定指令,但若运营的是较小的网站,或没有太多需要阻止搜索引擎爬虫抓取的页面,则可能并非必需。

创建 robots.txt 文件并放在网站上也没有任何坏处,将来若需要添加指令也会更方便。

我能用 robots.txt 把页面从搜索引擎中隐藏起来吗?

可以。把页面从搜索引擎中隐藏起来是 robots.txt 文件的主要功能之一,可通过 disallow 参数以及想要屏蔽的 URL 实现。

需要注意,仅通过 robots.txt 让 Googlebot 看不到某个 URL,并不能保证它不会被索引。在某些情况下,URL 仍可能被索引,具体取决于 URL 本身的文本、外部链接中使用的锚文本,以及发现该 URL 的外部页面的上下文等因素。

如何测试我的 robots.txt 文件?

可以使用 Google Search Console 中的robots.txt 测试工具,或像 Merkle 提供的工具这样的第三方验证工具,来验证 robots.txt 文件,并测试这些指令在特定 URL 上的效果。