XML サイトマップを生成する方法
WordPress で XML サイトマップを生成する方法について説明します。
XML サイトマップとは?
XML サイトマップとはサイト内にあるページのリストを XML 形式で記述したテキストファイルです。
検索エンジンのクローラーなどがサイト構造を理解するのを手助けする目的で作られるもので、一般に SEO を意識したサイト作りにおいてはほぼ必ず活用されるものです。
ちなみに、わざわざ「 XML サイトマップ」と呼ぶ理由は、サイトマップには人間向けに作られる HTML のサイトマップもあるためそれと区別するためです。
WordPress における XML サイトマップの生成方法
大きく 2 とおりの方法があります。
方法 A. WordPress 本体の機能を使う
実は WordPress のバージョン 5.5 ( 2020 年 8 月リリース)以降、 WordPress 本体には XML サイトマップ自動生成機能が備わっています。
生成機能はデフォルトで有効になっているので、 WordPress をセットアップすれば特に設定を行わなくても自動的にサイトマップが生成されます。 固定ページや投稿を追加・削除したときも自動的に更新されるため更新の手間はかかりません。
生成されるサイトマップのパスは /wp-sitemap.xml
です。
例えばサイトの URL が https://example.com
の場合は次の URL になります。
サイトマップが生成されない場合
万が一サイトマップが生成されない場合は以下のような原因が考えられます。
-
表示設定の「検索エンジンがサイトをインデックスしないようにする」が有効になっている
-
( Apache サーバーを使っている場合)リライト設定が正しく設定されていない
-
どこかでサイトマップを生成しない設定をしてしまっている
-
wp-config.php
やテーマのfunctions.php
で設定している -
SEO / サイトマップ系プラグインが独自のサイトマップを生成する代わりに WordPress 本体のサイトマップを生成しないように設定している
-
WordPress 本体が生成するサイトマップの特徴
WordPress 本体が生成するサイトマップはデフォルトで次のようなものになっています。
- 各エントリーの
loc
とlastmod
が出力される。changefreq
priority
は出力されない。- 2024 年 4 月リリースの WordPress 6.5 で
lastmod
が出力されるようになりました。 - 該当チケット: #52099 (Sitemaps "Last Modified" (lastmod) tag) – WordPress Trac
- 2024 年 4 月リリースの WordPress 6.5 で
- 固定ページ・投稿・カテゴリー・ユーザーのページが含まれる。
これをカスタマイズしたい場合は PHP でフック関数を書く必要があります。 細かなカスタマイズをしたい場合はプラグインを利用した方がかんたんかもしれません。
公式サイトの関連ページ:
- Version 5.5 – Documentation – WordPress.org
- New XML Sitemaps Functionality in WordPress 5.5 – Make WordPress Core
- Merge Announcement: Extensible Core Sitemaps – Make WordPress Core
方法 B. プラグインを使う
SEO / サイトマップ系のプラグインを使う方法もあります。
WordPress 本体のサイトマップでは不十分な場合、詳細な設定を行いたい場合はプラグインを利用するのが良いでしょう。 定番人気のサイトマップ生成プラグインとして次のようなものがあります。
- Yoast SEO
- XML Sitemap Generator for Google
Yoast SEO
SEO 全般の機能を提供する定番のプラグインで、機能の一部として XML サイトマップ生成機能を提供しています。 2024 年 3 月時点で 500 万インストール以上となっており、 SEO 系にかぎらず世界で最も多く使われているプラグインのひとつです。
全部入りの非常に多機能なプラグインであり、サイトマップ生成だけを行いたいのであれば少し機能過多かもしれません。
XML Sitemap Generator for Google
XML サイトマップの生成と管理をシンプルに行えるプラグインです。 2024 年 3 月時点で 100 万インストール以上となっています。 WordPress でサイトマップ生成と言えば必ず名前が上がるぐらいの定番プラグインです。
以上です。
ということで、シンプルな機能だけでよければ WordPress 本体の機能を、出力対象ページや項目などを細かく設定したいのであれば(本体の機能をフックでカスタマイズするのではなく)定番プラグインを使う、とするのがおすすめです。