MediaWikiで検索エンジン用サイトマップを出力する

提供:あわ自由帳

自宅サーバー(CentOS7)にMediaWikiを導入しサイトマップを追加したときの記録です。各自の使用サーバーにあわせて変更してください。

MediaWikiをショートURLにする場合

MediaWikiをショートURLにする場合です。

http://sudachi.jp/wiki/             # MediaWiki
http://sudachi.jp/w/                # MediaWiki本体
http://sudachi.jp/w/sitemap/    # サイトマップディレクトリ

導入例

午前0時にサイトマップを作成するようにした当サイトの例です。
※枠からはみ出るので途中に改行が入ってます。

[root@host4 ~]# vi /etc/cron.d/MediaWiki

00 00 * * * sysop php /var/www/html/w/maintenance/generateSitemap.php --fspath /var/w/html/wiki/sitemap --server
http://sudachi.jp --urlpath http://sudachi.jp/w/sitemap --compress=no --identifier=wiki > /dev/null

サイトマップを出力するディレクトリの設定

--fspath /var/www/html/w/sitemap

サイトマップを出力するURLの設定

--urlpath http://sudachi.jp/w/sitemap

サイトマップを圧縮しないようにする設定。

--compress=no

サイトマップファイル名に追加する設定。この設定を書かないとデーターベース名がサイトマップファイル名の一部に入ります。

--identifier=wiki

robots.txtに記載

robots.txtに追加記入します。Googleウェブマスターツール に登録するとGoogle検索エンジンに登録されるのが早くなります。

Sitemap: http://sudachi.jp/w/sitemap/sitemap-index-wiki.xml

MediaWikiをショートURLにする(Apache)にする場合

MediaWikiをショートURLにする(Apache)にする場合です。

http://sudachi.jp/w/               # MediaWiki本体
http://sudachi.jp/w/sitemap/       # サイトマップディレクトリ
http://sudachi.jp/wiki/            # シュートURL

導入例

午前0時にサイトマップを作成するようにした当サイトの例です。
※枠からはみ出るので途中に改行が入ってます。

[root@host4 ~]# vi /etc/cron.d/MediaWiki

00 00 * * * sysop php /var/www/html/w/maintenance/generateSitemap.php --fspath /var/www/html/w/sitemap --server
http://sudachi.jp --urlpath http://sudachi.jp/w/sitemap --compress=no --identifier=wiki > /dev/null

サイトマップを出力するディレクトリの設定

--fspath /var/www/html/w/sitemap

サイトマップを出力するURLの設定

--urlpath http://sudachi.jp/w/sitemap

サイトマップを圧縮しないようにする設定。

--compress=no

サイトマップファイル名に追加する設定。この設定を書かないとデーターベース名がサイトマップファイル名の一部に入ります。

--identifier=wiki

robots.txtに記載

robots.txtに追加記入します。Googleウェブマスターツール に登録するとGoogle検索エンジンに登録されるのが早くなります。

User-agent: *

# MediaWiki
Allow: /w/api.php?action=mobileview&
Allow: /w/load.php?
Allow: /w/sitemap/ ← 追加
Disallow: /w/

Sitemap: http://sudachi.jp/w/sitemap/sitemap-index-wiki.xml ← 追加

generateSitemap.phpオプション

--help
Sitemapを生成するために利用可能なオプションが表示されます。
--fspath=<path>
サイトマップを保存するディレクトリまでのシステムパスを書きます。このディレクトリには、オンラインで閲覧可能である必要があり、注意してください!
--identifier=<identifier>
サイトマップファイル名に追加する設定。この設定を書かないとデーターベース名がサイトマップファイル名の一部に入ります。
--urlpath=<prefix>
Googleがサイトマップで絶対URLを必要とするため、これが必要になります。また、--server指定する必要があります。
--server
ホスト名はURLで書きます。サーバー名の検出に失敗し、xmlファイルで"localhost"または"my.servername」として表示されますので、これが必要な場合があります。
--compress=[yes|no]
サイトマップファイルを圧縮します。デフォルトの設定は[yes]です。