技术知识分享

WordPress DUX 主题 文章链接添加外链nofollow

本方法通用于所有wordpress主题。本文仅使用DUX主题做示范。外链target="_blank"rel="nofollow"标签添加。主要作用是减少权重传递到第三方网址上。对SEO有玄学作用。

具体方法:

  • 找到主题下的functions.php
  • 将以下代码增加到最后面:

    // 自动给页面的站外链接添加nofollow属性和新窗口打开
    add_filter( 'the_content', 'cn_nf_url_parse');
    function cn_nf_url_parse( $content ) {
    
    $regexp = "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>";
    if(preg_match_all("/$regexp/siU", $content, $matches, PREG_SET_ORDER)) {
        if( !empty($matches) ) {
    
            $srcUrl = get_option('siteurl');
            for ($i=0; $i < count($matches); $i++)
            {
    
                $tag = $matches[$i][0];
                $tag2 = $matches[$i][0];
                $url = $matches[$i][0];
    
                $noFollow = '';
    
                $pattern = '/target\s*=\s*"\s*_blank\s*"/';
                preg_match($pattern, $tag2, $match, PREG_OFFSET_CAPTURE);
                if( count($match) < 1 )
                    $noFollow .= ' target="_blank" ';
    
                $pattern = '/rel\s*=\s*"\s*[n|d]ofollow\s*"/';
                preg_match($pattern, $tag2, $match, PREG_OFFSET_CAPTURE);
                if( count($match) < 1 ) $noFollow .= ' rel="nofollow" '; $pos = strpos($url,$srcUrl); if ($pos === false) { $tag = rtrim ($tag,'>');
                    $tag .= $noFollow.'>';
                    $content = str_replace($tag2,$tag,$content);
                }
            }
        }
    }
    
    $content = str_replace(']]>', ']]>', $content);
    return $content;
    }

添加完即可看到效果。当然如果你喜欢把链接加密。也可以查看:无需插件WordPress 外链转内链 Base64加密 不占用服务器空间

未经允许不得转载:pc6a学习分享 » WordPress DUX 主题 文章链接添加外链nofollow
阿里云轻量应用服务器

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址