给WordPress添加上外链转内链的方法  

前面说到近期因为Google沙盒事件对三十岁博客做了一些针对性处理,例如链接和评论的清理功能,还有主要的一点,就是修改网站外链成为内链跳转.具体单纯的跳转方法介绍请参看 WordPress的几种添加跳转内链的处理方式.下面我会说一下本站的具体处理方式.

三十岁

出站链接一般分为如下几种情况:

1.评论作者url
2.评论内url
3.文章正文url
4.友链
第4条不在考虑范围,如果友链加上跳转,估计没人跟你换友链了.那我们首先看一下1和2.
一般theme的comment author和comment text都是在functions.php中进行处理,你可以选择直接修改 get_comment_author_url()或者comment_author_url()函数出现位置的<a>标签href属性即可.
<a id="commentauthor-<?php comment_ID() ?>" href="<?php comment_author_url() ?>"  target="_blank">
修改为
<a id="commentauthor-<?php comment_ID() ?>" href="go.php?url=<?php comment_author_url() ?>"  target="_blank">

当然我知道你会自己放好go.php的位置的.

这种方式,按照道理来说可以达到效果了,但是如果出现的位置多,修改起来也很麻烦,还是过滤器比较方便.下面的方法我在 WordPress的几种添加跳转内链的处理方式 一文说过,




我不知道为什么,网上找到的方式,对于我的主题都不适用,或者是我的Wordpress版本太老了吧,只有下面的方式好用.
add_filter('get_comment_author_url', 'add_redirect_comment_author_url', 5);
function add_redirect_comment_author_url($text = '')
{
    $text=get_option('home').'/go.php?url='.$text;
    return $text;
}

把评论内的链接一起修改了吧.

add_filter('comment_text', 'add_redirect_comment_link', 99);    //评论内容
function add_redirect_comment_link($text = '')
{
    $text=str_replace('href="http://', ' target=_blank href="'.get_option('home').'/go.php?url=', $text);
    $text=str_replace("href='http://", " target=_blank href='".get_option('home')."/go.php?url=", $text);
    return $text;
}
关于第3条,你觉得不够狠要不咱把文章正文的一起改了?你愿意用,咱提供.但是说好了,这不利于SEO的站内链接.尤其是Pretty Link之类的插件
add_filter('the_content', 'add_redirect_comment_link', 99);//文章内容全文链接替换,可能不利于内链

其实要是你愿意动弹,用jQuery指定标签范围进行链接替换也不错.但是一般没有那么勤快的人,代码方式如下,请自行调试

$('.fn a').attr({ target: "_blank","rel":"external nofollow","href":$(this).attr("href"),replace("http://","go.php?url=http://" });

好了,就这么多吧.至于go.php的内容在 WordPress的几种添加跳转内链的处理方式 已经提供了下载,你要是懒得看我再贴在这里吧 传送门 解压密码 http://30c.org

关心缩略图问题请参看 给你的网站加上指定域名显示在线缩略图功能,至于如何去掉缩略图免费账户的广告请参看 如何简单破解shrinktheweb的缩略图跳转广告 .

天不早了,洗洗睡.By Clove 2012-04-08

欢迎大佬支持本博客的发展 -- Donate --

本文链接:给Wordpress添加上外链转内链的方法

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:三十岁,谢谢!^^


分享到:          
  1. 不错

  2. 过来学习哈

  3. 折腾了一下,想想还是加个nofollow就算了吧

  4. blog真干净

  5. 博主也是个博客控啊

  1. 没有通告