WordPress 教程:实现文章/页面正文外链转内链

[ 博客 ]

为优化 WordPress 正文中外链的问题,我们可以给外链增加 Nofollow,方法见《文章/页面站外链接自动添加 nofollow 属性和新窗口打开》,也可以将外链转为内链,快捷的方法如安装 simple url、wp noexternallink、pretty link 这类插件。本文将介绍如果在 WordPress 主题中加上通过中间页外链转内链并跳转至目标页面的方法。此方法仅判断文章/页面正文中存在的外链。

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

add_filter('the_content','go_url',999);//外链中间页
function go_url($content){
preg_match_all('/href="(.*?)" rel="external nofollow" rel="external nofollow" rel="external nofollow" /',$content,$matches);
if($matches){
foreach($matches[1] as $val){
if( strpos($val,home_url())===false ) $content=str_replace("href=\"$val\"", "rel=\"nofollow\" href=\"" . get_bloginfo('wpurl'). "/go?url=" .base64_encode($val). "\"",$content);}
}
return $content;
}

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

<?php $url = $_GET['url']; $url = base64_decode($url); ?>
<meta charset="utf-8" />
<meta http-equiv="refresh" content="0.1;url=<?php echo $url; ?>">
跳转页

index.php 页面可以自由美化。

以上代码中已实现 base64 将源链接加密,并且加上了 nofollow,如果还是担心蜘蛛会爬行,可在 Robots 禁止所有蜘蛛爬行 /go?url 目录,方法见《利用 robots.txt 优化 WordPress SEO》。

发表评论

您的个人信息将得到保护,邮箱不会被公开。