1

我是 wiki 的管理员(使用 MediaWiki),我们的一个赞助链接要求我们将 rel="nofollow" 属性添加到他们的链接中,因为他们试图遵守新的谷歌政策。不久前我故意禁用了整个 wiki 的全局 rel="nofollow",我想保持这种方式,所以我只想更改这个链接。

现在显然,普通用户不可能在单个链接上禁用rel="nofollow" 属性,因为这样垃圾邮件发送者就会这样做并破坏 nofollow 的目的。

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

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

提前致谢!

PS。据我所知,CSS 和 javascript hack 并不好,因为这需要让搜索引擎蜘蛛看到。

4

1 回答 1

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';
于 2011-03-07T20:32:27.483 回答