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 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.

Fichiers cache séparés pour les appareils mobiles

Si vous avez activé l'option "Séparer les fichiers de cache pour les appareils mobiles" dans l'onglet "Cache", vous devez vous assurer que Varnish est configurée pour distinguer les requêtes des appareils mobiles de celles des ordinateurs de bureau. Sinon, la mauvaise version du cache pourrait être servie. C'est un problème connu de la configuration de Varnish sur l'hébergeur Cloudways.

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.

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.