robots meta标签和x-roborts-tag HTTP回应标头

作者:码迷 阅读:166 点赞:31

robots meta标签和x-roborts-tag HTTP回应标头/

第一种指令方式是robots meta tag,也就是robots meta 标签,在Google的官方文档中会以「漫游器中继标签」称之;另一种则是透过网络服务器创建的x-robots-tag HTTP标头。在两种方式中可以使用一样的指令,例如「noindex」或「nofollow」等常见的指令,只是在沟通方式以及应用层面上略有不同。

该特别注意的一点是:robots meta指令要生效,前提是网址必须受到检索,如果robots.txt禁止某个网页被搜索引擎的爬虫程序检索,则该爬虫程序就无法得知跟索引有关的指令,这些指令就不会产生作用。

另外,如同robots.txt,这些指令并不给予网络爬虫强制的命令,只是针对索引的相关偏好设置,所以并不是所有爬虫程序都会遵循。

可使用的指令

若是没有特别写出指令,则缺省设置会是允许所有的索引与检索动作。

指令的使用不分大小写,但不同搜索引擎不一定会以相同的方式处理指令,以下对指令的介绍会是以Google搜索引擎为主。

index - 告诉搜索引擎要索引该网页,这是默认值,可以不用特别写出。

noindex - 不要索引,也就是不要让该网页在搜索结果中出现,也不要显示缓存的链接。

follow - 告诉搜索引擎要跟随该网页上的链接,同样为默认值,而即便网页未被索引,爬虫也应该要跟随网页上的链接。

nofollow - 不要跟随该网页上的链接。

none - 等同于同时使用noindex与nofollow指令。

noarchive - 不要在搜索结果显示该页面缓存的链接。

nosnippet - 不要在搜索结果显示代码片段(以Google来说,即meta description)

noimageindex - 不要为该页面上的图片创建索引。

notranslate - 不要提供该页面的翻译于搜索结果中。

unavailable_after: [RFC-850 date/time] - 在所指定的时间或日期后不再于搜索结果中显示该网页。时间或日期须使用RFC 850格式。

noodp(已过时) - 不要使用开放式目录项目中的描述显示于搜索结果。该项目(DMOZ)网站已经于2017年关闭,故此指令已过时。

meta robots tag

也就是meta robots 标签,Google的官方文档中会称之为漫游器中继标记。

可以让你针对特定的网页,个别设置搜索引擎如何对其创建索引,此标记应放置于网页的区段内。

如上的范例,指示所有的爬虫程序不要在搜索结果中显示该网页。

你可以将name属性的值改为你所要特别指定的爬虫程序名称,content的值则可以做指令的修改。

像下面这个范例就是特别针对Google的爬虫,告诉它不要跟随此页面上的所有链接。

而如果想要对相同的爬虫程序使用两个以上的指令呢?例如要同时禁止索引与页面上链接的跟随,

只要在content属性的值中以半角逗号分隔各个指令即可,范例如下:

如果想要个别指定多个爬虫程序,可以使用多个robots meta tag,如下:

以Google来说,若是遇到相互重叠的指令,会采用限制最多的指令。

x-robots-tag

X-robots-tag可以作为指定网址的HTTP标头回应的一部分,以控制全部页面或是特定元素的索引方式。

你可以使用与meta robots tag相同的指令,而由于x-robots-tag可以使用正规表达式,并且不是透过HTML文档发送指示,所以相对的更有弹性。

下面的范例指示所有的爬虫不要为网页创建索引:

HTTP/1.1 200 OK

Date: Tue, 25 May 2010 21:42:43 GMT

(…)

X-Robots-Tag: noindex

(…)

在HTTP的回应中,你可以使用多个指令,以逗号分开,也可以撰写多个X-Robots-Tag标头

HTTP/1.1 200 OK

Date: Tue, 25 May 2010 21:42:43 GMT

(…)

X-Robots-Tag: noarchive, unavailable_after: 25 Jun 2010 15:00:00 PST

(…)

HTTP/1.1 200 OK

Date: Tue, 25 May 2010 21:42:43 GMT

(…)

X-Robots-Tag: noarchive

X-Robots-Tag: unavailable_after: 25 Jun 2010 15:00:00 PST

(…)

如果要针对特定的爬虫程序撰写指令,方式如下:

HTTP/1.1 200 OK

Date: Tue, 25 May 2010 21:42:43 GMT

(…)

X-Robots-Tag: robots: nofollow

X-Robots-Tag: googlebot: nosnippet

(…)

以下是一些你可能会想透过x-robots-tag给予指令的情况:

  • 控制如图片、影片等不在HTML中的内容的索引。
  • 不影响全部页面的索引的情况下,禁止某个特定元素的索引,如某个影片或图片。
  • 在无法访问HTML中head区段的情况下对索引方式进行设置。
  • 添加决定页面是否可被索引的规则。

robots meta指令的SEO重点提醒

  • 所有的meta指令都需要透过对网页的检索而让搜索引擎接收,所以透过robots.txt禁止检索的网址,网页中的meta指令会被忽略,即便包含了noindex指令,网页可能仍会出现在搜索结果中。
  • 若是不想让网页显示在搜索结果中,应该优先采用robots meta指令,而非robots.txt文档。
  • 并非所有的网络爬虫都会遵循robots meta指令,故如果网站有页面包含隐私信息,不希望被公开搜索取得,应该以更安全的方式,如密码保护,让访客无法浏览机密的页面内容。
  • robots meta tag与x-robots-tag效果相同,择一使用即可。

cover image credit:

本文网址: https://www.mamioo.com/seo-tuiguang/4o357w3ar7r9

本站内容均为「码迷SEO」原创整理,未经授权严禁采集转载,违者必究。