Extension:AutoSitemap

This page is a translated version of the page Extension:AutoSitemap and the translation is 80% complete.
MediaWiki 拡張機能マニュアル
AutoSitemap
リリースの状態: 安定
実装 自分のウィキ , ページの操作
説明 サイトのページが変化している間、自動的にサイトマップファイルを作成・更新します。
作者 Dolfinus, François Boutines-Vignard, Jehy, Thomas
最新バージョン 1.8.1 (2024-09-01)
MediaWiki 1.25+
データベースの変更 いいえ
ライセンス GNU 一般公衆利用許諾書 3.0 以降
ダウンロード
README
サイトマップの生成
$wgAutoSitemap

AutoSitemap拡張機能は、ページの作成/編集/削除のイベントごとに自動的に"sitemap.xml"ファイルを構築します。 サイトマップファイルは、検索エンジンがあなたのサイトのページを観察するのに役立ちます。 この拡張機能は、拡張機能ManualSitemap に基づいています。

根拠

私はホスティングプロバイダのためにスケジューラ(cronなど)を介して私のサイトマップを更新する可能性を持っていない、と私はまた、手動でそれを更新したくありません。

そこで、既存の拡張機能を編集して、ページの編集、作成、削除、名前の変更、アップロードなどのイベント時にサイトマップを自動的に更新するようにしました。

Note

This extension can be used on small MediaWiki instances (up to 10k pages). If your instance is larger than 50k pages, you should use GenerateSitemap.php instead because it does support sitemap index file, can create separated files for each namespace, compress sitemap files and also designed to be run on schedule instead of triggering after each page modification.

インストール

  • ダウンロードして、ファイルをextensions/フォルダー内のAutoSitemapという名前のディレクトリ内に配置します。
  • 以下のコードを LocalSettings.php ファイルの末尾に追加します:
    wfLoadExtension( 'AutoSitemap' );
    
  • Wikiのページを変更する(例:ページの作成、既存のページの更新
  • サイトマップファイルは自動的に生成されます
  •   完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。

設定

サイトマップの生成を変更するオプションのパラメータがいくつかあります。 LocalSettings.phpで設定することができます。

ファイル名

設定により、サイトマップのファイル名を設定することができます。

$wgAutoSitemap["filename"] = "sitemap.xml"; //default value

ベースURLの設定

デフォルトでは、サイトマップのすべてのURLはドメインの接頭辞として$wgCanonicalServer (設定されていない場合は$wgServer) を使用します。 別のものに設定したい場合は、設定により手動で変更することができます。

$wgAutoSitemap["server"] = "https://your-site.com";

サイトマップからページの種類を除外する

名前空間や正確なページをサイトマップに含めないようにすることができます。

$wgAutoSitemap["exclude_namespaces"] = [
    NS_TALK,
    NS_USER,   
    NS_USER_TALK,
    NS_PROJECT_TALK,
    NS_FILE_TALK,
    NS_MEDIAWIKI,   
    NS_MEDIAWIKI_TALK,
    NS_TEMPLATE,
    NS_TEMPLATE_TALK,
    NS_HELP,   
    NS_HELP_TALK,
    NS_CATEGORY_TALK
]; //default values

$wgAutoSitemap["exclude_pages"] = ['page title to exclude', 'other one'];

If you need to exclude custom namespace from sitemap, pass here namespace ID (integer) instead of name constant.


ページ更新頻度の設定

すべてのアドレスが検索エンジンによってチェックされる推奨頻度を手動で指定することができます。

$wgAutoSitemap["freq"] = "daily"; //default

使用可能な値は以下の通りです。

hourly
daily
weekly
monthly
yearly
adjust - for automatic determination of frequency based on page edits count

ページの優先順位を設定する

You can manually specify priority for certain pages or namespaces:

$wgAutoSitemap["priority"] = 0.7;

または

$wgAutoSitemap["priority"][NS_MAIN] = 1;
$wgAutoSitemap["priority"][NS_CATEGORY] = 0.8;

または

$wgAutoSitemap["priority"]['Main page'] = 1;
$wgAutoSitemap["priority"]['Other page'] = 0.8;

Rate-limit recreation of the sitemap

For wikis with many pages, generating the sitemap may consume significant resources, so you may not want it to happen too frequently. With this option, you can specify that the sitemap should only be recreated if it's at least a certain number of seconds old.

$wgAutoSitemap["min_age"] = 3600; // 1 hour, default 0 (no rate-limit)

使用

Blank page after installing extension

Please follow Manual:デバッグの方法 instruction to get exception message interrupting page render process. Usually this is caused by passing undefined constant to $wgAutoSitemap["exclude_namespaces"].

権限

MediaWikiフォルダは書き込み操作を許可されている必要があります(chmod +wchown apacheまたはchown nginx)。

.htaccess、Nginx

人間が読めるサイトマップを表示したい場合は、サイト設定(.htaccessファイルなど)でsitemap.xslファイルの読み込みを許可してください。

関連項目