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

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


<?php function content_nofollow($log_content, $domain){ preg_match_all('/href="(.*?)" rel="external nofollow" /', $log_content, $matches); if ($matches) { foreach ($matches[1] as $val) { if (strpos($val, $domain) === false) { $log_content = str_replace('href="' . $val . '" rel="external nofollow"  rel="external nofollow" ', 'href="' . $val . '" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" ', $log_content); } } } preg_match_all('/src="(.*?)" rel="external nofollow" /', $log_content, $matches); if ($matches) { foreach ($matches[1] as $val) { if (strpos($val, $domain) === false) { $log_content = str_replace('src="' . $val . '" rel="external nofollow"  rel="external nofollow" ', 'src="' . $val . '" rel="external nofollow"  rel="external nofollow"  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中测试成功。