关闭
首页>Discuz>正文

屏蔽Discuz全站外链的方法

Discuz 2016-12-11 15:44:00
  • A+
  • 0
  • 3346
众所周知,给url加上rel="nofollow"是告诉搜索引擎(爬虫)无需追踪该目标页.

nofollow有两种用法:
1.用于meta元标签:
<meta name="robots" content="nofollow" />
告诉爬虫该页面上所有链接都无需追踪。
2.用于a标签:
<a href="login.aspx" rel="nofollow">登录</a>
告诉爬虫该页面无需追踪。

1_ea557de328dc02dffc6ce92fb47188ef_1481275677.jpg

很多站长都在用Discuz建站, 难免帖子存在诸多外部链接,这些链接严重影响SEO,所以这里我们要给他加上rel="nofollow", 并且用本站链接跳转的方式到目标站点.
具体方法如下:

修改该文件 source\function\function_discuzcode.php
找到代码:
function parseurl($url, $text, $scheme) {
    global $_G;
    if(!$url && preg_match("/((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|thunder|qqdl|synacast){1}:\/\/|www\.)[^\[\"']+/i", trim($text), $matches)) {
         $url = $matches[0];
         $length = 65;
         if(strlen($url) > $length) {
              $text = substr($url, 0, intval($length * 0.5)).' ... '.substr($url, - intval($length * 0.3));
         }
         return '<a href="'.(substr(strtolower($url), 0, 4) == 'www.' ? 'http://'.$url : $url).'" target="_blank">'.$text.'</a>';
    } else {
         $url = substr($url, 1);
         if(substr(strtolower($url), 0, 4) == 'www.') {
              $url = 'http://'.$url;
         }
         $url = !$scheme ? $_G['siteurl'].$url : $url;
         return '<a href="'.$url.'" target="_blank">'.$text.'</a>';
    }
}


将其替换为:
function parseurl($url, $text, $scheme) {
    global $_G;
    if(!$url && preg_match("/((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|thunder|qqdl|synacast){1}:\/\/|www\.)[^\[\"']+/i", trim($text), $matches)) {
         $url = $matches[0];
         $length = 65;
         if(strlen($url) > $length) {
              $text = substr($url, 0, intval($length * 0.5)).' ... '.substr($url, - intval($length * 0.3));
         }
if (strpos($url,'awobaba.cn') == false){ //如果是本站域名则不操作
         $url="goto.php?w=".urlencode($url);
         return '<a rel="nofollow" href="'.(substr(strtolower($url), 0, 4) == 'www.' ? 'http://'.$url : $url).'" target="_blank">'.$text.'</a>';
              }else{
return '<a href="'.(substr(strtolower($url), 0, 4) == 'www.' ? 'http://'.$url : $url).'" target="_blank">'.$text.'</a>';
              }
    } else {
         $url = substr($url, 1);
         if(substr(strtolower($url), 0, 4) == 'www.') {
              $url = 'http://'.$url;
         }
         $url = !$scheme ? $_G['siteurl'].$url : $url;
  if (strpos($url,'awobaba.cn') == false){ //如果是本站域名则不操作
              $url="goto.php?w=".urlencode($url);
              return '<a rel="nofollow" href="'.$url.'" target="_blank">'.$text.'</a>';
              }else{
         return '<a href="'.$url.'" target="_blank">'.$text.'</a>';
              }
    }
}



最后,新建一个goto.php 上传至根目录,
里面代码如下:
<?php
if($_REQUEST['w']){
header('Location: '.urldecode($_REQUEST['w']));
}
?>

本文地址:https://www.awobaba.cn/view-8.html

版权声明:本文为原创文章,版权归 阿我巴巴 所有,欢迎分享本文,转载请保留出处!

分享

广告位

评论0 发表评论

还没有评论,赶快抢沙发吧!~
点击获取效验码

Copyright © 阿我巴巴 版权所有.

Process:0.02128s, Memory: 506.98K, Cache: redis. 渝ICP备16003772号

渝公网安备 50022802000338号

本站服务器由 腾讯云 提供