「MediaWikiの設定 - サイトマップ」の版間の差分

提供: MochiuWiki : SUSE, EC, PCB

ページの作成:「== 概要 == サイトマップは、googlebot等の検索エンジンのロボットがWebサイトをクロールすることをより効率的にするファイルである。<br> (botがサイトマッププロトコルをサポートしている場合)<br> <br> MediaWikiでは、generateSitemap.phpスクリプトを使用して、MediaWiki向けのサイトマップを生成することができる。<br> <br> generateSitemap.phpスクリプトはコンテン…」
 
 
12行目: 12行目:


== sitemap.xmlの生成 ==
== sitemap.xmlの生成 ==
sitemap.xmlを生成する。<br>
MediaWikiのサイトマップを作成するため、ドキュメントルート(<code>$IP</code>、LocalSettings.phpファイルが存在する階層)にて、サイトマップファイルを保存するディレクトリを作成する。<br>
(名前空間ごとに1つとインデックスファイルがある)<br>
mkdir sitemap
<br>
次に、sitemap.xmlを生成する。<br>
# 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 \
  php<バージョン>cli maintenance/generateSitemap.php \
          --memory-limit=50M \                                  # 未指定でもよい
           --fspath=<sitemap.xmlファイルを保存するディレクトリの相対パス> \  # このディレクトリは、オンラインで閲覧可能である必要がある
           --fspath=<sitemap.xmlファイルを保存するディレクトリの相対パス> \  # このディレクトリは、オンラインで閲覧可能である必要がある
           --identifier=<データベース名> \                          # LocalSettings.phpファイルにある$wgDBnameの値
           --identifier=<データベース名> \                          # LocalSettings.phpファイルにある$wgDBnameの値
21行目: 37行目:
           --skip-redirects                                      # リダイレクトしない場合
           --skip-redirects                                      # リダイレクトしない場合
   
   
  # 例 (PHP 8.1を使用している場合)
  # 例: MediaWiki 1.32 〜 1.39 (PHP 8.1を使用している場合)
  php81cli maintenance/generateSitemap.php \
  php81cli maintenance/generateSitemap.php \
           --fspath=sitemap/ \                            # sitemap.xmlファイルを保存するディレクトリの相対パス (このディレクトリは、オンラインで閲覧可能である必要がある)
           --fspath=sitemap/ \                            # sitemap.xmlファイルを保存するディレクトリの相対パス (このディレクトリは、オンラインで閲覧可能である必要がある)

2024年1月13日 (土) 11:25時点における最新版

概要

サイトマップは、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