robots.txt文件是告诉搜索引擎在您网站上的所有方式

优采云 发布时间: 2021-06-17 06:35

  

robots.txt文件是告诉搜索引擎在您网站上的所有方式

  SEO 简介:Robots.txt 终极指南

  

  robots.txt 文件是告诉搜索引擎在您的网站 页面上哪些可以访问和哪些不能访问的主要方式之一。所有主要的搜索引擎都支持它们提供的基本功能。今天我们的文章 将涵盖在网站 上使用robots.txt 的所有方式。虽然看起来很简单,但你在网站上犯的任何robots.txt错误都会严重损害你的网站,所以在练习之前请务必看懂本文。

  robots.txt 文件是什么?获取指令

  robots.txt 文件是一个文本文件,由搜索引擎蜘蛛读取并符合严格的语法内容。该文件的语法很严格,因为它必须是计算机可读的。这意味着这里没有错误的余地。

  robots.txt 文件也被称为“机器人排除协议”,是早期搜索引擎蜘蛛开发者达成共识的结果。它不是任何标准组织制定的官方标准,但所有主要搜索引擎都遵守它。

  robots.txt 文件有什么作用?

  搜索引擎通过抓取页面并跟踪从站点 A 到站点 B 到站点 C 的链接来索引网页。当搜索引擎遇到新的网站 时,它会打开网站 的 robots.txt 文件,它告诉搜索引擎允许将网站上的哪些网址编入索引。

  搜索引擎通常会缓存robots.txt的内容,但他们通常每天刷新几次,因此更改会很快反映出来。

  我应该在哪里存储 robots.txt 文件?

  robots.txt 文件应始终位于域的根目录中。因此,如果您的域名是,则应位于.

  robots.txt 中写的内容也很重要。内容区分大小写,请正确书写,否则将无法运行。

  使用 robots.txt 管理抓取预算的利弊

  众所周知,搜索蜘蛛会以预先确定的“标准”进入网站来获取要爬取的页面数(根据网站的权限/大小/信誉爬取的页面数),SEO将使用这称为抓取预算。这意味着如果你屏蔽了网站的某些部分的爬取,搜索蜘蛛会爬取其他部分来补充页数。

  一般来说,防止搜索引擎爬取你的网站有问题的部分是非常有益的,尤其是在需要大量SEO清理的网站上。整理好所有内容后,您就可以取消屏蔽了。

  关于阻塞查询参数的说明

  robots.txt 的一个特别重要的应用是您的站点使用大量参数进行查询。假设您有 10 个不同的查询参数。每个参数可能有不同的值并生成不同的 URL。这将导致数百甚至数千个无意义的 URL。屏蔽所有查询参数页面的抓取,有助于确保搜索引擎只看到收录你网站的主网址,不会落入巨大的陷阱。

  此行阻止您访问网站 上收录查询字符串的所有 URL:

  

Disallow:/*?*

  缺点:不会从搜索结果中删除页面

  即使你可以用robots.txt文件告诉搜索蜘蛛在网站上哪些地方不能访问,你也不能用它来告诉搜索引擎哪些网址没有显示在搜索结果中。换句话说,阻止它不会阻止它被索引。搜索引擎仍会显示在搜索结果中,但不会显示其内容。

  如果你想阻止页面出现在搜索结果中,你需要使用meta robotsnoindex标签。这意味着为了找到 noindex 标签,搜索引擎必须能够访问该页面,因此请不要阻止搜索蜘蛛通过 robots.txt 访问该页面。

  无索引指令

  过去,可以在 robots.txt 中添加“noindex”指令以从搜索结果中删除网址并避免这些“片段”。现已不再支持,请勿使用。

  缺点:不传播链接价值

  如果搜索引擎无法抓取页面,则无法在该页面上的链接之间传播链接值。当页面被robots.txt屏蔽时,这是一个死胡同。任何可能流入(并通过)页面的链接值都将丢失。

  Robots.txt 用户代理命令的语法

  每个指令块的第一位是User-agent,它标识了一个特定的蜘蛛。 User-agent 字段与该特定 Spider 的 User-agent 匹配(通常更长),例如,Google 最常见的 Spider 具有以下 User-agent:

  

Mozilla / 5.0(兼容; Googlebot / 2.1; + http://www.google.com/bot.html)

  所以,如果你想告诉这个蜘蛛做什么,一个相对简单的用户代理:Googlebot 可以解决这个问题。

  大多数搜索引擎都有多个蜘蛛。他们会使用特定的 Spider 作为他们的正常索引、广告程序、图片、视频等。

  搜索引擎总是会选择他们能找到的最具体的指令块。假设您有 3 组指令:一组用于 *,一组用于 Googlebot 和 Googlebot-News。如果机器人通过其用户代理来自 Googlebot-Video,它将遵循 Googlebot 限制。带有 User-agent 的机器人 Googlebot-News 将使用更具体的 Googlebot-News 说明。

  最常见的搜索引擎蜘蛛的User-agent

  以下是您可以在 robots.txt 文件中用于匹配最常用搜索引擎的用户代理列表:

  搜索引擎领域的用户代理

  百度

  一般

  百度蜘蛛

  百度

  图片

  baiduspider-image

  百度

  移动

  baiduspider-mobile

  百度

  新闻

  baiduspider-新闻

  百度

  视频

  baiduspider-video

  必应

  一般

  bingbot

  必应

  一般

  msnbot

  必应

  图片和视频

  msnbot-media

  必应

  广告

  adidxbot

  谷歌

  一般

  Googlebot

  谷歌

  图片

  Googlebot 图像

  谷歌

  移动

  Googlebot 移动版

  谷歌

  新闻

  Googlebot 新闻

  谷歌

  视频

  Googlebot 视频

  谷歌

  AdSense

  媒体合作伙伴-Google

  谷歌

  AdWords

  AdsBot-Google

  雅虎

  一般

  啜饮

  Yandex

  一般

  yandex

  禁止命令

  任何指令块中的第二行是禁止行。您可以使用这些行中的一行或多行来指定指定的 Spider 无法访问站点的哪些部分。一个空的 Disallow 行表示您没有禁止任何操作,所以从根本上说,这意味着爬虫可以访问您网站 的所有部分。

  以下示例将阻止所有“侦听”搜索引擎 robots.txt 抓取您的 网站。

  

User-agent:*

Disallow:/

  下面的例子只需要少一个字符就可以让所有搜索引擎抓取你的整个网站。

  

User-agent:*

Disallow:

  以下示例将阻止 Google 抓取您 网站Photo 上的目录及其中的所有内容。

  

User-agent:googlebot

Disallow:/Photo

  这意味着该目录的所有子目录/Photo 都不会被展开。由于这些行区分大小写,因此它们不会阻止 Google 抓取 /photo 目录。

  同时收录 /Photo 的 URL 也将被阻止,例如 /Photography/。

  如何使用通配符/正则表达式

  在标准化方面,robots.txt 标准不支持正则表达式或通配符,但各大搜索引擎都能理解。这意味着您可以使用以下行来阻止文件组:

  

Disallow:/*.php

Disallow:/copyrighted-images/*.jpg

  在上面的示例中,* 将扩展为匹配的任何文件名。请注意,该行的其余部分仍然区分大小写,因此上面的第二行不会阻止 /copyrighted-images/example.JPG 被抓取。

  某些搜索引擎(如 Google)允许更复杂的正则表达式,但请注意,某些搜索引擎可能无法理解此逻辑。它添加的最有用的函数是 $,它表示 URL 的结尾。您可以在以下示例中看到它的作用:

  

Disallow:/*.php$

  这意味着 /index.php 不能被索引,但是 /index.php?p=1 是可以的。当然,这只在非常特殊的情况下才有用,非常危险,请谨慎使用。

  非标准robots.txt搜索命令

  除了 Disallow 和 User-agent 命令之外,您还可以使用其他几个抓取命令。并非所有搜索引擎抓取工具都支持这些说明,因此请确保您了解它们的局限性。

  允许指令

  虽然不在原来的“规范”中,但大多数搜索引擎都理解allow指令,并且允许使用简单易读的指令,例如:

  

Disallow:/wp-admin/

Allow:/wp-admin/admin-ajax.php

  没有allow命令的结果是防止爬取wp-admin文件夹中的每个文件。

  主机说明

  Yandex 支持(Google 不支持),此命令允许您决定是否显示搜索引擎或。只需像这样指定它:

  

Host:example.com

  但是因为只有 Yandex 支持这个主机命令,所以我们不建议你依赖这个命令,特别是因为它也不允许你定义协议(http 或 https)。一个更好的解决方案,所有搜索引擎的工作原理,就是使用301重定向,将不常见的域名重定向到常用的域名,比如我们将重定向到。

  抓取延迟命令

  雅虎! , Bing 和 Yandex 都响应了 crawl-delay 命令,这使得爬行速度变慢。虽然这些搜索引擎阅读指令的方式略有不同,但最终的结果基本相同。

  像下面这样的行将表示 Yahoo!并且 Bing 会在抓取操作后等待 10 秒,而 Yandex 每 10 秒只会访问您的 网站 一次。这是语义上的差异,但仍然很有趣。这是一个示例抓取延迟线:

  

Crawl-delay:10

  使用 crawl-delay 命令时请小心。通过将抓取延迟设置为 10 秒,您每天只允许这些搜索引擎访问 8,640 个页面。对于小的网站,这似乎足够了,但对于大的网站,这并不多。另一方面,如果你网站频繁爬行,那么这是一个节省带宽的好方法。

  SitemapXML 站点地图说明

  使用 sitemap 命令,您可以告诉搜索引擎,尤其是 Bing、Yandex 和 Google 在哪里可以找到 XML网站map。当然,您也可以使用各自的网站管理工具解决方案向每个搜索引擎提交XML网站map。我们强烈建议您这样做,因为搜索引擎网站管理工具程序会为您提供很多关于网站的有价值的信息。如果您不想这样做,将站点地图添加到 robots.txt 是一个不错的快速选择。

  验证您的 robots.txt

  有多种工具可以帮助您验证 robots.txt。在进行更改之前,请务必彻底测试您的更改!您不会是第一个不小心使用 robots.txt 阻止搜索引擎抓取的人!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线