0
0
在微信中打开

谷歌SEO:关于Robots.txt你必须知道的事

谷歌SEO:关于Robots.txt你必须知道的事 Tabpear
2019-10-29
99
导读:Robots.txt是网站上最简单的文件之一,但也是最容易混淆的文件之一。 只要有一个字符不正确就可能会对您的SEO造成严重影响,并阻止搜索引擎访问您网站上的重要内容。

Robots.txt是网站上最简单的文件之一,但也是最容易混淆的文件之一。只要有一个字符不正确就可能会对您的SEO造成严重影响,并阻止搜索引擎访问您网站上的重要内容。这就是为什么robots.txt错误配置非常普遍的原因,即使在经验丰富的SEO专业人士中也是如此。robots.txt文件会告诉搜索引擎在您的网站上可以或不能进入的位置。首先,它列出了您想从搜索引擎(如Google)中锁定的所有内容,您还可以告诉某些搜索引擎如何抓取允许的内容。这是robots.txt文件的基本格式:

Sitemap: [URL location of sitemap]

User-agent: [bot identifier]

[directive 1]

[directive 2]

[directive ...]

User-agent: [another bot identifier]

[directive 1]

[directive 2]

[directive ...]

如果您以前从未见过这些格式,这非常令人吃惊。不难发现,robots.txt文件的格式非常简单。您可以通过在bots上声明其用户代理后再为其指定规则来为其分配规则。

用户代理

每个搜索引擎用不同的用户代理标识自己。您可以在robots.txt文件中为每个设置自定义说明。有数百个用户代理,但以下是一些对SEO有用的代理:

Google: Googlebot

Google Images: Googlebot-Image

Bing: Bingbot

Yahoo: Slurp

Baidu: Baiduspider

DuckDuckGo: DuckDuckBot

robots.txt中的所有用户代理均区分大小写。您还可以使用星号(*)通配符将指令分配给所有用户代理。例如,假设您要阻止除Googlebot之外的所有的爬虫抓取您的网站。您可以这么做:

User-agent: *

Disallow: /

User-agent: Googlebot

Allow: /

请注意,您的robots.txt文件可以包含任意数量的用户代理指令。就是说,每次您声明一个新的用户代理时,它就像一个干净的表象。换句话说,如果您为多个用户代理添加指令,则为第一个用户代理声明的指令不适用于第二个或第三个或第四个,依此类推。该规则的例外是,您多次声明同一用户代理。在这种情况下,所有相关指令都将被组合并遵循。抓取工具仅遵循在用户代理下声明的最准确地适用于它们的规则。这就是为什么上面的robots.txt文件阻止除Googlebot(和其他Google bot)之外的所有爬虫爬行该网站的原因。Googlebot会忽略不太具体的用户代理声明。

支持的指令

以下是Google当前支持的指令及其用法。

Disallow

使用此伪指令来指示搜索引擎不要访问属于特定路径的文件和页面。例如,如果您想阻止所有搜索引擎访问您的博客及其所有帖子,则robots.txt文件可能如下所示:

User-agent: *

Disallow: /blog

如果您在disallow指令后未能定义路径,搜索引擎将忽略它。

Allow

使用此伪指令可允许搜索引擎对子目录或页面进行爬网,即使在本来不允许的目录中也是如此。例如,如果您想防止搜索引擎访问博客中除文章以外的所有文章,那么robots.txt文件可能如下所示:

User-agent: *

Disallow: /blog

Allow: /blog/allowed-post

在此示例中,搜索引擎可以访问/ blog / allowed-post,但是他们无法访问:

/blog/another-post
/blog/yet-another-post
/blog/download-me.pdf

Google和Bing都支持此指令。与disallow指令一样,如果您在allow指令之后未能定义路径,搜索引擎将忽略它。除非您小心,否则禁止指令和允许指令很容易彼此冲突。在下面的示例中,我们不允许访问/ blog /,并允许访问/ blog.

User-agent: *

Disallow: /blog/

Allow: /blog

在某种情况下,URL / blog / post-title /似乎同时存在disallowed 和 allowed指令。例如以下指令哪个指令可以获胜呢?

Disallow: /blog (6个字符)
Allow: /blog (5个字符)

对于Google和Bing,规则是字符最多的指令获胜。因此disallow指令获胜。要注意的是,如果allow和disallow指令的长度相等,则限制性最小的指令获胜。在这里,/blog(仍然可以访问和爬网。重要的是,这仅适用于Google和Bing,其他搜索引擎会执行第一个匹配的指令。

Sitemap

使用此指令可以指定站点地图在搜索引擎中的位置。不知道您是否熟悉站点地图,它们通常会包含您希望搜索引擎进行爬网和编制索引的页面。这是使用sitemap指令的robots.txt文件的示例:

Sitemap: https://www.domain.com/sitemap.xml

User-agent: *

Disallow: /blog/

Allow: /blog/post-title/

在robots.txt文件中包含站点地图有多重要呢?如果您已经通过Search Console提交了,那么对Google来说有点多余。但是,它的确告诉了Bing等其他搜索引擎在哪里可以找到您的站点地图,因此,这仍然是一种很好的做法。请注意,您无需为每个用户代理重复多次sitemap指令。它并不只适用于一个。因此,最好在robots.txt文件的开头或结尾添加站点地图指令。例如:

Sitemap: https://www.domain.com/sitemap.xml

User-agent: Googlebot

Disallow: /blog/

Allow: /blog/post-title/

User-agent: Bingbot

Disallow: /services/

Google,Ask,Bing和Yahoo都支持Sitemap指令。您可以在robots.txt文件中添加任意数量的站点地图。

不支持的指令

这是Google不再支持的指令-从技术上讲其中一些从不支持。

抓取延迟

以前,您可以使用此伪指令以秒为单位指定爬网延迟。例如,如果您希望Googlebot在每次抓取操作后等待5秒钟,则可以将抓取延迟设置为5,如下所示:

User-agent: Googlebot

Crawl-delay: 5

Google不再支持此指令,但是Bing和Yandex都支持。就是说,在设置此伪指令时要特别小心,尤其是在您拥有大型站点的情况下。如果您将抓取延迟设置为5秒,那么您就限制了浏览器每天最多抓取17280个URL。如果您拥有数百万个页面,那不是很有帮助,但是如果您的网站很小,则可以节省带宽。

Noindex

该指令从未得到Google的正式支持。但是,直到最近,人们还认为Google拥有一些“可处理不受支持和未发布的规则的代码(例如noindex)。”因此,如果您想阻止Google将您博客上的所有帖子编入索引,则可以使用以下指令:

User-agent: Googlebot

Noindex: /blog/

但是,在2019年9月1日,谷歌明确表示不支持此指令。如果要从搜索引擎中排除页面或文件,请使用meta robots标记或x robots HTTP标头代替。

Nofollow

这是Google从未正式支持的另一条指令,用于指示搜索引擎不要遵循特定路径下页面和文件上的链接。例如,如果您想阻止Google跟踪博客上的所有链接,则可以使用以下指令:

User-agent: Googlebot

Nofollow: /blog/

Google宣布将于2019年9月1日正式停止支持此指令。如果您现在要立即取消跟踪页面上的所有链接,则应使用robots元标记或x robots标头。如果要告诉Google不要遵循页面上的特定链接,请使用rel =“ nofollow”链接属性。

您是否需要robots.txt文件?

对于许多网站(尤其是小型网站)来说,拥有robots.txt文件并不是至关重要的。但也不能说,它可以没有。它能使您可以更好地控制搜索引擎可以在您的网站上访问以及不能在网站上访问,好处是显而易见的,例如:

  • 防止抓取重复内容
  • 将网站的各个部分(例如您的登台站点)保持私密性
  • 防止抓取内部搜索结果页面
  • 防止服务器过载
  • 防止Google浪费“抓取预算”
  • 防止图片,视频和资源文件出现在Google搜索结果中

请注意,虽然Google通常不会为robots.txt中被阻止的网页编制索引,但无法保证使用robots.txt文件将其排除在搜索结果之外。就像Google所说的那样,如果内容是从网络上的其他地方链接到的,则它可能仍会出现在Google搜索结果中。

如何找到您的robots.txt文件

如果您的网站上已经有robots.txt文件,则可以通过domain.com/robots.txt访问该文件。在浏览器中导航到URL。

如何创建robots.txt文件

如果您还没有robots.txt文件,则可以轻松创建一个。只需打开一个空白的.txt文档并开始输入指令即可。例如,如果您想禁止所有搜索引擎检索您的/ admin /目录,则其写入如下指令:

User-agent: *

Disallow: /admin/

继续建立指令,直到对自己满意为止。将文件另存为“ robots.txt”。或者,您也可以使用类似于robots.txt的生成器。使用这样的工具的优点是可以最大程度地减少语法错误。这样做很好,因为一个错误可能会导致您的网站出现SEO灾难,因此谨慎行事,可以减少风险,缺点是自定义性方面受到限制。

将robots.txt文件放在何处

将robots.txt文件放置在其所应用的子域的根目录中。例如,要控制domain.com上的抓取行为,应可从domain.com/robots.txt访问robots.txt文件。如果您想控制子域(例如blog.domain.com)上的抓取,则应该可以通过blog.domain.com/robots.txt访问robots.txt文件。

Robots.txt文件最佳做法应该是为每个指令换行,每个指令应放在新的一行。否则,它将使搜索引擎无法抓取,如下列Robots.txt文件:

User-agent: * Disallow: /directory/ Disallow: /another-directory/

Good:

User-agent: *

Disallow: /directory/

Disallow: /another-directory/

使用通配符简化说明,您不仅可以使用通配符(*)将指令应用于所有用户代理,而且可以在声明指令时匹配URL模式。例如,如果您想防止搜索引擎访问您网站上的参数化产品类别URL,则可以像这样列出它们:

User-agent: *

Disallow: /products/t-shirts?

Disallow: /products/hoodies?

Disallow: /products/jackets?

但这不是最有效的。最好使用这样的通配符简化:

User-agent: *

Disallow: /products/*?

此示例阻止搜索引擎抓取/ product /子文件夹下包含问号的所有URL。换句话说,任何参数化的产品类别URL。使用“ $”指定URL的结尾包括“ $”符号以标记URL的结尾。例如,如果您想防止搜索引擎访问您网站上的所有.pdf文件,则robots.txt文件可能看起来像这样:

User-agent: *

Disallow: /*.pdf$

在此示例中,搜索引擎无法访问任何以.pdf结尾的URL。这意味着他们无法访问/file.pdf,但是他们可以访问/file.pdf?id=68937586,因为它不是以“ .pdf”结尾。

文章来源:【数聚梨海外营销独立站跨境电商】公众号
【声明】该内容为作者个人观点,大数跨境仅提供信息存储空间服务,不代表大数跨境观点或立场。版权归原作者所有,未经允许不得转载。如发现本站文章存在版权问题,请联系:contact@10100.com
Tabpear
西安数聚梨软件技术有限公司为您提供优质的跨境电商技术支持,为您提供最新的谷歌seo优化技术以及最新的海外营销服务。
内容 471
粉丝 0
咨询
关注
加入大数社群!和众多大卖交流
扫描右侧 二维码,添加微信后可免费领取跨境资料包
认证用户
Tabpear 西安数聚梨软件技术有限公司 西安数聚梨软件技术有限公司为您提供优质的跨境电商技术支持,为您提供最新的谷歌seo优化技术以及最新的海外营销服务。
总阅读59.2k
粉丝0
内容471
咨询
关注
加入卖家交流群
文章目录
用户代理
支持的指令
不支持的指令
您是否需要robots.txt文件?
但这不是最有效的。最好使用这样的通配符简化:
企业会员