Grâce au script Dynamic Yield, vous pouvez fournir une expérience personnalisée aux visiteurs de votre site. Nous nous efforçons constamment de réduire l’impact du script sur la durée de chargement de votre site. Voici une liste de mesures à prendre pour réduire encore davantage la durée de chargement et le scintillement.
Archivez les campagnes dont vous n’avez pas besoin
Toutes les variations actives de toutes les expériences actives de toutes les campagnes actives font partie du script Dynamic Yield. Faites un peu de ménage de temps en temps :
- Mettez en pause les variations perdantes dans les tests A/B si le test a obtenu des résultats significatifs (meilleure pratique quelle que soit la taille du script). Si le contrôle a gagné, mettez l’expérience en pause ou archivez la campagne. Vous pourrez facilement localiser les tests A/B dont les résultats sont concluants sur le tableau de bord.
- Archivez les campagnes ciblées sur des audiences, des pages et des sélecteurs qui n’existent plus. Utilisez la colonne Impressions (7 derniers jours) dans la liste des campagnes de personnalisation du site pour identifier les campagnes qui ne sont plus diffusées.
- Archivez les tests A/A terminés.
Remarque : les expériences ciblées sur le passé sont automatiquement exclues du script.
Chargement optimal des campagnes
Option 1 : chargement paresseux des campagnes
Chargement automatique de toutes les campagnes de recommandations et de Dynamic Content. Étant donné que l’exécution est coûteuse dans le scoring lighthouse, cette fonctionnalité améliore d’environ 30 à 40 % la durée d’exécution du JavaScript sur votre site (en fonction du nombre de campagnes actives).
Contactez le service d’assistance pour activer cette fonctionnalité.
Option 2 : Retarder le chargement du contenu sous le pli
Contactez le service d’assistance pour activer cette fonctionnalité.
Utilisez des modèles lorsque c’est possible
Si vous avez une expérience avec 2 variations connectées au même modèle (le code du modèle est ajouté une seule fois au script Dynamic Yield, et les variations n’incluent que les valeurs des variables. Si les variations ne sont pas connectées au modèle, l’ensemble du code des deux variations est inclus dans le script Dynamic Yield. Plus le code est long, plus la durée de traitement sera longue. Voilà pourquoi nous vous conseillons d’utiliser des modèles, dans la mesure du possible. En savoir plus sur les modèles.
Minimisez le code de vos variations et de vos modèles
La minification du code des modèles et des variations peut réduire considérablement la taille des scripts. Il existe plusieurs outils en ligne pour minifier votre code (comme minifier.org).
Indexer les produits pour améliorer la performance des recommandations
Lorsque les flux sont volumineux, l’affichage des recommandations peut être ralenti, même si de nombreux autres facteurs entrent en ligne de compte, tels que le nombre et les types de règles de recommandation. Si vous avez des préoccupations ou si vous avez déjà constaté des lenteurs dans l’affichage des recommandations, nous vous recommandons ce qui suit :
- Indexez les produits à l’aide de group_id
- Définissez des règles « is/is not » au lieu de règles « contains/do not contain » lors de la configuration des règles de recommandation
Ajoutez des balises preconnect et prefetch
Les scripts Dynamic Yield étant servis à partir d’un nom d’hôte différent de celui de votre site web, le navigateur doit résoudre le DNS. Placez une balise « dns-prefetch » avant le script pour réduire le délai de résolution DNS.
Les balises de préconnexion permettent au navigateur d’établir des connexions anticipées avant l’envoi d’une requête HTTP au serveur. Cela élimine le délai de latence aller-retour et permet aux utilisateurs de gagner du temps. Certains navigateurs (comme Explorer et Safari iOS) ne prennent pas en charge les balises de préconnexion et les ignorent.
Centre de données des États-Unis :
<link rel="preconnect" href="//cdn.dynamicyield.com">
<link rel="preconnect" href="//st.dynamicyield.com">
<link rel="preconnect" href="//rcom.dynamicyield.com">
<link rel="dns-prefetch" href="//cdn.dynamicyield.com">
<link rel="dns-prefetch" href="//st.dynamicyield.com">
<link rel="dns-prefetch" href="//rcom.dynamicyield.com">
<script type="text/javascript" src="//cdn.dynamicyield.com/api/[YOUR SITE ID]/api_dynamic.js"></script>
<script type="text/javascript" src="//cdn.dynamicyield.com/api/[YOUR SITE ID]/api_static.js"></script>
Centre de données de l’UE :
<link rel="preconnect" href="//cdn-eu.dynamicyield.com">
<link rel="preconnect" href="//st-eu.dynamicyield.com">
<link rel="preconnect" href="//rcom-eu.dynamicyield.com">
<link rel="dns-prefetch" href="//cdn-eu.dynamicyield.com">
<link rel="dns-prefetch" href="//st-eu.dynamicyield.com">
<link rel="dns-prefetch" href="//rcom-eu.dynamicyield.com">
<script type="text/javascript" src="//cdn-eu.dynamicyield.com/api/[YOUR SITE ID]/api_dynamic.js"></script>
<script type="text/javascript" src="//cdn-eu.dynamicyield.com/api/[YOUR SITE ID]/api_static.js"></script>
Le code « prefetch » a été ajouté au code « get » sur la plateforme début 2019, et le code « preconnect » a été ajouté en novembre 2019. Si vous avez implémenté le script avant cela, il y a de fortes chances que vous n’utilisiez pas cette méthode.
Exclure jQuery du script Dynamic Yield
Dans le passé, le script Dynamic Yield incluait une bibliothèque jQuery ($dy) dans le script. Cela a un impact significatif sur la taille du script.
Depuis le deuxième trimestre 2019, la bibliothèque $dy a été supprimée du script. Comme cette bibliothèque jQuery est parfois utilisée dans des variations, elle n’a été supprimée que des sites créés après le premier trimestre 2019.
Si vous avez créé votre site avant le premier trimestre 2019, et que vous n’utilisez pas $dy, contactez le support pour exclure cette bibliothèque de votre script.
Avancé : tirer parti de votre propre CDN
Dynamic Yield utilise un fournisseur CDN de premier plan pour charger ses scripts. Il est très rapide et notre politique de mise en cache est optimisée. Cependant, si vous constatez des ralentissements, il est intéressant de vérifier la possibilité d’utiliser votre propre CDN pour charger les scripts de Dynamic Yield et héberger toutes les images téléchargées sur les variations de Dynamic Yield. En savoir plus sur l’intégration CDN.
Avancé : écrire dans le stockage local
Par défaut, Dynamic Yield stocke les données dans des cookies. Si vous utilisez un site à protocole unique ou à domaine unique, vous pouvez écrire dans le stockage local au lieu du stockage dans les cookies. Pour ce faire, il convient de placer « DY.noCookies = true » dans le contexte de la page, comme dans l’exemple suivant :
<script type="text/javascript">
window.DY = window.DY || {}; DY.recommendationContext = { type: "HOMEPAGE"}; DY.noCookies = true;
</script>
Remarque : si aucune donnée n’est trouvée dans le stockage local, Dynamic Yield continuera à lire les données du cookie. En outre, dans les cas où le navigateur ne prend pas en charge le stockage local (par exemple, le mode incognito sur Safari), Dynamic Yield continuera à écrire des données dans le cookie.
FAQ
L’outil Google PageSpeed Insights a signalé la politique de cache de Dynamic Yield, que dois-je faire ?
Rien. Les scripts de Dynamic Yield sont téléchargés lors de la première visite du visiteur sur le site (ce qui entraîne un léger retard), mais les scripts sont chargés à partir du navigateur du visiteur lors des visites suivantes. Google ne considère pas cela comme alarmant et utilise la même technique pour Google Analytics. Il est important de noter que :
- Le score Google PageSpeed Insights ne reflète pas le classement SEO.
- Ce score n’affecte en rien le fonctionnement du moteur de recherche de Google.
- Google PageSpeed Insights ne mesure pas la vitesse réelle : il analyse le contenu et classe les pages web en fonction des meilleures pratiques de balisage.
- Nous vous recommandons d’analyser les performances de votre page à l’aide d’autres outils (tels que Pingdom, Test et GTmetrix).
Puis-je utiliser Dynamic Yield sans le script client ?
Oui. En 2019, Dynamic Yield a lancé son API côté serveur. Cela vous permet d’utiliser les capacités de base de Dynamic Yield (ciblage comportemental, tests et recommandations) via l’API côté serveur. Ainsi, il n’y aura pas de scintillement et vous aurez un contrôle total sur la durée de chargement. Cependant, cela demande plus d’efforts de la part de vos développeurs (comme la construction des variations dans votre CMS). En savoir plus sur l’API Dynamic Yield Personalization.