2011-03-07 65 views
1

我(使用鏈接到MediaWiki)對維基管理員,而我們的贊助商鏈接的一個要求我們加入的rel =「nofollow」屬性的鏈接,因爲他們正試圖遵守新的谷歌政策。前段時間我有意爲整個維基禁用了全局性的rel =「nofollow」,我想這樣保留,所以我只想改變這一個鏈接。添加「nofollow」的標籤,以一個單一的鏈接MediaWiki的

現在很明顯,它不應該對普通用戶有可能禁用一個相對單一的鏈接=「nofollow」屬性,從此垃圾郵件發送者會做到這一點,並擊敗nofollow的目的。

但我想啓用一個rel =「nofollow」屬性(我也是管理員)。有沒有辦法做到這一點?

例如,我可以修改$ wgNoFollowDomainExceptions如果我想刪除一個相對=「nofollow」標籤的所有鏈接到某個域。我想要的是相反的:添加一個rel =「nofollow」標籤到某個域的所有鏈接。

在此先感謝!

PS。據我所知,CSS和JavaScript黑客並不好,因爲這需要搜索引擎蜘蛛會看到的東西。

回答

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'; 
相關問題