关于SEO这点,网站内部有大量的外链会影响网站的权重,不利于SEO。
什么是“nofollow”?
“nofollow” 标签是Google、Yahoo和微软公司前几年一起提出的一个标签,链接加上这个标签后就不会被计算权值,搜索引擎支持nofollow属性,在很大程度上抑制博客或论坛的垃圾留言。对站长来说是一件大好事。
nofollow是HTML元标签(meta)的content属性和链接标签(a)的rel属性的一个值,告诉机器(爬虫)无需追踪目标页,为了对抗blogspam(博客垃圾留言信息),Google推荐使用nofollow,告诉搜索引擎爬虫无需抓取目标页,同时告诉搜索引擎无需将的当前页的Pagerank传递到目标页。但是如果你是通过sitemap直接提交该页面,爬虫还是会爬取,这里的nofollow只是当前页对目标页的一种态度,并不代表其他页对目标页的态度。
什么是“_blank”?
为文章内的a标签添加target=“_blank”属性时,用户点击链接就会在浏览器的新一个窗口打开,这样可以防止浏览的流失,延长用户访问时间。
步骤
打开typecho根目录下 var/HyperDown.php
文件,找到大概第386行,如以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13
| $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}\">{$escaped}</a>"); }, $text );
|
将代码中的:
1
| return $self->makeHolder("<a href=\"{$url}\">{$escaped}</a>");
|
注释掉,然后在下方添加以下代码:
1 2 3 4 5
| if (strstr($url,'//siteurl.com') == false ) { return $self->makeHolder("<a href=\"{$url}\" target=\"_blank\" rel=\"nofollow\">{$escaped}</a>"); } else { return $self->makeHolder("<a href=\"{$url}\" target=\"_blank\">{$escaped}</a>"); }
|
修改之后的成品:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| $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); if (strstr($url,'//kaygb.top') == false ) { return $self->makeHolder("<a href=\"{$url}\" target=\"_blank\" rel=\"nofollow\">{$escaped}</a>"); } else { return $self->makeHolder("<a href=\"{$url}\" target=\"_blank\">{$escaped}</a>"); } }, $text );
|
然后可以新建文章测试一下。