Pas d’indexation des produits WooCommerce cachés par Yoast
· par Daniel
Les produits WooCommerce dont la visibilité est « masquée » (exclus du catalogue) sont toujours indexés par Yoast SEO. Pour les retirer des sitemaps générés automatiquement et définir leur statut d’indexation sur « noindex, nofollow », ajoutez les 2 fonctions suivantes à votre fichier functions.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;
}