WordPress で CPT UI プラグインなどを利用してカスタム投稿を追加するとき、階層は持っていないけどアーカイブ一覧は表示させる投稿タイプとして用意することもあると思います。
あわせて、SEO対策として All In One SEO Pack プラグインも利用しているという状況もあるのではないでしょうか。
All In One SEO Pack では WordPress の管理画面よりカスタム投稿タイプにも Noindex 設定することで、階層を持っている場合には各々のアーカイブ一覧に meta robots の noindex,follow が付加されます。
しかし、階層を持たない場合、そもそもアーカイブ一覧に meta robots 自体が出力されません。
そこで、All In One SEO Pack には meta robots に関してのフィルターが用意されていましたので、それを利用して noindex,follow を付加させたいと思います。
使用中のテーマの functions.php に追記
function filter_aioseop_robots_meta($get_robots_meta) {$post_types = array('対象の投稿タイプスラッグ');if (is_post_type_archive($post_types)) {$get_robots_meta = 'noindex,follow';}return $get_robots_meta;};add_filter('aioseop_robots_meta', 'filter_aioseop_robots_meta');
上記コードの「対象の投稿タイプスラッグ」を適宜書き換えてください。
※カンマ区切りによる複数の対象設定可(配列)
今回は、単純に指定した投稿タイプスラッグに対して meta robots を付加することにしましたが、get_option() を利用して All In One SEO Pack の Noindex 設定を取得し、それにあわせた出力を行うということもできそうです。
この記事へのコメント