比较常见使用的dofollow,nofollow,noopener,noreferrer和canonical有着怎样的使用场景及区别?
1. <a>标签通常会配合着使用noopener, noreferrer及nofollow这些属性, 它们的作用及用法如下。
noopener
当给链接加上target="_blank"后,目标网页会在新的标签页中打开,此时在新打开的页面中可通过 window.opener 获取到源页面的window对象,这就埋下了安全隐患。
具体来说,你自己的网页A有个链接是打开另外一个三方地址B,B网页通过window.opener获取到 A 网页的window对象,进而可以使得A页面跳转到一个钓鱼页面 window.opener.location.href ="abc.com",用户没注意地址发生了跳转,在该页面输入了用户名密码后则发生信息泄露。
为了避免上述问题,引入了rel="noopener"属性,这样新打开的页面便获取不到来源页面的 window 对象了, 此时 window.opener 的值是 null。
所以,如果要在新标签页中打开三方地址时,最好配全着rel="noopener"。
noreferrer
与noopener类似,设置了rel="noreferrer"后新开页面也无法获取来源页面的window以进行攻击,同时,新开页面中还无法获取document.referrer信息,该信息包含了来源页面的地址。
通常noopener和noreferrer会同时设置,rel="noopener noreferrer"。
既然后者同时拥有前者限制获取window.opener的功能,为何还要同时设置两者呢。
考虑到兼容性,因为一些老旧浏览器不支持 noopener。
nofollow
搜索引擎对页面的权重计算中包含一项页面引用数 (backlinks), 即如果页面被其他地方链接得多,那本页面会被搜索引擎判定为优质页面,在搜索结果中排名会上升。
当设置rel="nofollow"则表示告诉搜索引擎,本次链接不为上述排名作贡献。
一般用于链接内部地址,或一些不太优质的页面。
<a href="https://www.wfqcj.com/" rel="noopener nofollow" target="_blank">https://www.wfqcj.com/</a>
<a href="https://www.wfqcj.com/" rel="noopener noreferrer" target="_blank">https://www.wfqcj.com/</a>
dofollow
与nofollow相反,dofollow链接是在网站上创建的默认链接。大多数情况下,它们用于标记有价值的内容。根据“do follow”命令搜索引擎应该关注该链接。
由于dofollow链接旨在提供高质量的内容,因此它们允许搜索引擎爬虫将其所在站点的一些功能传输到登录页面。这是一种对SEO友好的力量。使链接的网站在搜索结果中显示得更高,尤其是在链接中使用的锚文本(关键字)上。
除了dofollow 链接的力量之外,它们还向目标网站传达了信任,对 Trust Rank 指标的值产生了积极影响。这个值越高,网站在搜索引擎算法中的可靠性就越高。
2. <link>标签通常配合着使用canonical来规范页面唯一链接,且在一个页面中仅使用一次,所以与dofollow,nofollow,noopener,noreferrer使用完全不同,但rel="canonical"属性会影响SEO。
当一个页面存在多一个可能URL时,为了防止不利的索引,您需要将爬虫引导到最重要的URL——包含原始内容的URL。
例如https://www.wfqcj.com/p/ab.html,从不同入口进入链接不唯一时。
首页进入:https://www.wfqcj.com/p/ab.html
频道a页进入:https://www.wfqcj.com/a/p/ab.html
频道b页进入:https://www.wfqcj.com/b/p/ab.html
频道c页进入:https://www.wfqcj.com/c/p/ab.html
频道a,b,c页页面源码均需添加如下代码
<link rel="canonical" href='https://www.wfqcj.com/p/ab.html' >
3. 还有不常见使用的标签如rel="sponsored",rel="ugc",rel="preconnect",rel="icon",rel="stylesheet"等等。
评论
发表评论