如果您已升级到WordPress 4.7.4版本或更高版本 ,那么您一定已经注意到HTML编辑器中的target="_blank"
标签旁边有一个新标签rel="noopener"
。 当您在新标签页中打开标签时,该标签会自动添加到所有内部和外部链接 。
像其他任何相关的Web开发人员一样,您必须怀疑此标记的作用以及它是否以任何方式对您的网站产生负面影响 ?
好吧,在这篇文章中,我将告诉您WordPress中的rel="noopener"
是什么,以及如何在需要时将其删除。
什么是rel =“ noopener”?
尽管听起来很麻烦,但这实际上是一项安全修复程序,可以防止恶意链接控制打开的选项卡。 通常,window.opener Javascript对象可用于使用子窗口 (新打开的选项卡) 控制父窗口 (当前选项卡)。
黑客可以使用此功能将用户当前打开的网站转换为假网站,并窃取登录详细信息等信息。 这是一个示例网站,显示window.opener如何劫持您的标签 。
为防止这种情况, rel="noopener"
是阻止使用window.opener Javascript object的标记。 如果window.opener不起作用,则选项卡无法控制另一个选项卡。
此安全修复程序已于2016年11月23日添加到TinyMCE插件中 。由于WordPress使用TinyMCE作为其文本编辑器,因此在WordPress 4.7.4版中也对此功能进行了更新 。
对您的网站有害吗?
简而言之, 没有 。
许多WordPress用户担心 rel="noopener"
可能会将所有内部和外部链接都设置为“ nofollow”, 这对于SEO真的很不利 。 实际上, rel="noopener"
只是用户浏览器停止使用window.opener Javascript对象的指令。
网站SEO受到搜索引擎的影响,它们不会与rel="noopener"
标签进行交互。 完全忽略此标签的分析软件也是如此 。
当WordPress 在 4.7.4版WordPress 发布修复程序之前首次添加rel="noopener noreferrer"
标签时,这可能是一个问题。 在以前的版本中,“ noreferrer”阻止链接知道链接的实际来源。
尽管它不影响SEO,但某些分析工具和联属计划受到了影响。 但是,看来WordPress现在已经删除了“ noreferrer”标签,并且您对rel="noopener"
标签应该没有问题。 只要确保您已更新到WordPress的最新版本即可 。
如何删除rel =” noopener”
我看不出有什么充分的理由从您的帖子中删除rel="noopener"
。 它不会影响SEO,不会影响分析工具,并且会员链接也不会中断。 它只是保护您的用户免受可能劫持其标签的潜在恶意链接的侵害。
因为它仅停止使用window.opener Javascript对象,所以我相信您仅在想要出于任何目的利用window.opener功能时才希望将其删除 。
删除rel="noopener"
可能会有些困难,因为它已集成到WordPress文本编辑器中。 即使您手动将其从HTML代码中删除,在保存文档时 ,它也会再次添加回去 。 因此,最好的选择是从TinyMCE插件本身禁用此功能。
为此,您必须在 WordPress主题的functions.php文件中添加一些代码行 。
在functions.php文件中, 复制并粘贴以下代码并保存:
// Note that this intentionally disables a tinyMCE security feature.
// Use of this code is NOT recommended.add_filter('tiny_mce_before_init','tinymce_allow_unsafe_link_target');
function tinymce_allow_unsafe_link_target( $mceInit ) {
$mceInit['allow_unsafe_link_target']=true;
return $mceInit;
}
这将阻止WordPress自动在您的帖子中添加rel="noopener"
标签 。 但是,这不会删除已经添加的标签,因此您必须从WordPress 4.7.4更新后保存的帖子中手动删除它们 。
得出结论
无需担心rel="noopener"
标签,因为它是提高网站访问者安全性的一步 。 除非您想使用window.opener功能,否则应该使用此新版本的安全功能。
如果您有其他原因想要删除rel="noopener"
标记,请在下面的注释中rel="noopener"
我们启发。