Utiliser Varnish avec WP Rocket
Dans cette doc :
Add-on Varnish
Vous savez probablement si votre site utilise Varnish. Si vous n'êtes pas sûr, vous pouvez vérifier auprès de votre hébergeur.
Si vous êtes chez WP Serveur, Cloudways, WP Engine WPX ou FlyWheel, WP Rocket détectera ces hébergeurs et activera l’Add-on Varnish automatiquement. Chez SiteGround et Kinsta, vous n'avez pas non plus besoin d'activer cette option, car nous synchronisons déjà le cache de WP Rocket avec leur cache serveur.
Dans d'autres environnements, si vous savez que votre serveur utilise Varnish, basculez l'état de l’ Add-on Varnish sur ON. Ansi le cache Varnish sera purgé en même temps que le cache de WP Rocket :
Cela signifie que si vous utilisiez l'extension Varnish HTTP Purge, elle n'est plus nécessaire.
Mise en Cache pour Mobile
WP Rocket versions antérieures à 3.16
Si vous souhaitez utiliser la sous-option Séparer les fichiers de cache pour les appareils mobiles, vous devez également vous assurer que votre configuration Varnish est configurée pour distinguer les appareils mobiles des appareils de bureau.
Configuration recommandée pour Varnish
Nous vous recommandons d'utiliser ce guide pour mettre en place votre configuration Varnish : https://www.varnish-software.com/wiki/content/tutorials/wordpress/wp_step_by_step.html
Les requêtes de purge du WP Rocket suivent automatiquement cette configuration.
Veuillez noter qu'il y a une petite faute de frappe dans le modèle de configuration de Varnish figurant dans la documentation :
ban("req.url ~ " + req.url + " && req.http.host ~ " + req.http.host);
devrait être :
ban("req.url ~ " + req.url + " && req.http.host ~ " + req.http.host);
IP Varnish personnalisée(s)
Notre intégration Varnish suppose que votre serveur utilise l'IP par défaut 127.0.0.1
. Cependant, si vous avez besoin de spécifier une IP différente, vous pouvez faire cela grâce à ce plugin d’aide :
📥 Télécharger (.zip): WP Rocket | Varnish IP
Développeurs : Vous trouverez le code de ce plugin sur GitHub.
Modifier la méthode Purge pour BAN
Les requêtes de purge de WP Rocket suivent la configuration recommandée par Varnish : https://www.varnish-software.com/wiki/content/tutorials/wordpress/wp_step_by_step.html#handling-purge-requests
- Si la requête de purge contient l'en-tête X-purge-method: regex, elle utilise BAN
- Sinon, elle utilise une purge normale
Toutefois, si vous n'êtes pas en mesure de modifier la configuration de votre VCL, vous pouvez utiliser l’extrait de code ci-dessous pour changer la méthode de requête de purge en BAN à la place.
/** * Modify Varnish purge request from PURGE to BAN * * @param $args array Array of arguments for the request. */ function mysite_wp_rocket_modify_varnish_purge_method ( $args ) { $args[ 'method' ] = 'BAN'; return $args; } add_filter( 'rocket_varnish_purge_request_args', 'mysite_wp_rocket_modify_varnish_purge_method' );
Modifier le scheme Purge pour du HTTPS
Le WP Rocket utilise le protocole HTTP pour envoyer la requête de purge à Varnish. Selon la configuration de Varnish, vous devrez peut-être passer au protocole HTTPS. Vous pouvez le faire à l'aide de l’extrait de code ci-dessous :
/** * Change Varnish scheme from HTTP to HTTPS * */ function wp_rocket_change_varnish_scheme ( $scheme ) { $scheme = 'https'; return $scheme; } add_filter( 'rocket_varnish_http_purge_scheme', 'mysite_wp_rocket_change_varnish_scheme' );
Utiliser Varnish avec un proxy
Si vous utilisez Varnish en conjonction avec un proxy comme Cloudflare, veuillez consulter ce guide.
Varnish Control Key
Malheureusement, WP Rocket n'est pas compatible avec Varnish Control Key.
Une alternative, si vous devez utiliser cette clé, est d'utiliser le plugin Purge Varnish Cache . Veuillez noter que le cache de WP Rocket ne sera pas synchronisé avec le cache de Varnish, vous devrez donc vider le cache de Varnish après avoir fait des changements sur le site web.