Aller au contenu principal

Le script Varify ne se charge pas correctement sur WordPress avec WP Rocket

Dernière mise à jour le 21 oct. 20264 min de lecture

Comment reconnaître l'erreur​

Ton site fonctionne sous WordPress et utilise le plugin WP Rocket. Le script Varify ne se charge pas correctement. Les expériences ne sont pas diffusées ou seulement avec un délai, aucune ou très peu de données arrivent dans le rapport, ou l'objet window.varify n'est pas défini dans le navigateur.

important

Le script Varify doit se charger sans modification et sans délai afin que les variantes soient diffusées avant que le visiteur ne voie la page. Il ne doit donc pas être optimisé, retardé ou mis en cache par WP Rocket.

Pourquoi cela se produit​

WP Rocket optimise les fichiers JavaScript de deux manières. Les deux peuvent affecter le script Varify :

  • Delay JavaScript execution : Retarde les scripts jusqu'à ce que le visiteur interagisse avec la page. Dans ce processus, l'extrait de code inline contenant l'ID Varify est converti en une adresse data:text/javascript;base64. Le script démarre trop tard, ce qui fait clignoter les variantes ou empêche leur diffusion.
  • Minify / Combine JavaScript files : Télécharge les scripts externes et sert une copie depuis ton propre domaine, depuis le dossier /wp-content/cache/min/. La page charge une copie en cache au lieu du fichier actuel depuis app.varify.io, de sorte que les modifications apportées à tes expériences n'arrivent pas.

Comment vérifier si WP Rocket est en cause​

Avec les outils de développement de ton navigateur (Chrome : clic droit sur la page, « Inspecter »), tu peux voir d'où le script est chargé.

Étape 1 : Onglet Elements – l'extrait de code a-t-il été modifié ?​

Ouvre l'onglet « Elements » et recherche (Ctrl/Cmd + F) « varify ». Si WP Rocket a converti l'extrait de code inline contenant l'ID Varify en un script avec src="data:text/javascript;base64…" et l'attribut data-rocket-status, l'extrait de code a été modifié. En dessous, varify.js est chargé depuis ton propre domaine sous /cache/min/.

Onglet Elements montrant l'extrait de code Varify converti par WP Rocket

Étape 2 : Onglet Network – d'où vient varify.js ?​

Ouvre l'onglet « Network », recharge la page et saisis « varify » dans le filtre. Clique sur le fichier varify.js et vérifie « Request URL ». L'adresse correcte se trouve sur app.varify.io. Si le fichier se trouve sur ton propre domaine, par exemple sous /wp-content/cache/min/1/varify.js, WP Rocket diffuse une copie en cache. La valeur « Age » dans les en-têtes de réponse indique depuis combien de temps la copie est en cache.

Onglet Network avec l'URL de requête de varify.js sur le domaine propre

Étape 3 : comparer sans WP Rocket​

Ajoute ?nowprocket à l'URL de la page. Cela contourne les optimisations de WP Rocket. Si le script Varify se charge alors depuis app.varify.io et fonctionne, WP Rocket en est la cause.

Onglet Network avec ?nowprocket dans l'adresse et varify.js provenant de app.varify.io

Solution : exclure le script Varify avec data-nowprocket​

WP Rocket exclut du délai tout script contenant le mot-clé nowprocket, par exemple sous forme d'attribut. Ajoute donc l'attribut data-nowprocket aux deux balises script du snippet Varify : le script inline avec ton ID Varify et le script qui charge le fichier varify.js.

<script data-nowprocket>
window.varify = window.varify || {};
window.varify.iid = YOUR ACCOUNT ID;
</script>
<script data-nowprocket src="https://app.varify.io/varify.js"></script>
important

Copie le snippet avec ton ID personnel depuis ton compte Varify (Tracking Setup) et ajoute uniquement l'attribut data-nowprocket. Ne modifie rien d'autre dans le code.

Alternative : exclure le script dans les paramètres WP Rocket​

Si tu ne peux pas modifier le snippet, exclus-le dans WP Rocket. Dans WordPress, ouvre « Settings > WP Rocket > File Optimization » et saisis ces valeurs :

  • Sous « Delay JavaScript execution », dans le champ « Excluded JavaScript Files » : varify.js et window.varify. La deuxième entrée exclut le snippet inline.
  • Sous « Minify JavaScript files », dans le champ « Excluded JavaScript Files » (et, si activé, sous « Combine JavaScript files ») : varify.js.
  • Enregistre les modifications.
important

Pour les scripts externes, utilise le nom du fichier et non le domaine. Si « Minify JavaScript files » est activé, le fichier est stocké localement sur ton serveur, et une entrée avec app.varify.io ne correspondrait plus.

Vider le cache et vérifier le résultat​

  1. Videz le cache de WP Rocket, par exemple avec « Clear cache » dans la barre d'administration WordPress. Si nécessaire, videz également le cache de votre hébergement et de votre CDN.
  2. Rechargez la page dans l'onglet Network avec l'option « Disable cache » activée et filtrez sur « varify ».
  3. Vérifiez que varify.js est chargé depuis app.varify.io avec le statut 200 (comme dans la dernière capture d'écran ci-dessus).
  4. Entrez window.varify dans la console. Si un objet est retourné, le script est chargé.

Si le problème persiste​

  • Vérifiez si la console affiche le message Refused to load the script 'data:text/javascript;base64…'. Si c'est le cas, une Content Security Policy de votre site bloque les adresses data: que WP Rocket crée. Autorisez data: dans la directive script-src ou excluez le script Varify de l'optimisation comme décrit ci-dessus. Votre hébergeur peut vous aider à ce sujet.
  • Vérifiez si d'autres plugins d'optimisation ou de cache, un CDN ou des fonctionnalités de votre hébergement modifient le JavaScript. Ils peuvent avoir les mêmes effets.
  • Vérifiez que le snippet Varify n'est inclus qu'une seule fois sur la page.
  • Si vous avez besoin d'aide supplémentaire, contactez notre équipe support.

Conclusion​

Sur les sites WordPress avec WP Rocket, le plugin retarde ou met souvent en cache le script Varify. Ajoutez l'attribut data-nowprocket aux deux balises script du snippet Varify, ou excluez varify.js et le snippet inline dans WP Rocket. Videz ensuite le cache et vérifiez dans l'onglet Network que varify.js est chargé depuis app.varify.io.

Articles liés​