WordPressのSEOプラグインとして非常に有名なYoast SEO。
アーカイブページは標準でメタrobotsタグがnoindexになっていますが、これをindexにしたい場合もあると思います。
そんな時、まだ投稿数が0件や2~3件しかないアーカイブページはさすがに内容が薄すぎるのでnoindexにしたいなと思うことがありました。
そこで、Yoast SEOで使用できる'wpseo_robots'
というフィルターフックを利用し、投稿数によってrobotsタグの出力をコントロールしてみました。
例:アーカイブページで取得できる投稿数が3件以下はnoindexにする
function my_wpseo_robots($metarobots) {
if ( is_archive() ) {
global $wp_query;
$post_num = $wp_query->found_posts;
if ( (int) $post_num < 4) {
return "noindex,follow";
}
}
return $metarobots;
}
add_filter('wpseo_robots', 'my_wpseo_robots');
投稿数は $wp_query->found_posts で文字列として取得できるので、(int) で整数型として扱いましょう。
コメント