一个乐于分享的博客
关注互联网折腾服务器分享码农的日常

wordpress外链批量修改为go内链跳转

wordpress外链批量修改为go内链跳转

又一次谈到了SEO的话题,虽然岩兔站没啥流量,但SEO问题仍然值得关注,让好不容易积攒起来的流量不至于流失掉。

这次做的是外链优化,逛大佬网站的时候常常发现链接不直链,比如要链接baidu.com时,链接地址是https://yantuz.cn/go/?baidu.com,这在SEO上有什么用呢?岩兔站的理解就是将所有“外链”转换成“内链”同时又不影响用户体验,与是开始搞起。

实现方式

之前岩兔站研究过外链增加rel="nofollow"属性,之前是用插件实现的,现在连带外链go全部代码实现,又能省掉一个插件了。

首先确定跳转链接样式,如岩兔站选择的是https://yantuz.cn/go/?baidu.com所以需要在网站根目录下新建/go/index.php文件,文件内容如下:

<?php
$t_url = $_SERVER["QUERY_STRING"];
$url='https://yantuz.cn/';
$title='岩兔站外链跳转中……';
if(!empty($t_url)) {
    preg_match('/(http|https):\/\//',$t_url,$matches);

    if($matches){
        $url=$t_url;
    } else {
        preg_match('/\./i',$t_url,$matche);
        if($matche){
            $url='http://'.$t_url;
        }
    }
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="1;url='<?php echo $url;?>';">
<title><?php echo $title;?></title>
</head>
<body>
<?php echo $title;?>
</body>
</html>

解析

  1. PHP获取传入的参数,即url中第一个?之后的部分
  2. 判断参数合法性,并且进行跳转
  3. 页面内容岩兔站只写了文字,大佬们可以自由发挥,做个骚气的跳转动画

接下来修改functions.php文件,文件通常在themes主题目录下,岩兔站用的是DUX主题,所以路径是/wp-content/themes/dux/functions.php在文件最后增加:

//给外部链接加上跳转
function the_content_nofollow($content)
{
    preg_match_all('/<a(.*?)href="(.*?)"(.*?)>/',$content,$matches);
    if($matches){
        foreach($matches[2] as $val){
            if(strpos($val,'://')!==false && strpos($val,home_url())===false && !preg_match('/\.(jpg|jepg|png|ico|bmp|gif|tiff)/i',$val) && !preg_match('/yantuz\.cn/i',$val)){
                $content=str_replace("href=\"$val\"", "href=\"".home_url()."/go/?$val\" rel='nofollow' target='_blank'",$content);
            }
        }
    }
    return $content;
}
add_filter('the_content','the_content_nofollow',999);

解析

  1. 根据正则表达式,筛选出所有<a>链接
  2. 排除图片链接/和岩兔站内链接
  3. 将链接替换为go链接,并增加nofollow属性

设置完成,前台页面刷新尝试一下。

测试链接

外链:岩兔站微博

更改链接为go跳转,并增加nofollow属性

内链:双十一剁手党福利 淘宝客网赚新思路

图片链接:https://ws2.sinaimg.cn/large/007452UMly1fxo0whl04cj30b404x0ss.jpg

保持原链接状态。

转载务必注明出处:岩兔站 » wordpress外链批量修改为go内链跳转
赞 (1) or 打赏

讨论区 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址