ワードプレスで特定のページのみ検索エンジンに登録しないようにするPHPプログラムをご紹介いたします

meta name=”robots” ヘッダーで検索エンジンにページを検索結果に出ないように指定する

検索エンジンに登録してほしくないページが上位に出てしまう場合、そのページを検索エンジンの検索結果から除外するように指定するにはメタタグを利用する方法がございます。

特定のワードプレスの投稿や固定ページでmeta name=”robots” タグを出力するようにして検索結果から除外するように指定するPHPコードは下記のようになります。

※テーマのfunctions.phpに記載いただくと動作します。

function extractfrom_searchengine() {
    $post_ids = array (111,222,333);
    if(is_singular()) {
        $id = get_the_ID();
        if (in_array($id, $post_ids)) {
            echo '<meta name="robots" content="noindex,follow" />';
        }
    }
}
add_action( 'wp_head', 'extractfrom_searchengine');

‘wp_head’アクションでページのHEADタグの間にmeta name=”robots” タグを出力します。

is_singular()で現在表示中のページが単体ページの場合のみかつ$post_idsで定義した配列に含まれる数字のIDの投稿もしくは固定ページのIDの場合にのみmeta name=”robots” タグを出力します。

content=”noindex,follow” は検索エンジンにこのページを登録しないがリンクはたどることを許可するという意味にになります。

content=”noindex,nofollow” にすると検索エンジンにこのページを登録せずかつリンクもたどらないという意味になります。
他のページの検索エンジン登録を許可している場合は”noindex,follow”で問題ないかと存じます。

ご参考になりましたら幸いです。

WordPress ワードプレスのテーマのカスタマイズ・修正・PHPコーディングのご依頼ご相談はWPドクターまでお気軽にお送りください