概要
サイトマップは、googlebot等の検索エンジンのロボットがWebサイトをクロールすることをより効率的にするファイルである。
(botがサイトマッププロトコルをサポートしている場合)
MediaWikiでは、generateSitemap.phpスクリプトを使用して、MediaWiki向けのサイトマップを生成することができる。
generateSitemap.phpスクリプトはコンテンツを持つそれぞれの名前空間のためにサイトマップインデックスファイル、および、GZip圧縮されたサイトマップを生成する。
generateSitemap.phpスクリプトのオプションは、MediaWikiの公式Webサイトを参照すること。
また、Cronを使用してサイトマップを自動的に更新することもできる。
sitemap.xmlの生成
sitemap.xmlを生成する。
php<バージョン>cli maintenance/generateSitemap.php \
--fspath=<sitemap.xmlファイルを保存するディレクトリの相対パス> \ # このディレクトリは、オンラインで閲覧可能である必要がある
--identifier=<データベース名> \ # LocalSettings.phpファイルにある$wgDBnameの値
--urlpath=/sitemap/ \ # --fspathオプションの値を指し示すドメインの相対URL (/sitemap/を指定する時、サイトマップインデックス内のファイル名の先頭に置かれる)
--server=<MediaWikiのホームページのURL> \
--compress=no \ # 圧縮しない場合
--skip-redirects # リダイレクトしない場合
# 例 (PHP 8.1を使用している場合)
php81cli maintenance/generateSitemap.php \
--fspath=sitemap/ \ # sitemap.xmlファイルを保存するディレクトリの相対パス (このディレクトリは、オンラインで閲覧可能である必要がある)
--identifier=<データベース名> \ # LocalSettings.phpファイルにある$wgDBnameの値
--urlpath=/sitemap/ \ # --fspathオプションの値を指し示すドメインの相対URL (/sitemap/を指定する時、サイトマップインデックス内のファイル名の先頭に置かれる)
--server=http://mochiuwiki.e2.valueserver.jp \ # MediaWikiのホームページのURL
--compress=no \ # 圧縮しない場合
--skip-redirects # リダイレクトしない場合
MediaWikiのトップディレクトリにsitemap.xmlのシンボリックリンクを作成する。
ln -fs sitemap/sitemap-index-<サイト名>.xml sitemap.xml