Come impostare un custom post type per non visualizzarlo sul front end
Uso un custom post type in uno dei miei siti per le slideshow di immagini. Ho impostato publicly_queryable su false/off ma quando Google esegue il crawling del mio sito vedo errori 404 per gli URL delle mie slideshow. Pensavo che impostando publicly_queryable su off WordPress non avrebbe creato quegli URL front end.
Come posso disabilitare completamente gli URL e le pagine front end per il mio custom post type?
MODIFICA
Aggiungendo 'public' => false
, 'has_archive' => false
, 'publicly_queryable' => false
, e 'query_var' => false
sono riuscito a eliminare gli errori 404 in Google. Ho anche aggiunto la funzione fornita da @Norcross per maggiore sicurezza.

Un'altra opzione sarebbe impostare un reindirizzamento 301 per tutti i CPT dello slideshow verso un'altra pagina (come la home). Questo verrebbe rilevato da Google e assicurerebbe che nessuno vi acceda accidentalmente.
function rkv_slideshow_redirect() {
global $wp_query;
// reindirizza dal CPT 'slideshow' alla home page
if ( is_post_type_archive('CPT_NAME_HERE') || is_singular('CPT_NAME_HERE') ) :
$url = get_bloginfo('url');
wp_redirect( esc_url_raw( $url ), 301 );
exit();
endif;
}
add_action ( 'template_redirect', 'rkv_slideshow_redirect', 1);

Grazie! Tutti i miei errori 404 delle presentazioni su Google sono ora spariti. Ho aggiunto public => false, has_archive => false e publicly_queryable => false e non compaiono più come errori 404. Ho anche aggiunto il codice che hai fornito al mio file functions.php "per sicurezza". Grazie ancora!

https://developer.wordpress.org/reference/functions/register_post_type/: exclude_from_search
(bool) Se escludere i post con questo tipo di post dai risultati di ricerca front-end. Il valore predefinito è l'opposto di $public.

Lo slideshow utilizza wp_get_attachment_image_src per recuperare le immagini all'interno di un loop, quindi non c'è un link al custom post type dello slideshow. Ho appena impostato il parametro "public" nel mio metodo di registrazione del custom post type su false. Vedrò se questo aiuta. Grazie per il tuo contributo!
