默认情况Typecho文章中如果有添加链接,那么是从当前窗口跳转的,并且外链没有添加nofollow标签,不利于SEO,Typecho文章内链接新窗口并添加nofollow标签如下。

或许是小不习惯点击关闭按钮多于后退按钮,所以强迫症又复发了。于是发生了后面的事儿,每一次小不发文绝大可能都是因为将搜索引擎翻了个底朝天都没有然后,然后却又无疑撞到“玄机”,经历对typecho 1.0的var目录刨根,黄土厚爱有人心,最终也算解决了typecho 1.0文章内链接从新窗口打开及给文章内链接增加nofollow的问题。

在function.php的parseContent()里,修改为:

function parseContent($obj){
    $options = Typecho_Widget::widget('Widget_Options');
    if(!empty($options->src_add) && !empty($options->cdn_add)){
        $obj->content = str_ireplace($options->src_add,$options->cdn_add,$obj->content);
    }
    echo trim($obj->content);
}

修改为:

function parseContent($obj) {
    $options = Typecho_Widget::widget('Widget_Options');
    if (!empty($options->src_add) && !empty($options->cdn_add)) {
        $obj->content = str_ireplace($options->src_add, $options->cdn_add, $obj->content);
    }
    $obj->content = preg_replace("/<a href=\"([^\"]*)\">/i", "<a href=\"\\1\" target=\"_blank\" rel=\"nofollow\">", $obj->content);
    echo trim($obj->content);
}

可能方案并不完美也不规范,小的不是不提倡修改程序源码的,但是介于小不不会php做不到写插件及通过修改模板达到相同效果也就只能动程序了,谁让你“不乖”。当然如果大牛看到了本文请略过,然后再大法神功写过模板函数或者造个插件都是极好的。

效果为:https://www.hiai.top/archives/45.html