wordpress自动给外链转内链添加nofollow并加密

最近看到ZB有一个插件可以将外链看着还是那么回事,但源代码一看就是乱码的功能,表示我们的Wordpress也很需要,但找了半天没找到合适的。

好的是发现一个不错的教程,可以将外链自动转成内链,还顺便添加了nofollow标签,还给外链加了密。

解决WordPress文章上传图片使用中文名不显示的问题
wordpress自动给外链转内链添加nofollow并加密

首先,在你当前使用的主题的 functions.php 中加入以下代码:

/* 自动给文章的外部链接添加nofollow属性(纠正外链图片暗箱功能失效) */
add_filter('the_content','web589_the_content_nofollow',999);
function web589_the_content_nofollow($content){
preg_match_all('/href="(http.*?)" rel="external nofollow" /',$content,$matches);
if($matches){
foreach($matches[1] as $val){
if( strpos($val,home_url())===false && !preg_match('/\.(jpg|jepg|png|ico|bmp|gif|tiff)/i',$val))
$content=str_replace("href=\"$val\"", "rel=\"nofollow\" href=\"" . get_bloginfo('wpurl'). "/link?url=" .base64_encode($val). "\"",$content);
}
}
return $content;
}

然后在网站根目录下新建个 link 的文件夹,在其中写个 index.php 的文件,内容如下(请保存为UTF-8):

<?php
$url = $_GET['url'];
$a = '';
if( $a==$url ) {
$b = "https://www.wzxiu.com/";
// echo 'true';
} else {
$b = $url;
$b = base64_decode($b);
}
//Template Name:链接跳转(有过度)
?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="0.1;url=<?php echo $b; ?>">
<title>正在跳转....</title>
</head>
<body>
</body>
</html>

即可实现以上功能。

比如我这里放一个百度的链接:www.baidu.com 那么会自动转换成 www.wzxiu.com/link?url=aHR0cHM6Ly94eWluemhlLmNvbS8=(最后这一长串就是加密的百度网址)。

不同于市面上其他外链转内链还能看到外链,这个完全看不到外链。

版权声明:本文内容由来自互联网,该文观点不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系我们举报,一经查实,本站将立刻删除。

99%的人还看了

发表评论