Emlog自动给文章内站外超链接添加rel="nofollow"

Emlog教程 2075

SEOer一致认为内容中存在站外链接会导致该页面的权重流失,为了保住权重,通常的做法是给超链接添加rel=”nofollow”属性及属性值,对于经常在内容中添加站外链接的博主来说,手动添加rel=”nofollow”显然很不方便,最好的方法就是让网站识别内容里的站外链接,然后自动给其添加rel=”nofollow”,下面是emlog程序的实现方法。

把下面的代码添加到当前使用的主题的module.php文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php 
function content_nofollow($log_content, $domain){
    preg_match_all('/href="(.*?)"/', $log_content, $matches);
    if ($matches) {
        foreach ($matches[1] as $val) {
            if (strpos($val, $domain) === false) {
                $log_content = str_replace('href="' . $val . '"', 'href="' . $val . '" rel="external nofollow" ', $log_content);
            }
        }
    }
    preg_match_all('/src="(.*?)"/', $log_content, $matches);
    if ($matches) {
        foreach ($matches[1] as $val) {
            if (strpos($val, $domain) === false) {
                $log_content = str_replace('src="' . $val . '"', 'src="' . $val . '" rel="external nofollow" ', $log_content);
            }
        }
    }
    return $log_content;
}
?>

提示:不知道添加到哪里的,直接在module.php文件的最底部的 ?> 下一行添加。

在当前使用主题的echo_log.php文件中,找到代码:

1
<?php echo $log_content; ?>

替换为:

1
<?php echo content_nofollow($log_content,BLOG_URL);?>

保存文件即可。

PS:博客吧在emlog 5.3.x中测试成功。

精品推荐: