MediaWikiの設定 - サイトマップ

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
ナビゲーションに移動 検索に移動

概要

サイトマップは、googlebot等の検索エンジンのロボットがWebサイトをクロールすることをより効率的にするファイルである。
(botがサイトマッププロトコルをサポートしている場合)

MediaWikiでは、generateSitemap.phpスクリプトを使用して、MediaWiki向けのサイトマップを生成することができる。

generateSitemap.phpスクリプトはコンテンツを持つそれぞれの名前空間のためにサイトマップインデックスファイル、および、GZip圧縮されたサイトマップを生成する。
generateSitemap.phpスクリプトのオプションは、MediaWikiの公式Webサイトを参照すること。

また、Cronを使用してサイトマップを自動的に更新することもできる。


sitemap.xmlの生成

MediaWikiのサイトマップを作成するため、ドキュメントルート($IP、LocalSettings.phpファイルが存在する階層)にて、サイトマップファイルを保存するディレクトリを作成する。
(名前空間ごとに1つとインデックスファイルがある)

mkdir sitemap


次に、sitemap.xmlを生成する。

# MediaWiki 1.40以降
php<バージョン>cli maintenance/run.php generateSitemap \
         --memory-limit=50M \                                  # 未指定でもよい
         --fspath<sitemap.xmlファイルを保存するディレクトリの相対パス> \  # このディレクトリは、オンラインで閲覧可能である必要がある
         --identifier=<データベース名> \                          # LocalSettings.phpファイルにある$wgDBnameの値
         --urlpath=/sitemap/ \                                 # --fspathオプションの値を指し示すドメインの相対URL (/sitemap/を指定する時、サイトマップインデックス内のファイル名の先頭に置かれる)
         --server=<MediaWikiのホームページのURL> \
         --compress=no \                                       # 圧縮しない場合
         --skip-redirects

# MediaWiki 1.32 〜 1.39
php<バージョン>cli maintenance/generateSitemap.php \
         --memory-limit=50M \                                   # 未指定でもよい
         --fspath=<sitemap.xmlファイルを保存するディレクトリの相対パス> \  # このディレクトリは、オンラインで閲覧可能である必要がある
         --identifier=<データベース名> \                           # LocalSettings.phpファイルにある$wgDBnameの値
         --urlpath=/sitemap/ \                                  # --fspathオプションの値を指し示すドメインの相対URL (/sitemap/を指定する時、サイトマップインデックス内のファイル名の先頭に置かれる)
         --server=<MediaWikiのホームページのURL> \
         --compress=no \                                        # 圧縮しない場合
         --skip-redirects                                       # リダイレクトしない場合

# 例: MediaWiki 1.32 〜 1.39 (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