海运的博客

WordPress为外部链接自动添加nofollow标签

发布时间:March 17, 2013 // 分类:WordPress // No Comments

WordPress发布文章添加外部链接时为不传递权重可添加nofollow标签,通过在模板functions.php添加以下可为外部链接自动添加nofollow标签。

function rel_nofollow( $content ) {
    return preg_replace_callback( '/<a[^>]+/', 'rel_nofollow_callback', $content );
}     
add_filter( 'the_content', 'rel_nofollow', 99999 );

function rel_nofollow_callback( $matches ) {
    $link = $matches[0];
    $exclude = '('. home_url() .'|http://([^.]+\.)?(wp.org|wp.com))';
    if ( preg_match( '#href=\S('. $exclude .')#i', $link ) )
        return $link;

    if ( strpos( $link, 'rel=' ) === false ) {
        $link = preg_replace( '/(?<=<a\s)/', 'rel="nofollow" ', $link );
    } elseif ( preg_match( '#rel=\S(?!nofollow)#i', $link ) ) {
        $link = preg_replace( '#(?<=rel=.)#', 'nofollow ', $link );
    }

return $link;   
}

标签:wordpress, nofollow

发表评论

分类
最新文章
最近回复
  • crowjin: 你确定这能过滤??不是所有请求都返回空地址::?
  • : linux系统上单个网卡多条宽带拨号获取公网IP,外网可以访问这些IP,有偿! Q:25299...
  • 硅谷少年: 非常有用,感谢分享
  • spartan2: https://dashboard.hcaptcha.com/welcome_accessib...
  • 海运: 应该能,在购买页面先手工跳过cf机器验证,后续一定时间内不更换ip应该不会再次验证。
  • spartan: 大佬斯巴达开启了CF的机器识别验证,请问插件能自动跳过吗? 另外这个脚本有没有简单使用说明,新...
  • vincent: 膜拜大佬
  • 海运: proxy-header或proxy_protocol
  • liangjw: 如果是 内部调用 或者 中间存在 代理 而上一个代理又在内网 ,那怎么处理来自代理私有IP?
  • chainofhonor: 感谢,用dnsmasq设置自动判断BIOS和UEFI成功了