Amazonで商品を見る セール会場へ

Search Console│送信されたURLにnoindexタグが追加されています|原因と直し方

Search Console のインデックス作成レポートに、こんな項目が出ることがあります。

「送信された URL に noindex タグが追加されています」

設定を見直しても、おかしなところは見つかりません。

noindex にしているページは、意図してそうしているからです。

実はこれ、noindex の設定が間違っているのではありません

サイトマップ側が、そのページを載せたままになっているだけです。

この記事では、なぜそうなるのかと、設定に合わせて自動で外す方法をまとめます。

目次

著者

WEB制作をしているデジタルノマド
WordPressのカスタマイズが好きで、色々と自作しています。

WordPressのカスタマイズに困ったらご相談ください!

なぜ起きるのか

WordPress 5.5 から、本体が wp-sitemap.xml を自動で出すようになりました。

このサイトマップは、公開されている投稿タイプと分類を、そのまま全部載せます

noindex かどうかは見ていません。

一方、noindex を出しているのは SEO プラグインのほうです。

SEO SIMPLE PACK なら、設定画面の「投稿ページ」や「タクソノミー」にトグルがあります。

つまり、この2つは別々の仕組みです。

  • サイトマップ … 「このURLを見に来てください」という申告
  • noindex … 「このページは検索結果に載せないでください」という指示

両方を同時に出している状態になります。

案内された先に「入らないでください」と書いてあるので、report に上がります。

どれくらい起きているか

当方で運用しているサイトを数えてみました。

7サイト・22インストール、2026年9月時点の実測です。

サイトマップの総数noindex が載っていた数割合
3,899件181件4.6%
2,131件293件13.7%
999件25件2.5%
162件44件27.2%
117件13件11.1%
105件34件32.4%
104件1件1.0%

合計で591件ありました。

サイトマップの3分の1が noindex だったサイトもあります。

特徴として、記事は1件も含まれていませんでした

全部が分類ページ(カテゴリ・タグ・カスタム分類)と著者ページです。

どれも「検索結果には出さない」と決めて noindex にしてあるものでした。

つまり設定は正しく、サイトマップだけが古いままだった、ということです。

自分のサイトで数える

手順は3つです。

  • robots.txt を開いて、Sitemap の行を見る
  • そのサイトマップを開いて、載っているURLを集める
  • 1つずつ開いて、robots メタに noindex があるか見る

数が少なければブラウザだけでもできます。

サイトマップのURLをいくつか開き、ページのソースを robots で検索してください。

ただ、数が増えると手では追えません。

全数を確認するスクリプトは、この記事の後半に置いています。

数えるときに引っかかった3つ

当方はここで3回、判断を誤りました。

同じところで止まらないよう、先に書いておきます。

1. robots メタは1ページに何本も出る

WordPress 本体と SEO プラグインが、それぞれ別に出します。

しかも引用符が違います

<meta name='robots' content='max-image-preview:large' />   ← WordPress本体
<meta name="robots" content="noindex">                     ← SEOプラグイン

片方だけを探すと見落とします。

当方はシングルクォートだけを見て、「noindex になっていない」と誤って判断しました。

1本目で止めず、そのページの robots メタを全部集めてください。

2. 転送されたページの中身で判断しない

著者ページを無効にしていると、開いた先がトップページに転送されることがあります。

SEO SIMPLE PACK の「著者ページを無効化する」がこれにあたります。

転送先はトップページなので、当然 noindex は入っていません。

それを読んで「noindex ではないのに外れた」と勘違いしました。

取得したあと、最終URLが最初に指定したURLと同じかを先に見てください。

def get(url):
    """飛ばされた先の中身で判断しないよう、最終URLも返す。"""
    req = urllib.request.Request(url, headers=UA)
    res = urllib.request.urlopen(req, timeout=60)
    return res.read().decode("utf-8", "replace"), res.url


html, final = get(u)
if final.rstrip("/") != u.rstrip("/"):
    # 転送された。転送先の robots を読んでも意味がない
    print("転送される:", u, "→", final)
    continue

3. 取得に失敗したものを「問題なし」に数えない

タイムアウトした分を握りつぶすと、件数が実際より少なく出ます。

当方はこれで10件を取りこぼし、あとから数が合わなくなりました。

失敗した件数は、0件でも必ず表示させたほうがよいです。

放置してよいのか

正直に書くと、これ自体ですぐ順位が下がるものではありません。

noindex は効いているので、そのページが検索結果に出ることはありません。

ただ、2つ困ることがあります。

1つは、レポートが読みにくくなることです。

本当に見るべきエラーが、この項目に埋もれます。

当方の場合、1サイトで293件がこれで埋まっていました。

もう1つは、載せる意味のないURLを毎回渡していることです。

サイトマップは「見に来てほしいURL」を伝えるものなので、そこに「見なくていいURL」が3分の1混ざっているのは、伝え方として正しくありません。

プラグインの設定では直りません

SEO プラグインは noindex を出す担当で、本体のサイトマップには手を出しません。

サイトマップを自前で持つプラグインを使っている場合は、そちらの設定で外せます。

本体の wp-sitemap.xml を使っているなら、フィルタで外すことになります。

WordPress には、そのための入り口が用意されています。

フィルタ外せるもの
wp_sitemaps_taxonomies分類ごと(カテゴリ・タグ・カスタム分類)
wp_sitemaps_post_types投稿タイプごと
wp_sitemaps_add_provider著者ページなど、まとまりごと
wp_sitemaps_taxonomies_query_args分類の中の、特定の用語だけ
wp_sitemaps_posts_query_args投稿タイプの中の、特定の記事だけ

固定で消してはいけません

ここが一番の注意点です。

「カテゴリを消す」と直接書いてしまうと、あとで設定を index に戻したときに、サイトマップに出てこなくなります。

そして、それに気づけません。

サイトマップは普段見ないものなので、間違ったまま何か月も経ちます。

なので、SEO プラグインの設定を読んで判断させます

トグルを切り替えたら、サイトマップも一緒に変わる形にします。

ここから先(有料部分)

以下を掲載しています。

  • そのまま貼れるコード全文(5つのフィルタ)
  • 設定キーの落とし穴(カテゴリだけ名前が違います)
  • 個別に noindex にしたページも拾う書き方
  • 効いたかどうかを全数で確かめるスクリプト
  • 複数サイトへ一括で入れる方法
  • 入れる前後で必ず見る3点

当方が22インストールに入れて、591件を整理したときのものをそのまま載せます。

この記事だけ読みたい方は単品購入、ほかの有料記事も読みたい方は購読プランをご確認ください。

購読対象の記事・料金は、下のプラン案内で確認できます。

役に立った記事を、ブログやSNSで紹介しませんか?

紹介制度の対象記事・購読プランを購入した方は、codocで専用リンクと報酬条件を確認できます。

専用リンク経由で購入されると、設定された紹介報酬が発生します。

購読プランの紹介報酬は初回課金のみが対象です。

codocで紹介リンク・報酬条件を確認する

紹介時は、広告・PRであることが読者に分かるように明記してください。

  • URLをコピーしました!

内部SEOを本格的に見直すなら

WordPressのSEO対策

内部構造の調査は¥30,000〜、継続的なSEO対策は月額 ¥50,000〜(税込・最低6ヶ月)。専任のコンサルタントが定期ミーティングで施策を進めます。

WAZAの有料記事のサブスクリプションも開始しました。

サービス

Service

WordPressサイトのSEO対策のサービスに関心がありましたら、ぜひ詳細をご覧ください。

目次