Typecho稳定正式版:1.1 (17.10.30)实测!

一、什么是nofollow

nofollow标签是由谷歌领头创新的一个“反垃圾链接”的标签,并被百度、yahoo等各大搜索引擎广泛支持,引用nofollow标签的目的是:用于指示搜索引擎不要追踪(即抓取)网页上的带有nofollow属性的任何出站链接,以减少垃圾链接的分散网站权重。Understand??

二、新窗口打开的好处

当外链使用新窗口打开时,并不会关闭自己网站的标签,这样可以有效防止流量的流失,并且延长用户在网站的停留时间,对网站的好处是大大的!


评论作者外链新窗口打开

代码可以在typecho中实现在新窗口打开评论者的主页链接,既有利于SEO优化,也有利于用户访问。
首先在/var/Widget/Abstract文件夹下的 Comments.php 文件中,找到 376 行左右的这句:

echo '<a href="' , $this->url , '"' , ($noFollow ? ' rel="external nofollow"' : NULL) , '>' , $this->author , '</a>';

更改为

echo '<a href="' , $this->url , '"' , ($noFollow ? ' rel="external nofollow"' : NULL) , ' target="_blank">' , $this->author , '</a>';

也就是在链接后面添加了 target="_blank",注意前面有个空格,这个没有添加nofollow!


文章内容外链新窗口打开

打开typecho目录下的 var/HyperDown.php 文件,找到第386行。

// link 
$text = preg_replace_callback(
    "/\[((?:[^\]]|\\\\\]|\\\\\[)+?)\]\(((?:[^\)]|\\\\\)|\\\\\()+?)\)/",
    function ($matches) use ($self) {
        $escaped = $self->parseInline(
            $self->escapeBracket($matches[1]),  '',  false, false
        );      
        $url = $self->escapeBracket($matches[2]);
        $url = $self->cleanUrl($url);
        return $self->makeHolder("<a href=\"{$url}\" target=\"_blank\" rel=\"nofollow\">{$escaped}</a>");
    },
    $text   
);

上面是修改后的代码,也就是加上 target=\"_blank\" rel=\"nofollow\"就可以了,同样注意前面有个空格!
这个参考:https://www.ddkiss.com/archives/143.html

文章目录