Добавление тега "nofollow" к одной ссылке в MediaWiki - PullRequest
1 голос
/ 07 марта 2011

Я администратор вики (использую MediaWiki), и одна из наших спонсорских ссылок попросила добавить атрибут rel = "nofollow" к их ссылкам, поскольку они пытаются соответствовать новой политике Google.Я намеренно отключил глобальный rel = "nofollow" для всей вики некоторое время назад, и я хочу сохранить его таким образом, поэтому я просто хочу изменить эту ссылку.

Теперь, очевидно, это не должно бытьдля обычного пользователя возможно отключить атрибут rel = "nofollow" для одной ссылки, поскольку тогда спаммеры сделали бы это и победили бы цель nofollow.

Но я хочу enable атрибут rel = "nofollow" (и я также являюсь администратором).Есть ли способ сделать это?

Например, я могу изменить $ wgNoFollowDomainExceptions, если я хочу удалить тег rel = "nofollow" для всех ссылок на определенный домен.Все, что я хочу, это наоборот: добавить тег rel = "nofollow" ко всем ссылкам на определенный домен.

заранее спасибо!

PS.Насколько я могу судить, взломы CSS и javascript бесполезны, так как это должно быть то, что увидит паук поисковой системы.

1 Ответ

3 голосов
/ 07 марта 2011

Нет настроек для этого. Но вы можете легко сделать это, используя хук 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';
...