在WordPress网站中,当用户点击图片链接跳转到外部网站时,默认会传递refer信息(即来源页面信息)。有时出于隐私保护或其他原因,站长可能希望移除这些refer信息。下面介绍几种实现方法。
方法一:使用rel=“noreferrer”属性
最简单的方法是为图片链接添加rel="noreferrer"
属性:
- 在WordPress编辑器中,切换到HTML/文本模式
- 找到图片链接代码,添加
rel="noreferrer"
属性 - 示例代码:
<a href="https://example.com" rel="noreferrer">
<img src="image.jpg" alt="示例图片">
</a>
方法二:使用插件实现
对于不熟悉代码的用户,可以使用插件批量处理:
- 安装”External Links”或”Nofollow for External Link”等插件
- 在插件设置中启用”noreferrer”选项
- 插件会自动为所有外部链接添加noreferrer属性
方法三:通过functions.php添加代码
对于技术用户,可以在主题的functions.php文件中添加以下代码:
function add_noreferrer_to_external_links($content) {
$content = preg_replace_callback('/<a[^>]+/', function($matches) {
$link = $matches[0];
if(strpos($link, 'rel=') === false) {
$link = preg_replace("/<a\s+/", '<a rel="noreferrer" ', $link);
} elseif(preg_match('/rel=["\']([^"\']*)["\']/', $link, $rel_matches)) {
$rels = array_map('trim', explode(' ', $rel_matches[1]));
if(!in_array('noreferrer', $rels)) {
$rels[] = 'noreferrer';
$new_rel = 'rel="'.implode(' ', $rels).'"';
$link = str_replace($rel_matches[0], $new_rel, $link);
}
}
return $link;
}, $content);
return $content;
}
add_filter('the_content', 'add_noreferrer_to_external_links');
注意事项
- 移除refer信息可能会影响部分网站的统计功能
- 某些网站可能会拒绝没有refer信息的访问
- 建议仅对确实需要保护用户隐私的链接使用此功能
通过以上方法,您可以有效控制WordPress网站中图片链接的refer信息传递,平衡用户体验与隐私保护的需求。