Verborgen WooCommerce-producten op noindex zetten in Yoast
· door Daniel
WooCommerce-producten met de zichtbaarheid ‘verborgen’ (niet in de catalogus) worden nog steeds door Yoast SEO geïndexeerd. Om ze uit de automatisch gemaakte sitemaps te halen en de indexstatus op ‘noindex, nofollow’ te zetten, voeg je de volgende 2 functies toe aan je 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;
}