我是维基的管理员(使用MediaWiki),我们的一个赞助商链接要求我们在其链接中添加rel =“nofollow”属性,因为他们正在尝试遵守新的Google政策。我有意在前一段时间内为整个wiki禁用了全局rel =“nofollow”,我想保持这种方式,所以我只想更改这一个链接。
现在很明显,普通用户不应该在单个链接上禁用一个rel =“nofollow”属性,因为垃圾邮件发送者会这样做并且无法实现nofollow的目的。< / p>
但我想启用一个rel =“nofollow”属性(我也是一名管理员)。有没有办法做到这一点?
例如,如果我想删除指向某个域的所有链接的rel =“nofollow”标记,我可以修改$ wgNoFollowDomainExceptions。我想要的是相反的:向所有指向某个域的链接添加一个rel =“nofollow”标记。
提前感谢!
PS。据我所知,CSS和javascript黑客并不好,因为这需要是搜索引擎蜘蛛会看到的东西。
答案 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';