Démarrer un projet
WooCommerce

Empêcher WP Rocket de mettre en cache les pages WooCommerce filtrées

· par Daniel

Si vous utilisez WP Rocket avec le préchargement et un plugin de filtres comme Filter Everything Pro, votre base de données ET votre dossier de cache peuvent exploser. Nous avions un site d’environ 2 000 produits seulement, mais avec 100 attributs filtrables.

Résultat : plus de 2 millions d’entrées dans la table wp_rocket_cache et un dossier de cache atteignant 200 Go. Pour y remédier, nous avons empêché WP Rocket de mettre en cache les pages de catégories WooCommerce filtrées.

L’extrait de code suivant a résolu notre problème :

add_filter( 'rocket_preload_exclude_urls', function( $regexes, $url ) {
    $url = untrailingslashit( $url );
    if(function_exists('is_filtered')){
        if ( is_filtered() ) {
            $regexes[] = $url;
            add_filter( 'do_rocket_generate_caching_files', '__return_false' );
        }
    }
    if(function_exists('flrt_is_filter_request')){
        if ( flrt_is_filter_request() ) {
            $regexes[] = $url;
            add_filter( 'do_rocket_generate_caching_files', '__return_false' );
        }
    }
    return $regexes;
}, 10, 2 );

Mise à jour 2025

En plus du code ci-dessus, ajoutez celui ci-dessous. Amazonbot, par exemple, explore les sites de manière très intensive : vous pouvez le bloquer via .htaccess, et aussi ne pas mettre en cache les URL filtrées ni générer de CSS pour elles.

function disable_cache_for_filtered_urls() {
   if ( function_exists( 'flrt_is_filter_request' ) && flrt_is_filter_request() ) {
       if ( ! defined( 'DONOTCACHEPAGE' ) ) {
           define( 'DONOTCACHEPAGE', true ); // Disable WP Rocket caching
       }
   }
	if(function_exists('is_filtered') && is_filtered()){
       if ( ! defined( 'DONOTCACHEPAGE' ) ) {
           define( 'DONOTCACHEPAGE', true ); // Disable WP Rocket caching
       }
	}
}
add_action( 'template_redirect', 'disable_cache_for_filtered_urls' );

Code .htaccess

# Block Harmful Robot

    RewriteEngine On
    RewriteCond %{HTTP_USER_AGENT} (amazonbot|semrushbot|ahrefsbot) [NC]
    RewriteRule (.*) - [F,L]

# END Block Harmful Robot

Autres articles

Tous les articles →
WooCommerce29 octobre 2026 Directive EmpCo : ce que les boutiques en ligne doivent savoir sur les allégations environnementales depuis le 27 septembre 2026 « Durable », « livraison neutre en carbone », « emballage écologique » : ces allégations figurent dans de nombreuses boutiques en ligne, dans les textes produits, les bannières, le… WooCommerce20 avril 2022 Réactiver l’ancienne passerelle PayPal Standard de WooCommerce Depuis la version 5.5, WooCommerce a remplacé l’ancienne passerelle de paiement PayPal Standard. WooCommerce23 mai 2021 Masquer les prix et le bouton d’ajout au panier dans WooCommerce et proposer une demande Découvrez comment supprimer les prix et le bouton d’ajout au panier dans WooCommerce. Nous montrons aussi comment ajouter un formulaire de demande à la place.

Augmentons vos ventes en ligne.

Parlez-nous de votre boutique ou de votre site. Un développeur vous répond, pas un commercial.

★ 4,85/5 sur 800+ avis · Envato Elite Author · Made in Germany