WordPress 5.5に実装されたネイティブ サイトマップ機能を無効化する方法

[レベル: 中級]

この記事では、Wordpress 5.5 に標準実装されたサイトマップ生成機能を無効化する方法を紹介します。

WordPress のコア XML サイトマップ機能

リリースされたばかりの WordPress 5.5(この記事を公開している時点での最新バージョン)は、検索エンジン向けの XML サイトマップを作成する機能をコア機能として標準実装しました。
これまでサイトマップ生成にはプラグインを利用していました。

コア サイトマップは WordPress をインストールしたディレクトリの直下に作られます。
ファイル名は wp-sitemap.xml です。
example.com に WordPress をインストールしていたらサイトマップの場所は example.com/wp-sitemap.xml になります。

アクセスしたサイトマップはこんな感じです(正確には、サイトマップ インデックス ファイルを生成する)。

WordPress 5.5 のネイティブ サイトマップ

プラグインが不要になるので便利になるように思えたのですが、「サイトマップを生成する」だけというきわめて基本的な能力しか備えていません。
たとえば、次の 2 点はかなり致命的です。

  • すべての公開 URL をサイトマップに登録する(登録する URL を選択できない)
  • lastmod を追加しない(更新日時を検索エンジンに通知できない)

コードを追加・編集することでカスタマイズ可能ですが、そこまでするならプラグインを使ったほうが楽だし柔軟に対応できます。

SEO にこだわりがあるなら、WordPress のコア サイトマップは利用したくないとおそらく考えるでしょう。
しかしながら、これまた残念なことに、チェックボックスを外せば無効化できるというものでもありません(ようは、勝手にサイトマップを作成し管理画面からはまったく制御できない)。

そこで、コア サイトマップを無効化する方法をこのあと紹介します。

手動で完全無効化する

手動で、コア サイトマップの生成を完全に無効にできます。
次のコードを、利用しているテーマの関数ファイル (function.php) に追加します(テーマの function.php じゃなくても機能すると思います)。

add_filter( 'wp_sitemaps_enabled', '__return_false' );

このコードを追加するとサイトマップが生成されなくなります
サイトマップの URL にアクセスすると 404 を返します。

※すずき注: ファイルを直接編集するので、必ずバックアップを取ってからにしてください。編集を間違うと WP が止まることもあります。怖い人は以降の方法を利用してください。

プラグインを利用する

ファイルをいじるのは怖いという方は、プラグインを利用してもいいでしょう。

Yoast SEO や Slim SEO などサイトマップ生成機能を備えたプラグインの最新バージョンは、WordPress のコア サイトマップを自動で無効化します。

検索エンジン向けのサイトマップとしては、これらのプラグインが生成したものを送信します。

すでに利用しているサイトマップにリダイレクトする

WordPress のコア サイトマップの URL を既存のサイトマップの URL にリダイレクトしてもいいでしょう。
厳密に言えば、無効化ではありませんがこの方法でも問題ありません。

リダイレクト方法はいくつもありますが、たとえばシンプルなのは次の記述です(既存のサイトマップが sitemap.xml の場合)。

Redirect 301 /wp-sitemap.xml https://example.com/sitemap.xml

無効化とあわせて使うこともできます。

ちなみに僕はリダイレクトしてます。

robots.txt でブロック

関数ファイルはいじりたくない、今使っているサイトマップ プラグインには無効機能が付いていない、リダイレクト設定もよくわからないという困ったちゃんには(笑)、最終手段として robots.txt を使います。

コア サイトマップへのクローラのアクセスをブロックするために、次の記述を robots.txt に追加します。

Disallow: /wp-sitemap.xml
※すずき注: robots.txt を新規に設置する場合は User-agent: * を前の行に記述する

wp-sitemap.xml の中身をクローラは読めなくなります。

robots.txt で制御する方法も厳密には無効化ではないし無理矢理感を伴いますが、なんらかの問題を起こすことはないでしょう。

WordPress 5.5 にネイティブ実装されたコア サイトマップ生成機能を無効化する方法は以上です。
コア サイトマップが不要な WP サイトは参考にしてください。

コア サイトマップそのものをカスタマイズできるプラグインがそのうち登場するかもしれませんね。