将“nofollow”标记添加到MediaWiki中的单个链接

时间:2011-03-07 17:36:53

标签: hyperlink mediawiki nofollow

我是维基的管理员(使用MediaWiki),我们的一个赞助商链接要求我们在其链接中添加rel =“nofollow”属性,因为他们正在尝试遵守新的Google政策。我有意在前一段时间内为整个wiki禁用了全局rel =“nofollow”,我想保持这种方式,所以我只想更改这一个链接。

现在很明显,普通用户不应该在单个链接上禁用一个rel =“nofollow”属性,因为垃圾邮件发送者会这样做并且无法实现nofollow的目的。< / p>

但我想启用一个rel =“nofollow”属性(我也是一名管理员)。有没有办法做到这一点?

例如,如果我想删除指向某个域的所有链接的rel =“nofollow”标记,我可以修改$ wgNoFollowDomainExceptions。我想要的是相反的:向所有指向某个域的链接添加一个rel =“nofollow”标记。

提前感谢!

PS。据我所知,CSS和javascript黑客并不好,因为这需要是搜索引擎蜘蛛会看到的东西。

1 个答案:

答案 0 :(得分:3)

没有配置设置来执行此操作。但是你可以使用LinkerMakeExternalLink钩子轻松地做到这一点。将其添加到您的LocalSettings.php

function localAddNoFollow( &$url, &$text, &$link, &$attribs ) {
    $bits = wfParseUrl( $url );
    if ( is_array( $bits ) && isset( $bits['host'] ) ) {
        if ( $bits['host'] == 'www.example.com' ) {
            $attribs['rel']='nofollow';
        }
    }
    return true;
}
$wgHooks['LinkerMakeExternalLink'][] = 'localAddNoFollow';