WordPressのwp-sitemap.xmlから投稿者IDを削除する方法

WordPress 5.5以降で導入されたXMLサイトマップ機能は、SEOに非常に役立つものです。しかし、この機能はデフォルトで投稿者(ユーザー)情報もサイトマップに含んでしまいます。これは、特定のケースでプライバシーやセキュリティに関する問題を引き起こす可能性があります。この記事では、WordPressのサイトマップから投稿者IDを削除する方法について詳しく解説します。

wp_sitemaps_users_query_args フィルターを使う方法

この方法はコードの少しの調整で、投稿者情報を簡単に削除できます。具体的には、WordPressのテーマファイルにある functions.php に少しだけコードを追加します。

  1. WordPressのダッシュボードから「外観」>「テーマの編集」を選びます。
  2. サイドバーで functions.php ファイルを選択します。
  3. 以下のコードを functions.php の末尾に追加します。
add_filter('wp_sitemaps_users_query_args', 'exclude_users_from_sitemap');

function exclude_users_from_sitemap($args) {
    $args['include'] = array(0); // 0 は存在しないユーザーIDです。
    return $args;
}

このコードは、サイトマップに含まれるユーザー情報のクエリをカスタマイズします。特に、存在しないユーザーID(0)のみをクエリに含めるようにしています。

SEOプラグインを使用する方法

多くのWordPress SEOプラグイン、例えば Yoast SEO や All in One SEO Pack などは、XMLサイトマップのカスタマイズが可能です。プラグインの設定画面から簡単に投稿者情報をサイトマップから除外できます。

  1. プラグインをインストールし、有効化します。
  2. プラグインの「サイトマップ」設定に移動。
  3. 投稿者またはユーザーのサイトマップオプションを無効にします。

独自のサイトマップを生成する方法

この方法は高度なカスタマイズが必要ですが、最も柔軟な方法でもあります。こちらは、プログラミングに慣れている方向けの方法です。

  1. WordPressのサイトマップ生成機能を無効にします。
  2. 独自のサイトマップ生成スクリプトを作成します。
  3. このスクリプトで投稿者情報を除外し、他の任意の設定を行います。

まとめ

WordPressのサイトマップから投稿者情報を除外する方法はいくつかありますが、目的と技術レベルに応じて最適な方法を選ぶことができます。プライバシーとセキュリティを重視するならば、この手順は非常に有用です。