カテゴリも月別アーカイヴも存在しないサイトのテンプレートにarchive.phpが存在したためgoogle検索にヒットするようになってしまいました。そこでアーカイヴページを404扱いにすることで対応しました。これはそのときの備忘録。
functions.phpに下記を追加して終わり。
add_action( 'template_redirect', 'status404' );
function status404() {
if ( is_archive() ) {
global $wp_query;
$wp_query->set_404();
status_header(404);
}
}
カテゴリページを表示させたくないのであれば、is_archive()の個所をis_category()と変えればよい。