WordPressの各ページの<head>
にnoindexを付与する方法。Webサイト全体に一括で付与する方法のほか、アーカイブのみ、カテゴリー個別指定、または投稿ページに個別にnoindexを付与するなどのパターンを想定。
コンテンツ
WordPress全体にnoindexを付与する方法
- ダッシュボード > 設定 > 表示設定 へアクセスする。
検索エンジンでの表示
のチェックボックスにチェックを入れる。変更を保存
をクリックする。

出力されるコード。
<meta name='robots' content='noindex, nofollow' />
アーカイブページにnoindexを付与する方法
functions.php
に以下のコードを入力する。- アーカイブテンプレートで生成されるカテゴリーページ、タグページ、著者ページ、および、404ページにnoindexが付与される。
function snkt_add_noindex() {
if (is_archive() || is_404()) {
echo '<meta name="robots" content="noindex,nofollow" />';
}
}
add_action('wp_head', 'snkt_add_noindex');
カテゴリーページに個別にnoindexを付与する方法
カスタムフィールドによって、カテゴリーの編集ページにnoindexの設定項目を追加する。
参考: https://cooeil.com/wp-category-noindex/
投稿画面にチェックボックスを表示して特定ページをnoindexする方法
functions.phpを編集する。
// メタボックスの追加
add_action( 'admin_menu', 'add_noindex_metabox' );
function add_noindex_metabox() {
add_meta_box( 'custom_noindex', 'インデックス設定', 'create_noindex', array('post', 'page'), 'side' );
}
// 管理画面にフィールドを出力
function create_noindex() {
$keyname = 'noindex';
global $post;
$get_value = get_post_meta( $post->ID, $keyname, true );
wp_nonce_field( 'action_' . $keyname, 'nonce_' . $keyname );
$value = 'noindex';
$checked = '';
if( $value === $get_value ) $checked = ' checked';
echo '<label><input type="checkbox" name="' . $keyname . '" value="' . $value . '"' . $checked . '>' . $keyname . '</label>';
}
// カスタムフィールドの保存
add_action( 'save_post', 'save_custom_noindex' );
function save_custom_noindex( $post_id ) {
$keyname = 'noindex';
if ( isset( $_POST['nonce_' . $keyname] )) {
if( check_admin_referer( 'action_' . $keyname, 'nonce_' . $keyname ) ) {
if( isset( $_POST[$keyname] )) {
update_post_meta( $post_id, $keyname, $_POST[$keyname] );
} else {
delete_post_meta( $post_id, $keyname, get_post_meta( $post_id, $keyname, true ) );
}
}
}
}
header.phpの</head>の前に下記を追記する。
<?php
if(is_singular() && get_post_meta($post->ID , 'noindex' , true)){
echo '<meta name="robots" content="noindex,follow" />';
}
?>
投稿画面の右パネルに、noindexを付与するチェックボックスが追加される。

参考: https://tcd-theme.com/2021/07/wordpress-noindex.html