SEO SIMPLE PACKで「インデックスさせない(noindex)」にした記事は、投稿一覧・固定ページ一覧のタイトル横に赤い「noindex」ラベルを出せます。index の記事には何も付けず、noindex の記事だけを目立たせます。

SEO SIMPLE PACKのrobots設定は、記事の編集画面を開かないと確認できません。noindexのまま公開し続けている記事や、確認用に作ってnoindexにした記事を、一覧で見つけやすくするためのコードです。
コードはCode Snippetsに貼るだけで動き、テーマのfunctions.phpは編集しません。
確認した環境
2026年10月7日に、検証用のローカルサイト(Local)で動作を確認しました。
| 項目 | バージョン |
|---|---|
| WordPress | 7.1.2 |
| SEO SIMPLE PACK | 3.7.0 |
| SWELL | 2.19.0 |
| Code Snippets | 3.10.2 |
| PHP | 8.2.29 |
タイトル横に表示を足すために、WordPress 6.9で追加された post_states_html フィルターを使います。WordPress 6.9より前のサイトではラベルが出ません。
SEO SIMPLE PACKがnoindexを決める順番
ラベルの判定は、SEO SIMPLE PACKが公開ページにrobotsを出すときの判定(class/output.php)に合わせています。記事ごとの設定だけを見ると、全体設定でnoindexになっている記事を見落とします。
- 固定ページをトップページにしている場合、そのページは記事ごとの設定を見ずにindexで出力されます。
- 記事ごとの設定(投稿メタ
ssp_meta_robots)に値があれば、その値を使います。 - 値が空欄(デフォルト設定のまま)なら、「一般設定」の「投稿ページ」「固定ページ」タブのnoindex設定(オプション
ssp_settingsのpost_noindex・page_noindex)で決まります。
編集画面の「このページの”robots”タグ」の選択肢と、保存される値は次のとおりです。
| 編集画面の選択肢 | 保存される値 | ラベル |
|---|---|---|
| デフォルト設定のまま | (空欄) | 全体設定がnoindexなら付く |
| インデックスさせる | index,follow | 付かない |
| インデックスさせない(noindex) | noindex | 付く |
| リンクを辿らせない(nofollow) | nofollow | 付かない |
| キャッシュさせない(noarchive) | noarchive | 付かない |
| noindex,nofollow | noindex,nofollow | 付く |
nofollow や noarchive を選ぶと、全体設定がnoindexでもその記事は全体設定に従わず、noindexにはなりません。そのためラベルも付きません。
投稿メタのキーの一覧はSEO SIMPLE PACKのカスタムフィールド一覧にまとめています。
コード
次のコードをCode Snippetsに登録します。Code Snippetsでは先頭の <?php は不要です。
/**
* 投稿・固定ページの一覧で、SEO SIMPLE PACK で noindex になる記事のタイトル横に赤いラベルを出す。
* 判定は SEO SIMPLE PACK と同じ:記事ごとの設定(ssp_meta_robots)があればそれ、空欄なら全体設定(投稿/固定ページの noindex)。
* WordPress 6.9 以上(post_states_html フィルター)。
*/
function motoki_ssp_is_noindex( $post ) {
// 固定のトップページは、SEO SIMPLE PACK が記事ごとの設定を見ずに index で出す
if ( 'page' === get_option( 'show_on_front' ) && (int) get_option( 'page_on_front' ) === $post->ID ) {
return false;
}
$robots = get_post_meta( $post->ID, 'ssp_meta_robots', true );
if ( $robots ) {
return false !== strpos( $robots, 'noindex' );
}
$settings = get_option( 'ssp_settings', array() );
return ! empty( $settings[ $post->post_type . '_noindex' ] );
}
add_filter( 'post_states_html', function ( $html, $states, $post ) {
if ( ! in_array( $post->post_type, array( 'post', 'page' ), true ) || ! motoki_ssp_is_noindex( $post ) ) {
return $html;
}
$by = get_post_meta( $post->ID, 'ssp_meta_robots', true ) ? '記事ごとの設定' : 'SEO SIMPLE PACKの全体設定';
return $html . ' <span class="motoki-noindex-label" title="' . esc_attr( $by . 'で noindex' ) . '">noindex</span>';
}, 10, 3 );
add_action( 'admin_head-edit.php', function () {
echo '<style>.motoki-noindex-label{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:3px;background:#d63638;color:#fff;font-size:11px;font-weight:600;line-height:1.6;vertical-align:middle;}</style>';
} );motoki_ssp_is_noindex():前の章の順番でnoindexかどうかを返します。全体設定のキーは投稿タイプ名+_noindexです。post_states_html:一覧のタイトル横に出る「— 下書き」などの状態のあとに、ラベルを足します。対象は投稿(post)と固定ページ(page)だけです。- ラベルにマウスを乗せると、「記事ごとの設定で noindex」か「SEO SIMPLE PACKの全体設定で noindex」かが出ます。
admin_head-edit.php:投稿一覧・固定ページ一覧の画面だけに、ラベルのCSSを出します。赤は管理画面のエラー表示と同じ#d63638です。
「— 下書き」などの状態の前には「—」が付きますが、このフィルターで足したラベルには付きません。
Code Snippetsに登録する
実行する場所を「管理画面のみで実行」にして、保存と同時に有効にします。
- 管理画面の「スニペット」→「新規追加」を開く
- タイトルに「noindexの投稿・固定ページにラベルを付ける」など、あとで分かる名前を入れる
- コード欄に上のコードを貼る
- 実行する場所で「管理画面のみで実行」を選ぶ
- 「保存して有効化する」を押す
- 「投稿」→「投稿一覧」と「固定ページ」→「固定ページ一覧」を開き、noindexの記事にラベルが付いたか確認する
不要になったら、スニペット一覧で無効にするだけで元に戻ります。
設定ごとの表示を確かめた結果
全体設定は投稿・固定ページともindexのままで、記事ごとのrobotsを変えて一覧を確認しました。どれも前の章の判定どおりになりました。
| 記事 | 記事ごとのrobots | ラベル |
|---|---|---|
| 投稿(下書き) | noindex | 付いた |
| 投稿(下書き) | nofollow | 付かない |
| 固定ページ(下書き) | noindex,nofollow | 付いた |
| 固定ページ(公開済み) | noindex | 付いた |
| トップページにした固定ページ | noindex | 付かない |
公開済みの固定ページは、編集画面の「このページの”robots”タグ」で「インデックスさせない(noindex)」を選んで保存しました。他の行は、確認のために投稿メタを直接入れ、確認後に削除しています。

次に、「一般設定」の「投稿ページ」タブをnoindexにした状態で、投稿一覧を確認しました。
| 記事ごとのrobots | 件数 | ラベル |
|---|---|---|
| デフォルト設定のまま(空欄) | 6件 | 6件とも付いた(「SEO SIMPLE PACKの全体設定で noindex」) |
| インデックスさせる(index,follow) | 1件 | 付かない |
全体設定でnoindexにしていても、記事ごとに「インデックスさせる」を選んだ記事にはラベルが付きません。確認のあと、全体設定はnoindexなしに戻しました。
使う前に確認すること
ラベルが示すのは、SEO SIMPLE PACKのrobots設定だけです。公開ページの実際の出力は、ページのソースで確認してください。
- WordPress 6.9以上が必要です(
post_states_htmlフィルター)。それより前ではエラーにはならず、ラベルが出ないだけです。 - 「表示設定」の「検索エンジンがサイトをインデックスしないようにする」は見ていません。この設定がオンのサイトは、ラベルがなくてもサイト全体がnoindexです。
- 対象は投稿と固定ページだけです。カスタム投稿タイプにも付けるなら、
array( 'post', 'page' )に投稿タイプ名を足します(今回は未確認)。 - 他のSEOプラグインや、テーマ側のnoindex設定は判定に含みません。
- 判定はSEO SIMPLE PACK 3.7.0のコードに合わせています。プラグインの更新で判定が変わったら、このコードも合わせて直します。



