什么是Robots.txt?
robots.txt 文件是网站使用的一组指令,用于告诉搜索引擎哪些页面应该被抓取,哪些页面不应该被抓取。Robots.txt 文件指导抓取工具访问,但不应用于将网页排除在 Google 索引之外。
robots.txt 文件如下所示:
Robots.txt 文件可能看起来很复杂,但语法(计算机语言)很简单。我们稍后会详细讨论这些细节。
为什么 Robots.txt 很重要?
robots.txt 文件有助于管理网络爬虫活动,这样它们就不会过度使用您的网站或不适合公众查看的索引页面。
以下是使用 robots.txt 文件的几个原因:
1.优化抓取预算
抓取预算是指 Google 在给定时间范围内在您的网站上抓取的页面数量。
该数量可能会根据您网站的大小、运行状况和反向链接数量而有所不同。
如果您网站的页面数量超出了网站的抓取预算,则您的网站上可能存在未编入索引的页面。
未索引的页面不会排名,最终,您将浪费时间创建用户看不到的页面。
使用 robots.txt 阻止不必要的页面可以让 Googlebot(Google 的网络抓取工具)在重要的页面上花费更多的抓取预算。
注意:根据 Google 的说法,大多数网站所有者无需过多担心抓取预算。这主要是拥有数千个 URL 的大型网站所关心的问题。
2. 阻止重复和非公开页面
抓取机器人不需要筛选网站上的每个页面。因为并非所有这些内容都是为了在搜索引擎结果页面 (SERP) 中提供服务而创建的。
例如临时站点、内部搜索结果页面、重复页面或登录页面。
某些内容管理系统会为您处理这些内部页面。
例如,WordPress 会自动禁止所有爬虫访问登录页面 /wp-admin/。
Robots.txt 允许您阻止爬虫抓取这些页面。
3.隐藏资源
有时您希望从搜索结果中排除 PDF、视频和图像等资源。
保持其私密性或让 Google 专注于更重要的内容。
无论哪种情况,robots.txt 都会阻止它们被抓取(并因此被编入索引)。
技术 robots.txt 语法
Robots.txt 语法可以被认为是 robots.txt 文件的“语言”。您可能会在 robots 文件中遇到五个常见术语。他们包括:
- 用户代理:您向其发出爬网指令的特定网络爬网程序(通常是搜索引擎)。大多数用户代理的列表可以在此处找到。
- Disallow:用于告诉用户代理不要抓取特定 URL 的命令。每个 URL 只允许有一行“Disallow:”。
- 允许(仅适用于 Googlebot):该命令告诉 Googlebot 它可以访问某个页面或子文件夹,即使其父页面或子文件夹可能被禁止。
- 抓取延迟:爬虫在加载和抓取页面内容之前应等待多少秒。请注意,Googlebot 不接受此命令,但可以在 Google Search Console 中设置抓取速度。
- 站点地图:用于调出与此 URL 关联的任何 XML 站点地图的位置。请注意,仅Google、Ask、Bing 和 Yahoo支持此命令。
如何创建 Robots.txt 文件
使用robots.txt 生成器工具或自己创建一个。
就是这样:
1. 创建一个文件并将其命名为Robots.txt
首先在文本编辑器或 Web 浏览器中打开 .txt 文档。
注意:不要使用文字处理器,因为它们通常以可以添加随机字符的专有格式保存文件。
接下来,将文档命名为 robots.txt。
现在您已准备好开始输入指令。
2. 将指令添加到 Robots.txt 文件
robots.txt 文件由一组或多组指令组成,每组指令由多行指令组成。
每个组都以“用户代理”开头,并具有以下信息:
- 该组适用于谁(用户代理)
- 代理可以访问哪些目录(页面)或文件
- 代理无法访问哪些目录(页面)或文件
- 站点地图(可选)告诉搜索引擎您认为重要的页面和文件
爬网程序会忽略与这些指令不匹配的行。
例如,假设您不希望 Google 抓取您的 /clients/ 目录,因为它仅供内部使用。
第一组看起来像这样:
User-agent: Googlebot
Disallow: /clients/
可以在下面的单独行中添加其他说明,如下所示:
User-agent: Googlebot
Disallow: /clients/
Disallow: /not-for-google
完成 Google 的具体说明后,请按两次 Enter 键以创建一组新的指令。
让我们为所有搜索引擎制作这个,并防止它们抓取您的 /archive/ 和 /support/ 目录,因为它们仅供内部使用。
它看起来像这样:
User-agent: Googlebot
Disallow: /clients/
Disallow: /not-for-google
User-agent: *
Disallow: /archive/
Disallow: /support/
完成后,添加站点地图。
您完成的 robots.txt 文件将如下所示:
User-agent: Googlebot
Disallow: /clients/
Disallow: /not-for-google
User-agent: *
Disallow: /archive/
Disallow: /support/
Sitemap: https://www.yourwebsite.com/sitemap.xml
保存您的 robots.txt 文件。请记住,它必须命名为 robots.txt。
注意:爬虫从上到下读取并匹配第一组最具体的规则。因此,首先使用特定的用户代理启动 robots.txt 文件,然后继续使用与所有爬网程序匹配的更通用的通配符 (*)。
3.上传Robots.txt文件
将 robots.txt 文件保存到计算机后,将其上传到您的网站并使其可供搜索引擎抓取。
不幸的是,这一步没有通用工具。
上传 robots.txt 文件取决于您网站的文件结构和网络托管。
在线搜索或联系您的托管提供商以获取有关上传 robots.txt 文件的帮助。
例如,您可以搜索“将 robots.txt 文件上传到 WordPress”。
以下是一些文章,解释如何在最流行的平台上上传 robots.txt 文件:
- WordPress中的 Robots.txt 文件
- Wix中的 Robots.txt 文件
- Joomla中的 Robots.txt 文件
- Shopify中的 Robots.txt 文件
- BigCommerce中的 Robots.txt 文件
上传后,检查是否有人可以看到它以及Google是否可以读取它。
就是这样。
4.测试你的Robots.txt
首先,测试您的 robots.txt 文件是否可公开访问(即是否已正确上传)。
在浏览器中打开私人窗口并搜索 robots.txt 文件。
例如,https://semrush.com/robots.txt。
如果您看到 robots.txt 文件包含您添加的内容,则表明您已准备好测试标记(HTML 代码)。
Google 提供了两种测试 robots.txt 标记的选项:
- Search Console 中的robots.txt 测试程序
- Google 的开源 robots.txt 库(高级)
由于第二个选项面向高级开发人员,因此让我们在 Search Console 中测试您的 robots.txt 文件。
注意:您必须设置Search Console帐户才能测试 robots.txt 文件。
转到robots.txt 测试程序并单击“打开 robots.txt 测试程序”。
如果您尚未将网站链接到 Google Search Console 帐户,则需要先添加媒体资源。
然后,验证您是该网站的真正所有者。
注意: Google 计划关闭此设置向导。因此,将来您必须直接在 Search Console 中验证您的资源。请阅读我们的Google Search Console完整指南以了解具体操作方法。
如果您有现有的已验证属性,请从测试人员主页的下拉列表中选择一项。
测试仪将识别语法警告或逻辑错误。
并在编辑器下方显示警告和错误的总数。
您可以直接在页面上编辑错误或警告,并随时重新测试。
页面上所做的任何更改都不会保存到您的网站。该工具不会更改您网站上的实际文件。它仅针对工具中托管的副本进行测试。
要实施任何更改,请将编辑后的测试副本复制并粘贴到您网站上的 robots.txt 文件中。