<a>标签rel有哪些取值?

<a>标签有如下取值:

  • nofollow
  • external
  • noopener
  • noreferrer

SEO相关:nofollowexternal
浏览器安全相关:noopenernoreferrer

rel值的含义和作用

nofollow

nofollow用于告知搜索引擎,当前链接不需要追踪,其内容是没有价值的,不传递权重。

SEO的作用

调整网页链接的权重,集中站点权重

添加nofollow后,爬虫不会追踪有此标记的链接。并且,不会传递当前站点的权重到新的链接,避免被分散。
可以把权重引导到更重要的页面,有利于提升网站的排名。

反垃圾链接

网站通常有留言功能,一些人会利用这个功能,在评论的时候,留下自己站点的链接。加上nofollow进行屏蔽后,可以防止当前站点的权重流失。

节约蜘蛛资源

每个站点,搜索引擎每天派出的爬虫数是一定的。尽量把爬虫引导到有用的链接上,有利于重要页面的收录。

加了nofollow的链接页面会不会被收录?

链接页面还是会被收录和索引,只是没有分配该页面权重。因为爬虫还是可以通过站点地图内链外链等方式,访问到链接页面。

robots的区别

robots是搜索引擎协议文件,nofollow是HTML标签的一个属性值。
robots主要用于屏蔽动态链接,让搜索引擎不爬取动态链接的内容。
nofollow让搜索引擎不要跟踪标记了该属性的链接,使其不传递权重。

external

rel="external"target="_blank"的作用一样,都是在新窗口中打开当前链接。
如果网点采用严格的DOCTYPE声明,则target="_blank"会失效。而rel="external"仍可以正常工作。

SEO的作用

告知搜索引擎,当前链接是外部链接。

noopener

noopener用于浏览器安全防护,防止钓鱼攻击。
当链接使用target="_blank"打开新页面时,新页面可以使用以下语句控制父页面:

1
2
3
if (window.opener) {  
window.opener.location="https://wangxiaokai.vip?referrer="+document.referrer;
}

链接加上rel="noopener"后,则新页面被限制访问window.opener

noreferrer

noopener类似,设置了rel="noreferrer"后,链接的新页面被限制访问window.opener。同时,新页面无法获取document.referrer信息,该信息包含了来源页面的地址。
因为一些旧的浏览器不支持noopener,所以为也兼容,会同时设置两个属性值rel="noopener noreferrer"

参考