今天优化一个网站外链的时候,他自己只加了个:target=”_blank”,但是看了下主题源码,这主题还是严格要求DOCTYPE声明的,那么这种情况下外链只加个target=”_blank”就非常不友好了,甚至部分浏览器版本可能还无效打开新窗口。

查看是否DOCTYPE声明,就是打开网页源码,看顶部有没有提到:xhtml1-transitional.dtd

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

如果有,那么我们就可以把:target=”_blank”,替换成rel=”external”。这其实是告诉搜索引擎,这不是本站的链接,不过实际作用也相当于:target=”_blank”。

为了更友好的优化和安全,我们在外链上还要加上:rel=”nofollow”,这是告诉搜索引擎,不要向这个链接传递爬行。

为了防止用户暴露钓鱼攻击,还要加上:rel=”noopener”,虽然现在很多网站都用上了https,会避免这种情况,不过为了安全提示,我们还是可以加上,当然为了更好的兼容更多浏览器,需要改成:rel=”noopener noreferrer”。

到这里,如果网站严格要求DOCTYPE声明,我们的外链就这样:

<a href="https://www.jingxialai.com" rel="external nofollow noopener noreferrer">jingxialai</a>

如果没有严格要求:

<a href="https://www.jingxialai.com" target="_blank" rel="nofollow noopener noreferrer">jingxialai</a>

如果有的网站用了单独的页面或工具,只用rel=”external”,并不是新窗口打开,那么就全乎的:

<a href="https://www.jingxialai.com" target="_blank" rel="external nofollow noopener noreferrer">jingxialai</a>

一个告诉浏览器这个要在新窗口打开,一个告诉搜索引擎,这是外链不要爬行。

最后说下,用rel=”external”,需要js的配合,不然是不能当新标签打开用的。