在帖子中设置rel=“noollow”的插件?

时间:2011-05-05 作者:Tal Galili

我想在一个my sites 在帖子内的链接上使用rel=“nofollow”。除了WP Noexternalinks之外,我找不到一个插件来完成这项工作。它也不起作用,除非我使用它的末日选项:

“屏蔽文档中的所有链接(可能会减慢您的博客速度,并与某些缓存和其他插件发生冲突。请自行承担使用风险。”

但当我使用它时,它也不会关注我的blogroll链接(我宁愿保持它的存在)

有什么建议可能导致这种情况吗?或者如何解决?

谢谢

4 个回复
最合适的回答,由SO网友:웃mauri 整理而成

您可以在函数中添加过滤器。phpadd公司

// Nofollow in content
add_filter(\'the_content\', \'my_nofollow\');

function my_nofollow($content) {
    //return stripslashes(wp_rel_nofollow($content));

    return preg_replace_callback(\'/<a[^>]+/\', \'my_nofollow_callback\', $content);
}

function my_nofollow_callback($matches) {
    $link = $matches[0];
    $site_link = get_bloginfo(\'url\');

    if (strpos($link, \'rel\') === false) {
        $link = preg_replace("%(href=\\S(?!$site_link))%i", \'rel="nofollow" $1\', $link);
    } elseif (preg_match("%href=\\S(?!$site_link)%i", $link)) {
        $link = preg_replace(\'/rel=\\S(?!nofollow)\\S*/i\', \'rel="nofollow"\', $link);
    }
    return $link;
}

SO网友:Chadster_BAM

您是否尝试过使用jQuery添加nofollow?我想,如果我正确理解了你的帖子,你只想停止后续的外部链接,但后续的内部链接正确吗?

$(function() {
    $("a[href^=http://]").attr("rel","nofollow");
});

SO网友:Deb

/**
* add nofollow to links
*/
function add_nofollow_content($content) {
    $content = preg_replace_callback(
        \'/<a[^>]*href=["|\\\']([^"|\\\']*)["|\\\'][^>]*>([^<]*)<\\/a>/i\',
    function($m) {
        if (strpos($m[1], "YOUR_DOMAIN_HERE") === false)
            return \'<a href="\'.$m[1].\'" rel="nofollow" target="_blank">\'.$m[2].\'</a>\';
        else
            return \'<a href="\'.$m[1].\'" target="_blank">\'.$m[2].\'</a>\';
    },
    $content);
    return $content;
}
add_filter(\'the_content\', \'add_nofollow_content\');
此函数使用正则表达式查找http和其他链接,然后跳过向其中包含您的域名的链接添加nofollow。有关的更多详细信息http://digitizor.com/2014/07/05/add-nofollow-external-wordpress/. 该页面还提供了有关添加其他域的更多详细信息。

SO网友:Ste_95

这是插件Rel Nofollow 现在,这就是这里所需要的。

引用其描述:

保存帖子后,插件会将rel=“nofollow”属性添加到帖子链接中。该插件还提供了一个apt复选框,用于从插件的操作中排除帖子。

结束

相关推荐

jquery bookmark links

我在jQuery中获得了社交书签,但如何在这段代码中获得帖子标题和永久链接?如果我把<?php echo get_permalink(); ?> 在那里,整个网站都是空白的。$(\'a[rel=shareit-twitter]\').attr(\'href\', \'http://twitter.com/home?status=\' + title + \'%20-%20\' + title); 更新时间:以下是书签的整个jQuery:<script type=\"text/j