网站地图    收藏   

主页 > 后端 > wordpress教程 >

WordPress自动给文章添加nofollow属性方法 - WordPres

来源:自学PHP网    时间:2014-11-28 23:42 作者: 阅读:

[导读] nofollow属性是告诉搜索引擎不传权重过去,但WordPressk中如果我们要nofollow属性就需要手工加了,现在我来告诉大家利用 Nofollow for external link就可以自动给文章添加nofollow属性了...

WordPress自动给文章添加nofollow属性方法

nofollow属性是告诉搜索引擎不传权重过去,但WordPressk中如果我们要nofollow属性就需要手工加了,现在我来告诉大家利用 Nofollow for external link就可以自动给文章添加nofollow属性了.

直接安装启用 Nofollow for external link 插件,或者将下面的代码添加到当前主题的 functions.php 文件即可.

实例代码如下:

  1. add_filter( 'the_content''cn_nf_url_parse'); 
  2.  
  3. function cn_nf_url_parse( $content ) { 
  4.  
  5.  $regexp = "<as[^>]*href=("??)([^" >]*?)\1[^>]*>"
  6.  if(preg_match_all("/$regexp/siU"$content$matches, PREG_SET_ORDER)) { 
  7.   if( !emptyempty($matches) ) { 
  8.    $srcUrl = get_option('siteurl'); 
  9.    for ($i=0; $i < count($matches); $i++) 
  10.    { 
  11.     $tag = $matches[$i][0]; 
  12.     $tag2 = $matches[$i][0]; 
  13.     $url = $matches[$i][0]; 
  14.     $noFollow = ''
  15.     $pattern = '/targets*=s*"s*_blanks*"/'
  16.     preg_match($pattern$tag2$match, PREG_OFFSET_CAPTURE); 
  17.     ifcount($match) < 1 ) 
  18.      $noFollow .= ' target="_blank" '
  19.     $pattern = '/rels*=s*"s*[n|d]ofollows*"/'
  20.     preg_match($pattern$tag2$match, PREG_OFFSET_CAPTURE); 
  21.     ifcount($match) < 1 ) 
  22.      $noFollow .= ' rel="nofollow" '
  23.  
  24.     $pos = strpos($url,$srcUrl); 
  25.     if ($pos === false) { 
  26.      $tag = rtrim ($tag,'>'); 
  27.      $tag .= $noFollow.'>'
  28.      $content = str_replace($tag2,$tag,$content); 
  29.     } 
  30.    } 
  31.   } 
  32.  } 
  33.  $content = str_replace(']]>'']]>'$content); 
  34.  return $content

最终效果:自动给文章/页面的站外链接添加nofollow属性(rel=”nofollow”),并且在新窗口打开这些链接(即添加 target=”_blank”属性),如果已经手动给链接添加了 rel=”dofollow”,就不会添加 rel=”nofollow”,如果手动添加了 target=”_blank”,就不会重复添加.

为指定分类的所有链接添加nofollow属性,那你可以将下面的代码添加到主题的 functions.php 文件即可:

  1. function nofollow_cat_posts($text) { 
  2. global $post
  3.         if( in_category(1) ) { // 修改这里的分类ID 
  4.                 $text = stripslashes(wp_rel_nofollow($text)); 
  5.         } 
  6.         return $text
  7. add_filter('the_content''nofollow_cat_posts'); 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论