Extension:AutoSitemap

This page is a translated version of the page Extension:AutoSitemap and the translation is 82% complete.
MediaWiki 拡張機能マニュアル
AutoSitemap
リリースの状態: 安定
実装 自分のウィキ , ページの操作
説明 サイトのページが変化している間、自動的にサイトマップファイルを作成・更新します。
作者 Dolfinus, François Boutines-Vignard, Jehy, Thomas
最新バージョン 1.8.0 (1.3 for MW 1.33 and lower) (2023-02-17)
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";

検索エンジンへの通知

サイトマップの更新を希望するWebサイトに通知することができます。 通知するURLをすべて配列で記述すればよい。

$wgAutoSitemap["notify"] = [
    'https://www.google.com/webmasters/sitemaps/ping?sitemap=https://your-site.com/sitemap.xml',
];

ウェブホスティング会社が、fopenコマンドでURL(allow_url_fopen=false)を呼び出すことを許可しないことがあります。 notificationを使用できない、または使用したくない場合は、括弧(= [];)の間の行をすべて削除し、空の配列にします。

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

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

$wgAutoSitemap["exclude_namespaces"] = [
    NS_TALK,
    NS_USER,   
    NS_USER_TALK,
    NS_PROJECT_TALK,
    NS_IMAGE_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)

使用

権限

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

.htaccess、Nginx

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

関連項目