首页 教程资源正文

分享关于WordPress SEO教程:文章/页面外链自动添加nofollow属性和新窗口打开

娜迦源码 教程资源 2019-04-21 02:01:57 376 0 教程资源

首先介绍下nofollow属性,nofollow是一个HTML标签的属性值。这个标签的意义是告诉搜索引擎"不要追踪此网页上的链接或不要追踪此特定链接,简单的说,添加nofollow的部分内容不参与网站排名,便于集中网站权重。 
将以下代码添加到当前使用主题的functions.php文件中即可。 

  1. // 文章页面外链自动添加nofollow属性和新窗口打开

  2. add_filter( 'the_content', 'cn_nf_url_parse');

  3. function cn_nf_url_parse( $content ) {

  4.         $regexp = "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>";

  5.         if(preg_match_all("/$regexp/siU", $content, $matches, PREG_SET_ORDER)) {

  6.                 if( !empty($matches) ) {

  7.                         $srcUrl = get_option('siteurl');

  8.                         for ($i=0; $i < count($matches); $i++)

  9.                         {

  10.                                 $tag = $matches[$i][0];

  11.                                 $tag2 = $matches[$i][0];

  12.                                 $url = $matches[$i][0];

  13.                                 $noFollow = '';

  14.                                 $pattern = '/target\s*=\s*"\s*_blank\s*"/';

  15.                                 preg_match($pattern, $tag2, $match, PREG_OFFSET_CAPTURE);

  16.                                 if( count($match) < 1 )

  17.                                         $noFollow .= ' target="_blank" ';

  18.                                 $pattern = '/rel\s*=\s*"\s*[n|d]ofollow\s*"/';

  19.                                 preg_match($pattern, $tag2, $match, PREG_OFFSET_CAPTURE);

  20.                                 if( count($match) < 1 )

  21.                                         $noFollow .= ' rel="nofollow" ';

  22.                                 $pos = strpos($url,$srcUrl);

  23.                                 if ($pos === false) {

  24.                                         $tag = rtrim ($tag,'>');

  25.                                         $tag .= $noFollow.'>';

  26.                                         $content = str_replace($tag2,$tag,$content);

  27.                                 }

  28.                         }

  29.                 }

  30.         }

  31.         $content = str_replace(']]>', ']]>', $content);

  32.         return $content;

  33. }

复制代码 
 以上代码意思是,自动给外链自动添加nofollow属性(rel=”nofollow”)和新窗口打开属性(target=”_blank”),如果手动添加了这两个属性则不自动添加


版权声明

1:如非特殊说明,本站对提供的源码不拥有任何权利,其版权归原著者拥有。

2:请勿将该源码、软件进行商业交易、转载等行为,该源码、软件只为研究、学习所提供,该软件使用后发生的一切问题与本站无关。

3:本网站所有源码和软件均为作者提供和网友推荐收集整理而来,仅供学习和研究使用。如有侵犯你版权的,请来信(邮箱:393249296@qq.com)指出,本站将立即改正。

本文链接:https://www.wsx6.cn/post/1373.html

分享:

支付宝

微信

嘿,我是客服
请先 登录 再评论,若不是会员请先 注册