当社のサイトマップには、部品だけのページが四つ載っていた
2026年9月24日、当社のサイトの robots.txt を開きました。robots.txt は、検索エンジンの巡回に向けてサイトの入口に置く、短い案内のファイルです。そこに、WordPress が標準で作るサイトマップ(wp-sitemap.xml)の場所が書かれていました。当社がサイトマップを自分で作ったわけではありません。WordPress が自動で作り、自動で案内していたものです。
サイトマップを開くと、最初に目次が出ます。種類ごとに一行ずつ、投稿、固定ページ、カテゴリー、作成者(ユーザー)と並んでいました。ここまでは想定どおりです。その下に、もう一つの種類がありました。テーマの「コンテンツブロック」です。
コンテンツブロックは、記事ページに共通のヘッダー、共通のフッター、404ページ(「ページが見つかりません」の画面)の中身、記事末尾の会社案内を差し込むために、当社が作った部品です。なぜ部品で持っているかはページごとではなくテンプレートで直すに書きました。部品は、記事の中に組み込まれてはじめて意味を持ちます。単独のページとして見せるものではありません。ところがその四つが、それぞれ自分のURLを持ってサイトマップに載っていました。開くと、ヘッダーだけ、フッターだけの、部品だけのページが表示されます。検索に出さない指示も付いていませんでした。
目次の「作成者」の行も開きました。載っていたのは作成者のページ(/author/…/)で、開くと記事10本の一覧が出るだけです。紹介文はありません。中身は記事一覧のページと重なります。
もう一つあります。以前、検索に出さない設定(noindex)にした記事が1本あります。その判断は記事を減らすとき、削除か統合かnoindexかに書きました。この記事が、サイトマップには載ったままでした。ページの側には noindex が付いていることを確かめています。
どれも、誰かが意図して載せたものではありません。テーマやプラグインが作る独自の種類のページが「公開」の扱いになっていると、WordPress の標準のサイトマップはそれも拾うことがあります。作った人が気づかないまま、検索エンジンへの目次に並んでいるわけです。
載っていることと、検索に出ることは別
サイトマップは、検索エンジンに渡す目次です。Google の検索セントラルは、サイト上のページなどの情報と、それぞれの関係を伝えるファイルだと説明しています。同じ説明の中で、サイトマップに載せても、すべての項目がクロール(巡回して読み込むこと)されてインデックス(検索に出せるページの台帳)に登録されるとは限らない、とも書いています。載っていることと、検索に出ることは別です。
逆も同じです。サイトマップに載っていないページも、リンクをたどって見つかれば検索に出ることがあります。目次から外すことは、検索に出さないことではありません。
検索に出すかどうかを決めるのは、ページの側に付ける noindex です。ページの頭に置く一行(meta タグ)か、サーバーが返す見出しの情報で、「このページは台帳に載せないでください」と伝えます。Google はページを読みに来て、はじめてこの指示を知ります。robots.txt でそのページを読ませないようにすると、noindex そのものが読まれず、効きません。読み直しに来るのが数か月後になるページもある、と Google は書いています。
では、noindex のページがサイトマップに載ったままなのは、どうなのか。Google の説明は、サイトマップには検索結果に表示したいURLを含める、という書き方です。noindex のページは表示したくないURLですから、目次に並んでいるのは筋が通りません。二つの指示が食い違う形になり、Search Console(Google が出している、自社サイトの検索での見え方を確かめる道具)では、noindex が付いたURLが送信されている、という趣旨の知らせが出ることがあります(画面の名前や文言は変わることがあります)。
この目で見ると、当社の部品四つも、作成者のページも、noindex にした記事も、目次に載っているべきものではありません。
道具で消せないものは、検索に出さない設定で止める
止め方は三つあります。
一つは、サイトマップの中身を選べる SEO 用のプラグインを入れることです。この種のプラグインは、種類ごとに載せる・載せないを画面で選べるものが多く、WordPress の標準のサイトマップを自分のものに置き換えます。ただ、サイトマップのために入れても、ページの題や説明文の出し方など、ほかの部分までそのプラグインの流儀になることがあります。入れるなら、そこまで含めて決めることになります。当社のサイトには、この種のプラグインは入っていません。
二つめは、コードを足すことです。WordPress の標準のサイトマップから種類を外すには、テーマの側にコードを足す必要があります。短いコードで済みますが、テーマを更新するときや、別の人に引き継ぐときに、どこに何を足したかを伝え続ける手間が残ります。
三つめは、サイトマップはそのままにして、ページの側に noindex を付けて止めることです。目次には載ったままですが、検索の台帳には入りません。
当社は今回、三つめを選びました。コードは足さず、テーマの機能でコンテンツブロック四つに noindex を付け、公開画面で「noindex,follow」(検索には出さないが、ページの中のリンクはたどってよい、という指示)が出ていることを確かめました。サイトマップには載ったままなので、Search Console で先の知らせが出る可能性はあります。それでも害は小さいと判断しました。止めたかったのは部品のページが検索に出ることで、目次に一行残ることではないからです。noindex にした記事1本も、コードを足さない限り外せないので、載ったままです。
作成者のページは保留にしています。表示される名前に関わるページなので、noindex にするのか、名前の出し方から見直すのかを、まだ決めていません。
目次をきれいにすることは、見せるつもりのないページを検索に出さないことの次です。ほかの目的でも SEO 用のプラグインを使うつもりがあるならプラグインで、サイトの中身を触れる人が身近に続けているならコードで、どちらでもなければ noindex で止めて、知らせは受け入れる。当社はそう考えています。
御社のサイトマップを開いて、一行ずつ仕分ける
WordPress のサイトなら、ブラウザだけで確かめられます。
- アドレス欄に、御社のドメインのあとに「/wp-sitemap.xml」を付けて開きます。出てこなければ、ドメインのあとに「/robots.txt」を付けて開き、「Sitemap:」で始まる行を探します。SEO 用のプラグインを使っていると、サイトマップが別のアドレスに置き換わっていることがあり、その行に今の場所が書かれています。
- 目次の行を、一つずつ開きます。行の名前に post、page、category、users などが入っています。名前を見ても何の種類か分からない行があれば、そこが最初に見るところです。当社の部品四つも、そういう一行の中にいました。
- 開いた一覧から、見覚えのないURLを開きます。部品だけのページ、中身が一行しかないページ、記事一覧と同じことしか載っていないページがないかを見ます。
- 見つけたページを、検索から来た人に見せたいかどうかで仕分けます。見せたくないページは、noindex が付いているかを確かめます。そのページを開いて、ブラウザの「ページのソースを表示」で「noindex」の文字を探せば分かります。
作成者のページは、書き手が一人のサイトでは、記事一覧とほとんど同じ中身になります。何人かが書いていて、それぞれの紹介を載せているなら、見せる意味のあるページです。どちらなのかは、開けば分かります。
見せたくないページが見つかっても、急いでコードを足す必要はありません。サイトマップの一行ごとに「見せたいか」の答えを付け、「いいえ」を付けたページに noindex が付いているかどうかを、今日のうちに確かめてください。