Los productos de WooCommerce con el estado de visibilidad oculto (excluidos del catálogo) siguen siendo indexados por la herramienta Yoast SEO. Para eliminarlos de los sitemaps generados automáticamente y establecer el estado del índice en “noindex, nofollow” añada las siguientes 2 funciones a sus funciones.php
add_filter( 'wpseo_sitemap_entry', 'we_remove_hidden_products', 99, 3); function we_remove_hidden_products($url, $type, $post) { if($post->post_type == 'product' && is_object_in_term( $post->ID, 'product_visibility', 'exclude-from-catalog')){ return ''; } return $url; } add_filter('wpseo_robots', 'we_noindex_hidden_products', 10, 2); function we_noindex_hidden_products($robots, $indexable) { if(!isset($indexable->model)) { return $robots; } if(!isset($indexable->model->object_id)) { return $robots; } if(is_object_in_term( $indexable->model->object_id, 'product_visibility', 'exclude-from-catalog')){ $robots = 'noindex, nofollow'; } return $robots; }