如何将nofollow rel属性设置为WordPress中的所有出站链接?任何插件?

时间:2012-03-05 17:34:57

标签: wordpress wordpress-plugin

我想知道如何在Wordpress中自动将所有链接设置为nofollow。是否有一个WP插件可以生成我的所有出站链接nofollow

非常感谢帮助!

2 个答案:

答案 0 :(得分:3)

如果您对SEO优化进行此更改,则无法仅使用JS进行更改,因为Google漫游器无法读取Javascript生成的内容。

但是,您可以在function.php中添加一个过滤器,如下所示:

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;   
}

此功能将所有链接设置为属性的帖子:rel =“nofollow”,但是,如果您想要更改所有网站,则可以尝试使用this plugin

答案 1 :(得分:1)

在WordPress中,您可以选择在新窗口中打开链接。选择此项后,WordPress会添加一个属性target =“_ blank”。这就是我通常使用出站链接做的事情。如果是这样,你可以使用jQuery像这样添加属性rel =“nofollow”

<script type="text/javascript">
$(document).ready(function() {
   $('a[target="_blank"]').attr('rel', 'nofollow');
});
</script>