如何移除WordPress图片链接中的refer信息

来自:素雅营销研究院

头像 方知笔记
2025年05月03日 00:50

在WordPress网站中,当用户点击图片链接跳转到外部网站时,默认会传递refer信息(即来源页面信息)。有时出于隐私保护或其他原因,站长可能希望移除这些refer信息。下面介绍几种实现方法。

方法一:使用rel=“noreferrer”属性

最简单的方法是为图片链接添加rel="noreferrer"属性:

  1. 在WordPress编辑器中,切换到HTML/文本模式
  2. 找到图片链接代码,添加rel="noreferrer"属性
  3. 示例代码:
<a href="https://example.com" rel="noreferrer">
<img src="image.jpg" alt="示例图片">
</a>

方法二:使用插件实现

对于不熟悉代码的用户,可以使用插件批量处理:

  1. 安装”External Links”或”Nofollow for External Link”等插件
  2. 在插件设置中启用”noreferrer”选项
  3. 插件会自动为所有外部链接添加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');

注意事项

  1. 移除refer信息可能会影响部分网站的统计功能
  2. 某些网站可能会拒绝没有refer信息的访问
  3. 建议仅对确实需要保护用户隐私的链接使用此功能

通过以上方法,您可以有效控制WordPress网站中图片链接的refer信息传递,平衡用户体验与隐私保护的需求。