代码实现在文章内图片地址自动添加nofollow

Nofollow是许多朋友喜欢添加的东东,合理的使用Nofollow可以最大程度上避免PageRank流失。不过PageRank可不是区区Nofollow就可以控制的哦,许多朋友说是发文章时候需要在链接中修改为Nofollow,于是出现了形形色色的插件来实现。不过大家都忽略了,与herl一样img代码也是权重流失的途径之一。现在Quicl教大家实现,文章发布自动给img添加nofollow。

  • 首先备份自己的function.php,复制如下代码进入其末尾(Quicl友情提醒:由于WP特殊机制,请把全角字符替换为半角字符):

  • /**
    * 下面这一个是自动
    * 添加文章内图片
    * nofollow代码实现
    * 作者:Quicl
    * 来源:20xue.com
    */

    add_filter(‘the_content’, ‘quicl_nofollow’);
     
    function quicl_nofollow($content) {
        return preg_replace_callback(‘/<img[^>]+/’, ‘quicl_nofollow_callback’, $content);
    }
     
    function quicl_nofollow_callback($matches) {
        $link = $matches[0];
        $site_link = get_bloginfo(‘url’);
     
        if (strpos($link, ‘rel’) === false) {
            $link = preg_replace("%(src=\S(?!$site_link))%i", ‘rel="nofollow" $1’, $link);
        } elseif (preg_match("%src=\S(?!$site_link)%i", $link)) {
            $link = preg_replace(‘/rel=\S(?!nofollow)\S*/i’, ‘rel="nofollow"’, $link);
        }
        return $link;
    }

    /**
    * 上面这一个是自动
    * 添加文章内图片
    * nofollow代码实现
    * 作者:Quicl
    * 来源:20xue.com
    */


其中的代码使用了正则表达式,以及replace函数。关于正则表达式大家可以去我的一些文章里面看看,非常详细哦。来源于Quicl’sBlog http://20xue.com 不要转载啊!

  1. 虽然阻止了pr流失 但是蜘蛛抓取不到图片 也就说明用户不能通过搜索图片访问到你的站,百度是有点坑爹,google和bing就较好,可以少许带来些流量 但是加nofollow还是很必要的 收下了

  2. $link = preg_replace(‘/rel=S(?!nofollow)S*/i’, ‘rel=”nofollow”‘, $link);

    这段代码出现错误,代码已经用WORD转换成半角了,还是错误,转换后的半角代码如下:

    /**
    * 下面这一个是自动
    * 添加文章内图片
    * nofollow代码实现
    * 作者:Quicl
    * 来源:20xue.com
    */
    add_filter(‘the_content’, ‘quicl_nofollow’);

    function quicl_nofollow($content) {
    return preg_replace_callback(‘/]+/’, ‘quicl_nofollow_callback’, $content);
    }

    function quicl_nofollow_callback($matches) {
    $link = $matches[0];
    $site_link = get_bloginfo(‘url’);

    if (strpos($link, ‘rel’) === false) {
    $link = preg_replace(“%(src=S(?!$site_link))%i”, ‘rel=”nofollow” $1′, $link);
    } elseif (preg_match(“%src=S(?!$site_link)%i”, $link)) {
    $link = preg_replace(‘/rel=S(?!nofollow)S*/i’, ‘rel=”nofollow”‘, $link);
    }
    return $link;
    }
    /**
    * 上面这一个是自动
    * 添加文章内图片
    * nofollow代码实现
    * 作者:Quicl
    * 来源:20xue.com
    */

    • 有三点要说的:第一、我这边一直在用着,没有问题。第二、代码切记不能用记事本或者Word来编辑,用Dreamweaver和EditPlus是最好的。第三、保存文档时候请注意你的文档编码是ANIS还是UTF8还是UTF8+DOM

      • 保存是用DW CS5保存的,复制代码进去DW已经显示出错误了,保存了刷新页面就显示错误了,把代码删除保存刷新恢复正常,
        所以与保存问题是没有关系的,有关系的话删除了代码保存再刷新也是会出错的.但现在删除了并没有出错

        • 对不起龙龙……我也爱莫能助了。这个代码之前写出来是可以用的,自己也试验了同样可以用…… 当时没有报错,可能是我发的时候少了点东西??谢谢你的提醒