<a>标签rel属性详解
<a>
标签rel有哪些取值?
<a>
标签有如下取值:
- nofollow
- external
- noopener
- noreferrer
SEO相关:nofollow
和external
浏览器安全相关:noopener
和noreferrer
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"
打开新页面时,新页面可以使用以下语句控制父页面:
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"
。
参考
最近笔者在整理第一本电子书书稿《前端面试手册》,有兴趣的同学可以关注下~
喜欢我文章的朋友,可以通过以下方式关注我:
- 「star」 或 「watch」 我的GitHub blog
- RSS订阅我的个人博客: