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中测试成功。