【WordPress】カスタム投稿の一覧と個別ページをnoindexにする方法

ワードプレス WordPress

WordPressのカスタム投稿で作った「個別ページ」と「一覧ページ」をnoindexにしたい。

すべてのカスタム投稿じゃなくて、特定のスラッグのカスタム投稿にだけnoindexを設定したい。

functions.phpにどんな記述をすればいいのか教えて欲しい。

こんなことを考えている方へ。

この記事のポイントは以下です。

・WordPressの特定のカスタム投稿の「個別ページ」と「一覧ページ」をnoindexにする方法
・すべてのカスタム投稿タイプの「一覧ページ」をnoindexにする方法
・通常の投稿、カスタム投稿関係なく、すべての「一覧ページ」をnoindexにする方法

この記事を書いている私は大阪在住のweb制作フリーランスです。

東証一部のEC企業で5年勤務した後、フリーランスに転向しました。現在はウェブサイトを作ったり、ECサイトを作ったり、サイト分析をしたり、ブログを書いたりして生活しています。

【WordPress】カスタム投稿の一覧と個別ページをnoindexにする方法

WordPressのカスタム投稿で作った「個別ページ」と「一覧ページ」をnoindexにする方法を解説します。

どちらの場合も「functions.php」にnoindexの記述を追記します。

では、順番に解説していきます。

【関連記事はこちら】
【2021年】カスタム投稿のアーカイブページにメタディスクリプションを出力する【All in one SEO Pack】を読む >>

カスタム投稿の一覧ページ(アーカイブページ)をnoindexにする方法

特定のカスタム投稿の一覧ページ(アーカイブページ)をnoindexにするには、functions.phpに以下を記述をすればOKです。

// -----------------------------------------------------
// カスタム投稿タイプが movie の一覧ページはnoindex
// -----------------------------------------------------
function archive_noindex(){ 
 
    if ( is_post_type_archive( 'movie' )) {
        echo '<meta name="robots" content="noindex , nofollow" />';
    }
}
add_action('wp_head', 'archive_noindex');
WordPress ワードプレス カスタム投稿 noindex functions.php

上記の書き方だと、

  • カスタム投稿タイプが movie の一覧ページはnoindex

になります。

「movie」の部分にスラッグ名を入れて指定します。たとえば「shop」というスラッグ名を指定したいときは「 is_post_type_archive( ‘shop’ )」になります。

また、スラッグを指定せず、すべてのカスタム投稿タイプの一覧ページをnoindexにしたいときは以下のように書きます。

「is_post_type_archive()」のカッコ()の中を空欄にすればOKです。

// -----------------------------------------------------
// すべてのカスタム投稿タイプの一覧ページをnoindexにする
// -----------------------------------------------------
function archive_noindex(){ 
 
    if ( is_post_type_archive()) {
        echo '<meta name="robots" content="noindex , nofollow" />';
    }
}
add_action('wp_head', 'archive_noindex');
WordPress ワードプレス カスタム投稿 noindex functions.php

「is_post_type_archive()」の詳細は、公式の関数リファレンスを参照ください。

カスタム投稿の個別ページ(投稿ページ)をnoindexにする方法

特定のカスタム投稿の個別ページ(投稿ページ)をnoindexにするには、functions.phpに以下を記述をすればOKです。

// -----------------------------------------------------
// カスタム投稿タイプが movie の個別投稿ページはnoindex
// -----------------------------------------------------
function single_noindex(){ 
 
    if (is_singular('movie')){
        echo '<meta name="robots" content="noindex , nofollow" />';
    }
}
add_action('wp_head', 'single_noindex');
WordPress ワードプレス カスタム投稿 noindex functions.php

上記の書き方だと、

  • カスタム投稿タイプが movie の個別ページ(投稿ページ)はnoindex

になります。

「movie」の部分にスラッグ名を入れて指定します。たとえば「shop」というスラッグ名を指定したいときは「is_singular(‘shop’)」になります。

「is_singular()」の詳細は、公式の関数リファレンスを参照ください。

参考:すべての一覧ページ(アーカイブページ)をnoindexにする方法

カスタム投稿であっても通常の投稿であっても、とにかくすべての一覧ページ(アーカイブページ)をnoindex設定したい場合の書き方は以下です。

// -----------------------------------------------------
// すべての一覧ページ(アーカイブページ)をnoindex
// -----------------------------------------------------
function all_archive_noindex(){ 
 
    if (is_archive()) {
        echo '<meta name="robots" content="noindex , nofollow" />';
    }
}
add_action('wp_head', 'all_archive_noindex');

「is_archive()」の詳細は、公式の関数リファレンスを参照ください。

参考:WordPress(ワードプレス)を勉強するのにおすすめな本

wordpress

ワードプレスの勉強は確かにネットでもできますが、サイトによって情報や解説の粒度にバラつきがあり体系的に学ぶのが難しいです。

なので、手元に一冊、”WordPress(ワードプレス)のイロハ”がわかる、辞書的な本を置いておくと良いです。現在のワードプレスのバージョンが5.xですので、それに対応した解説書をおすすめします。

特に「WordPress 仕事の現場でサッと使える! デザイン教科書[WordPress 5.x対応版]」はおすすめ。静的ページにWordPressを導入する、というテーマで手順をイチから丁寧に解説しています。

案件でよく使うカスタマイズ方法や、セキュリティ対策、有名プラグインの紹介もされており、痒い所に手が届きます。

私も実際にこの本でWordPressを勉強しました。

まとめ

この記事のポイントをまとめます。

WordPressの特定のカスタム投稿の「個別ページ」と「一覧ページ」をnoindexにする方法はこちらです。

以下のコードを「functions.php」に貼り付ければOKです。

  • 例)カスタム投稿タイプが movie の一覧ページはnoindex
// -----------------------------------------------------
// カスタム投稿タイプが movie の一覧ページはnoindex
// -----------------------------------------------------
function archive_noindex(){ 
 
    if ( is_post_type_archive( 'movie' )) {
        echo '<meta name="robots" content="noindex , nofollow" />';
    }
}
add_action('wp_head', 'archive_noindex');
  • 例)カスタム投稿タイプが movie の個別ページ(投稿ページ)はnoindex
// -----------------------------------------------------
// カスタム投稿タイプが movie の個別投稿ページはnoindex
// -----------------------------------------------------
function single_noindex(){ 
 
    if (is_singular('movie')){
        echo '<meta name="robots" content="noindex , nofollow" />';
    }
}
add_action('wp_head', 'single_noindex');

今回の記事はここまでです。

この記事を書いた人

hiro

美味しいご飯とお酒と一人旅が好き。EC企業に5年▶︎web制作フリーランスへ。ECサイト制作、デザイン、コーディング、サイト分析、CVR改善、ブログ書いたりして生活しています。

旅行ブログ「アジアをひとりで旅してみたら」も運営中。