Vider le cache Varnish avec l'utilisation d'un proxy

Dans la version 2.7 de WP Rocket, nous avons inclus la possibilité de vider automatiquement le cache Varnish quand le cache de WP Rocket l'est aussi.

Cependant, quand vous utilisez un proxy, comme CloudFlare par exemple, cela peut ne pas fonctionner correctement. Depuis la version 2.8.15 de WP Rocket, il existe un filtre pour corriger cela.

Ci-dessous se trouve le code nécessaire, et les instructions pour l'ajouter en tant qu'extension automatique (mu-plugin). 

Créer un dossier nommé mu-plugins dans wp-content. 
Si ce dossier existe déjà, utilisez-le. 

Créez un nouveau fichier et insérez le code ci-dessous. 

Attention ! Rappelez-vous de remplacer example.com par le nom de votre domaine ! 

<?php
defined( 'ABSPATH' ) or die( 'Cheatin&#8217; uh?' );
/**
 * Plugin Name: Fix Varnish Auto Purge with Proxy and WP Rocket
 * Author:      WP Rocket Support Team
 * Author URI:  http://wp-rocket.me/
 * License:     GNU General Public License v3 or later
 * License URI: http://www.gnu.org/licenses/gpl-3.0.html
 */

add_filter( 'rocket_varnish_purge_request_host', '__rocket_varnish_custom_hostname' );
function __rocket_varnish_custom_hostname() {
	return 'example.com';
}


add_filter( 'rocket_varnish_ip', '__rocket_varnish_custom_ip' );
function __rocket_varnish_custom_ip() {
	return 'localhost';
}
	
Sauvegardez le fichier sous wp-rocket-varnish-purge-proxy.php
Envoyez ce fichier dans le dossier mu-plugins de l'étape 1. 
Enfin, désactivez/réactivez WP Rocket..

Attention ! Il est également possible que vous ayez à vider le cache de votre proxy manuellement !

Comment vérifier que la purge Varnish fonctionne

Vous pouvez vérifier le header "Age" pour vérifier que le cache Varnish est correctement purgé.

Pour faire cela dans Chrome, commencez par ouvrir les outils développeurs  :  
Vues → Développeur → Outils développeur

Cliquez ensuite sur l'onglet Network, et rechargez le site.

Regardez la première requête et vérifiez la valeur du header age. C'est l'âge du cache Varnish, en secondes. Just après l'avoir vidé, sa valeur est à 0 : 

How To Check The Varnish Header

Cela a-t-il répondu à votre question ? Merci pour votre retour :) Une erreur est survenue lors de l’envoi de votre retour. Veuillez réessayer plus tard.