您在這裡

修改MediaWiki網站的HTML Title

James Qi 在 2012年8月29日 - 11:28 發表

  MediaWiki的一個特點是頁面标題與頁面網址對應,這樣做内部鍊接的時候很方便。不過在有些情況下,需要對頁面标題進行一些更改,MediaWiki中就引入了{{DISPLAYTITLE:}}這樣的标記,使頁面顯示的标題與鍊接有所不同。

  但我們最近還希望讓頁面的HTML源代碼中的标題也有所變化,而Wiki系統中的PageTitle(位于<h1></h1>之間)和HTMLTitle(位于<title></title>之間)是不一樣的。前些天在MediaWiki官方網站找了好久也沒有找到适合我們使用的插件。

  今天反複測試,終于找到了解決辦法,将includes/OutputPage.php中的一段代碼修改後可以實現我們希望的效果:

//jamesqi2012-8-29  $ret .= "<title>" . htmlspecialchars( $this->getHTMLTitle() ) . "</title>\n";
  $ret .= "<title>" . htmlspecialchars( $this->getPageTitle() ) ." - ".wfMsgForContent( 'pagetitle-view-mainpage' ). "</title>\n";

  前面一句被注釋掉了,後面一句是我加上的。

  這樣做有違Wiki網站的初衷,但我們其實是把MediaWiki作為一種CMS在使用,并沒有作為多人協作的Wiki平台,所以為了更好的SEO效果,這樣修改還是有必要的。

回應

昨天在為繁體網站(如:tw.youbianku.com)添加手機版(如:tw.m.youbianku.com)的時候,偶然發現繁體網站的HTML Title與顯示Title不一樣,顯示Title是繁體的,但HTML Title确實簡體的!我查看了搜索引擎Google的網頁快照,有些頁面Title是對的,有些是錯的,這個問題不知道是什麼時候就存在的?我懷疑是MediaWiki某次版本升級之後就一直有這個問題,直到幾年後才現在被發現。
已經用上面這個辦法,将繁體網站和繁體網站的手機版的includes/OutputPage.php都進行了修改,現在的HTML Title可以正常顯示繁體字了。

James Qi / 祁勁松

發表新回應

Plain text

  • 不允許使用 HTML 標籤。
  • 自動將網址與電子郵件地址轉變為連結。
  • 自動斷行和分段。