跳至正文

在discuz中加入rel=”nofollow”抵制垃圾链接

??? 什么是”rel=nofollow”?

??? 早在2005年,在HTML链接元素中提出了一个新标签那就是rel=”nofollow”,站长和博客们可以在链接中加入这个标签,Google就不会在PageRank系统中建立PageRank“投票”。这个标签可以用来抵抗评论中的垃圾链接。详细说明

在include/discuzcode.func.php 找到:
function parseurl($url, $text) {
?if(!$url && preg_match("/((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|ed2k|thunder|synacast){1}:\/\/|www\.)[^\[\"']+/i", trim($text), $matches)) {
??$url = $matches[0];
??$length = 65;
??if(strlen($url) > $length) {
???$text = substr($url, 0, intval($length * 0.5)).' ... '.substr($url, - intval($length * 0.3));
??}
??return '<a href="'.(substr(strtolower($url), 0, 4) == 'www.' ? 'http://'.$url : $url).'" target="_blank">'.$text.'</a>';
?} else {
??$url = substr($url, 1);
??if(substr(strtolower($url), 0, 4) == 'www.') {
???$url = 'http://'.$url;
??}
??return '<a href="'.$url.'" target="_blank">'.$text.'</a>';
?}
}
替换为:
function parseurl($url, $text) {
?if(!$url && preg_match("/((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|ed2k|thunder|synacast){1}:\/\/|www\.)[^\[\"']+/i", trim($text), $matches)) {
??$url = $matches[0];
??$length = 65;
??if(strlen($url) > $length) {
???$text = substr($url, 0, intval($length * 0.5)).' ... '.substr($url, - intval($length * 0.3));
??}
??return '<a href="'.(substr(strtolower($url), 0, 4) == 'www.' ? 'http://'.$url : $url).'" target="_blank" rel="external nofollow">'.$text.'</a>';
?} else {
??$url = substr($url, 1);
??if(substr(strtolower($url), 0, 4) == 'www.') {
???$url = 'http://'.$url;
??}
??return '<a href="'.$url.'" target="_blank" rel="external nofollow">'.$text.'</a>';
?}
}

标红部分为新增内容,以上方法适用于discuz 7.0 discuz 6.1,对照修改的时候请注意双引号,Wordpress因为引号粘贴可能有些问题。

《在discuz中加入rel=”nofollow”抵制垃圾链接》有1个想法

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据