WordPress插件推荐:Add-nofollow-to-XFN

Author: 陌小雨Date: 2016-03-19View: 74

这款插件对于用WordPress来做导航站的站长来说简直就是一个神器,虽然他只有1.4kb,压缩后只有1kb,但也掩盖不了他的光芒。

我们知道,wordpress可以通过链接功能来管理友情链接以及建立wordpress博客导航,有了这款插件后,就可以给XFN添加一个nofollow的选项

这时候你可能要问了,XFN是个什么东东,陌小雨用一个截图马上让你明白:如网址收藏夹

 

这下明白了吧,WordPress默认是没有这个nofollow的rel属性的,有了这款插件,就有了这个属性。

那么问题来了,陌小雨很早就导入了个人博客大全的链接,加起来有1000多个呢,难道要一个一个修改?这个嘛,也不是不可以,哈哈。但是你忘了陌小雨曾经分享过一篇让所有友情链接在新窗口打开的文章么?

WordPress利用sql命令批量修改友情链接全部在新窗口打开

我们可以依葫芦画瓢,利用sql命令批量修改所有链接的rel属性嘛,是不是立马茅塞顿开了。(这里有必要提醒一下,分类目录为友情链接的不要添加nofollow属性,这样真的不太好)

命令就不贴出来了,有些事情还是需要自己独立完成的。

你的二维码名字
请输入验证码查看内容
验证码:
微信扫码,回复关键字“9999”获取验证码即可查看

2017-10-14日更新

不喜欢用插件的,陌小雨也给大家分享一个纯代码的实现方式:

//给链接添加一个no follow 选项 
//整理:陌小雨
add_action('load-link.php', 'sola_blogroll_nofollow');
add_action('load-link-add.php', 'sola_blogroll_nofollow');
function sola_blogroll_nofollow()
{
    //通过action add_meta_boxes创建我们需要的Meta Box
    add_action('add_meta_boxes', 'sola_blogroll_add_meta_box', 1, 1);
    //通过filter pre_link_rel将数据保存
    add_filter('pre_link_rel', 'sola_blogroll_save_meta_box', 10, 1);
}
//创建Nofollow Meta Box
function sola_blogroll_add_meta_box()
{
    //翻译成中文就是,创建一个名叫Blogroll Nofollow的Meta Box,放在link页面的右侧边栏,Meta Box的结构
    //由函数sola_blogroll_inner_meta_box产生
    add_meta_box('sola_blogroll_nofollow_div', __('Nofollow标签'), 'sola_blogroll_inner_meta_box', 'link', 'side');
}
//输出Meta Box的HTML结构
function sola_blogroll_inner_meta_box($post)
{
    $bookmark = get_bookmark($post->ID, 'ARRAY_A');
    if (strpos($bookmark['link_rel'], 'nofollow') !== FALSE) {
        $checked = ' checked="checked"';
    } else {
        $checked = '';
    }
    ?>
    <label for="sola_blogroll_nofollow_checkbox"><?php 
    echo __('是否添加Nofollow标签?');
    ?></label>
    <input value="1" id="sola_blogroll_nofollow_checkbox" name="sola_blogroll_nofollow_checkbox"<?php 
    echo $disabled;
    ?> type="checkbox"<?php 
    echo $checked;
    ?> /> <?php 
    echo $message;
    ?>
    <?php 
}
//保存用户的选择
function sola_blogroll_save_meta_box($link_rel)
{
    $rel = trim(str_replace('nofollow', '', $link_rel));
    if ($_POST['sola_blogroll_nofollow_checkbox']) {
        $rel .= ' nofollow';
    }
    return trim($rel);
}