How to exclude a taxonomy from shop & search page wooCommerce?

This might help you with Shop page listing:

https://docs.woocommerce.com/document/exclude-a-category-from-the-shop-page/

And for Search page, here is a snippet that might help:

function exclude_services_category_products_from_search( $query ) {

   if ( is_search() && !is_admin() ) {

        $array_with_service_category_id = [];
        $tax_query = $query->get( 'tax_query' ) ?: [];

        $tax_query[] = [
            'taxonomy' => 'product_cat',
            'terms' => $array_with_service_category_id,
            'field' => 'term_id',
            'operator' => 'NOT IN'
        ];
    
        $query->set( 'tax_query', $tax_query );
    
    }
    return $query;
}
add_filter( 'pre_get_posts', 'exclude_services_category_products_from_search' );

Just add the Service Category id in the $array_with_service_category_id array.