It can also be achieved using the template_redirect hook. You can check for each type of archives pages, or "disable" them altogether. - Return a 404error or redirect to another page, I prefer the 404 approach- In `functions.php` : /* Disable archives pages */ add_action('template_redirect', 'my_disable_archives_function'); function my_disable_archives_function() { /* Conditional checks examples: is_category() is_tag() is_date() is_author() is_tax() is_search() ... */ // Return a 404 for all archive types, except the my_custom_post_type archive. $post_types = array('my_custom_post_type'); if ( (is_archive() && !is_post_type_archive( $post_types )) ) { global $wp_query; $wp_query->set_404(); } }