WordPress のプラグイン「XML Sitemap & Google News」で、XML サイトマップを出力しているサイトの設定をまとめます。
SEO チェックで、noindex を付けている投稿者アーカイブが、XML サイトマップに載ったままになっているのが見つかりました。サイトマップは「検索エンジンにインデックスしてほしいページの一覧」なので、noindex のページを載せると、指示が食い違ってしまいます。Search Console でも警告の対象になるため、サイトマップから外しました。
確認したバージョンは XML Sitemap & Google News 5.7.7 です。
サイトマップを有効にする
プラグインを有効にすると、「設定 › 表示設定」に「XML サイトマップを有効化」の項目が追加されます。

| 項目 | 設定 |
|---|---|
| XML サイトマップインデックス | オン |
| Google ニュースサイトマップ | オン(ニュースの投稿を載せる) |
| robots.txt の追加ルール | 空欄 |
「XML サイトマップインデックス」をオンにすると、/sitemap.xml にサイトマップの一覧が出力されます。robots.txt にも Sitemap: https://〜/sitemap.xml の行が自動で追加されるので、自分で書き足す必要はありません。
各項目の右にある「設定」のリンクから、プラグインの詳しい設定画面に移動します。
タクソノミーと投稿者のサイトマップを無効にする
「設定 › XML サイトマップ」には、「一般」「投稿タイプ」「投稿者」「高度な設定」のタブがあります。

| 項目 | 設定 | 理由 |
|---|---|---|
| サーバー | プラグイン | WordPress 本体のサイトマップではなく、プラグインのサイトマップを使う |
| Disable sitemaps › タクソノミー | オン(無効にする) | カテゴリー・タグのアーカイブには noindex を付けているため |
| Disable sitemaps › 投稿者 | オン(無効にする) | 投稿者アーカイブには noindex を付けているため |
「Disable sitemaps」は、チェックを入れたものがサイトマップから外れる設定です。チェックを入れると無効になるので、間違えないように注意します。
投稿者のサイトマップを外すもう一つの理由
投稿者アーカイブの URL(/author/〇〇/)には、WordPress のログインユーザー名がそのまま使われます。サイトマップに載せると、ログインに使う名前を自分から公開することになります。
プラグインの公式ページにも、投稿者の URL にはユーザー名が含まれるので、公開したくない場合は投稿者のサイトマップを無効にし、投稿者アーカイブには noindex を付けるよう書かれています。
このサイトでは、投稿者アーカイブを使っていないので、テーマの functions.php でトップページへ 301 転送しています。
//投稿者アーカイブを無効化(ログインユーザー名の露出防止)
add_action('template_redirect', function () {
if (is_author()) {
wp_safe_redirect(home_url('/'), 301);
exit;
}
}, 1);
?author=2 のような ID を指定した URL も、同じ処理でトップページへ転送されます。
設定後の確認
設定を保存したら、/sitemap.xml を開いて、含まれているサイトマップを確認します。

投稿(年ごと)、固定ページ、Google ニュースの3種類だけになり、sitemap-author.xml とタクソノミーのサイトマップは表示されなくなりました。
あわせて、次の点も確認しておくと安心です。
/robots.txtにSitemap:の行が出ていること- 固定ページのサイトマップ(
sitemap-posttype-page.xml)に、サンクスページなど noindex のページが含まれていないこと - Search Console の「サイトマップ」に
/sitemap.xmlを登録し、エラーが出ていないこと
まとめ
- サイトマップには、インデックスしてほしいページだけを載せる
- noindex を付けているタクソノミーと投稿者のサイトマップは、「Disable sitemaps」で無効にする
- 投稿者アーカイブは、ログインユーザー名が URL に出るため、使わない場合はサイトマップから外し、トップページへ転送する