首先,为什么要做内链转外链呢?用内链来跳转外链最起码也可以防止你网站权重流失,在这里给大家分享一段wordpress文章与页面外链转内链的代码,并且支持@R_591_404@、加nofollow标签、加密原链接功能。另外你也可以使用插件来完成。
一、无插件
首先,在你当前使用主题的 functions.PHP 中加入以下代码
add_filter('the_content','baezone_the_go_url',999);
function baezone_the_go_url($content){
preg_match_all('/href="(.*?)"/',$content,$matches);
if($matches){
foreach($matches[1] as $val){
if( strpos($val,home_url())===false ) $content=str_replace("href="$val"","href="" . get_bloginfo('wpurl'). "/go?url=" .base64_encode($val). """,$content);
}
}
return $content;
}
然后在网站根目录下新建个名为 go 的文件夹,在其中写个 index.PHP 的文件,内容如下(请保存为UTF-8无BOM格式):
$url = $_GET['url'];
$url = base64_decode($url);
?>
<Meta charset=utf-8 />
<Meta name="robots" content="nofollow">
<Meta http-equiv="refresh" content="0.1;url=PHP echo $url; ?>">
补充一点:尽管代码中已经用 base64 将源链接加密,并且加上了 nofollow,但恐怕蜘蛛还是能爬行,所以干脆一不做二不休,在 Robot s 禁止所有蜘蛛爬行 /go?url 目录吧!
二、Simple URLs
Simple URLs是wordpress的一款插件,调用了wordpress本身的发布功能,添加个链接,就向发布文章一样简单,还支持统计链接点击次数哦。