从SEO角度考虑,我们会在外部的链接设置nofollow标签来降低权重的传递分离。这里,我们在typecho程序中如何实现呢?
打开typecho跟目录下的 var/HyperDown.php 文件,找到第386行,如以下代码:
$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
);
把代码中的:
return $self->makeHolder("<a href=\"{$url}\">{$escaped}</a>");
替换成:
if (strstr($url,'//www.laozuo.org') == false ) {
return $self->makeHolder("<a href=\"{$url}\" target=\"_blank\" rel=\"nofollow\">{$escaped}</a>");
} else {
return $self->makeHolder("<a href=\"{$url}\" target=\"_blank\">{$escaped}</a>");
}