概要

拡張機能を追加することにより、MediaWikiの外観や動作をカスタマイズできる。

MediaWikiの管理者の場合、MediaWiki上の拡張機能を管理することができ、インストールおよび削除することができる。

拡張機能には、MediaWikiの開発者によって保守されているものもあるが、サードパーティーの開発者により記述されたものもある。
そのため、拡張機能の多くがバグを有しており、相互に互換性があることを保証されているわけではない。

また、一部の拡張機能はメンテナンスがされていないものもある。
したがって、全ての拡張機能がMediaWikiで動作するわけではない。

特に、安全ではないというタグが付けられたものについては、自己責任で使用する。

コアソフトウェアにパッチを適用する必要がある拡張機能を使用する場合、データベースのバックアップを取ることを推奨する。


CirrusSearch

CirrusSearchとは

CirrusSearch (シーラスサーチ) は、MediaWikiの検索機能を強化する拡張機能である。
Wikipediaをはじめ、ウィキメディアプロジェクトは全てこの拡張を使用している。

検索エンジンにはElasticsearch拡張機能を使用しており、軽量に全文検索を行うことができる。
ただし、複雑な依存関係であるため、インストールは煩雑である。

CirrusSearchのインストール

まず、Elasticsearchの公式Webサイトにアクセスして、Elasticsearchをダウンロードする。
ダウンロードしたファイルを解凍する。

tar xf Elastica-REL<バージョン>.tar.gz


次に、CirrusSearchの公式Webサイトにアクセスして、CirrusSearchをダウンロードする。
ダウンロードしたファイルを解凍する。

tar xf CirrusSearch-REL<バージョン>.tar.gz


解凍したディレクトリをextensionsディレクトリに配置する。

Localsettings.phpファイルを、以下に示すように編集する。

 # Localsettings.phpファイル
 
 wfLoadExtension( 'Elastica' );
 wfLoadExtension( 'CirrusSearch' );



アカウントの統合

UserMergeとは

UserMerge拡張機能は、usermerge権限を持つWiki利用者が、ある利用者を別の利用者へ統合できるようにする。

  • UserMergeの特長
    • 統合 (アカウントAの投稿記録、テキスト、ウォッチリスト、編集回数をアカウントBへ統合)
    • 統合後のアカウントAを削除する。(オプションボックス)

  • 制限事項
    • 既に統合されたアカウントを統合することはできない。
    自身のアカウント(ログイン済利用者)を別の利用者に統合することはできない。


UserMergeのインストール

UserMergeの公式Webサイトにアクセスして、UserMergeをダウンロードする。
ダウンロードしたファイルを解凍する。

tar xf UserMerge-REL<バージョン>.tar.gz


解凍したディレクトリをextensionsディレクトリに配置する。

Localsettings.phpファイルを、以下に示すように編集する。

 # Localsettings.phpファイル
 
 wfLoadExtension( 'UserMerge' );
 $wgGroupPermissions['sysop']['usermerge'] = true;  // 管理者のみ有効にする場合


UserMergeの使用手順

[特別ページ] - [利用者の統合と削除]ページにアクセスする。

[旧利用者 (統合元):]項目に統合元ユーザを入力して、[利用者 (統合先):]項目に統合先ユーザを入力する。
統合元ユーザを削除する場合は、[旧利用者を削除]チェックボックスにチェックを入力する。
最後に、[利用者の統合]ボタンを押下する。


WikiSEOエクステンション

WikiSEOエクステンションは、HTMLのタイトルタグの内容を置換、追加、前置することができる。
また、HTMLファイルのheadタグにkeywordsdescriptionといった一般的なSEO(検索エンジン最適化)メタ要素を追加することも可能である。

WikiSEOエクステンションの公式Webサイトにアクセスして、WikiSEOエクステンションをダウンロードする。
ダウンロードしたファイルを解凍して、MediaWikiのメインディレクトリにあるextensionディレクトリに配置する。

MediaWikiのメインディレクトリにあるLocalSettings.phpファイルに、以下の設定を追記する。

 # LocalSettings.phpファイル
 
 # ...略
 
 wfLoadExtension( 'WikiSEO' );
 $wgWikiSeoDefaultImage= '<ロゴ画像ファイルのパス>';  # Webサイトに画像が設定されていない場合に使用する
                                # この変数が設定されていない場合、Webサイトのロゴが使用される
 $wgGoogleSiteVerificationKey = '<Google向けに使用するGoogle Search Consoleのキー>';
 
 # ...略


変数$wgGoogleSiteVerificationKeyを設定する場合、Google Search Consoleにアクセスして、[設定]からキーを取得する。

  1. 画面左ペインにある[設定] - 画面右ペインにある[ユーザーと権限]を選択する。
  2. [ユーザー]からユーザ名の右にある[︙]から、[所有権の確認の詳細]を選択する。
  3. [HTMLタグ]項目にキーが記述されている。


以下の例では、MediaWikiの任意のページの任意の箇所にメタキーワードであるnameタグ(keywords)およびcontentタグ(description)を埋め込んでいる。

 {{#seo:
 |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
 |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板
 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
 |image=<ロゴ画像ファイルのパス>
 }}



Canonicalタグ

この機能はMediaWikiの標準機能のため、拡張をダウンロードする必要はない。

Webコンテンツが重複または類似しているページURLを正規化するHTMLタグをCanonicalタグという。

重複コンテンツが存在する場合、検索エンジンからはコピーコンテンツとみなされるため、ページ評価を下げる可能性がある。

重複コンテンツの対策として、Canonicalタグを設定してクローラにどのページがメインページなのかを伝える方法がある。

CanonicalタグでURLを1つにする場合、BingやGoogle等の検索エンジンは正規化されたメインページのみをインデックスに登録する。
同じ内容のページが複数のURLでインデックス登録されている場合は、Canonicalタグが設定してあるページのみインデックスが登録される。

検索エンジンが重複コンテンツとみなすページとしては、端末ごとにWebサイトを持つ場合、ECサイトでサイズや色が異なるページ、AMPを使用しているページ等がある。

 # 各ページの<head>タグにCanonicalタグが挿入される
 $wgEnableCanonicalServerLink = true;
 
 $wgServer = "<プロトコル + ドメイン  例: http://www.example.com>";
 # または
 $wgCanonicalServer = "<プロトコル + ドメイン  例: http://www.example.com>";



デスクトップ向けスキン

MediaWikiの公式Webサイトにアクセスして、任意のスキンをダウンロードする。
ダウンロードしたファイルを解凍する。

解凍したディレクトリをMediaWikiのルートドキュメント下にあるskinsディレクトリに配置する。

LocalSettings.phpファイルを編集して、スキンを設定する。

cd <MediaWikiのあるディレクトリ>
vi LocalSettings.php


 # LocalSettings.phpファイル
 
 wfLoadSkin( '<スキン名>' );
 
 $wgDefaultSkin = '<スキン名>';


以下に示すようなデスクトップ向けスキンがある。



モバイル向けスキン

各スキンをダウンロードする。

cd /<MediaWikiのあるディレクトリ>/skins

wget https://extdist.wmflabs.org/dist/skins/Vector-<バージョン>.tar.gz
wget https://extdist.wmflabs.org/dist/skins/MinervaNeue-<バージョン>.tar.gz


また、各スキンのURLを以下に示す。


ダウンロードしたファイルを解凍する。

tar xf Vector-<バージョン>.tar.gz
tar xf MinervaNeue-<バージョン>.tar.gz



LocalSettings.phpを編集して、拡張機能とスキンを有効化する。

※注意 1
$wgDefaultMobileSkinの設定は、$wgDefaultSkinの設定よりも前に記述する必要がある。

cd <MediaWikiのあるディレクトリ>
vi LocalSettings.php


 # LocalSettings.phpファイル
 
 wfLoadExtension( 'MobileFrontend' );
 wfLoadSkin( 'Vector' );
 wfLoadSkin( 'MinervaNeue' );
 
 # モバイル向けスキンは、$wgDefaultSkinよりも先に記述する
 $wgDefaultMobileSkin = 'minerva';
 
 # デスクトップ向けスキン
 $wgDefaultSkin = 'vector';


※注意 2
もし、モバイル向けスキンが表示されない場合、MediaWikiの公式Webサイトにアクセスして、最新のMobileFrontendをダウンロードする。
ダウンロードしたファイルを解凍する。

tar xf MobileFrontend-<バージョン>.tar.gz


現在使用しているMobileFrontendをバックアップする。

cd /<MediaWikiのあるディレクトリ>/extensions
mv MobileFrontend MobileFrontend_org


LocalSettings.phpファイルを編集して、MobileFrontend拡張機能を読み込む。

 # LocalSettings.phpファイル
 
 wfLoadExtension( 'MobileFrontend' );


MobileFrontendのGithubを以下に示す。
Github : https://github.com/wikimedia/mediawiki-extensions-MobileFrontend