Lo script Dynamic Yield proporrà esperienze personalizzate ai visitatori del tuo sito. Lavoriamo costantemente per ridurre l'effetto che lo script ha sul tempo di caricamento dei siti. Ecco un elenco di azioni che puoi intraprendere per ridurre ulteriormente il tempo di caricamento e il flicker.
Archivia le campagne che non ti servono
Tutte le varianti attive di tutte le esperienze attive in tutte le campagne attive fanno parte dello script Dynamic Yield. Fai un po' di pulizia di tanto in tanto:
- sospendi le varianti perdenti nei test A/B se il test ha raggiunto risultati significativi (procedura consigliata indipendentemente dalle dimensioni dello script). Se l'elemento di controllo ha vinto, metti in pausa l'esperienza o archivia la campagna. Individua i test A/B con risultati conclusivi in modo semplice sulla dashboard.
- Archivia le campagne indirizzate a segmenti di pubblico, pagine e selettori che non esistono più. Usa la colonna delle impressioni (ultimi 7 giorni) nell'elenco delle campagne di personalizzazione del sito per identificare le campagne che non vengono più pubblicate.
- Archivi i test A/A terminati.
Nota: le esperienze che hanno come destinazione il passato vengono automaticamente escluse dallo script.
Caricamento ottimale delle campagne
Opzione 1: campagne a caricamento lento
Carica automaticamente in differita tutte le campagne di consigli e contenuti dinamici. Dato che l'esecuzione incide molto sul punteggio lighthouse, questa funzione introduce un miglioramento di circa il 30-40% al runtime di esecuzione JavaScript sul tuo sito (a seconda del numero di campagne attive).
Contatta l'assistenza per abilitare questa funzione.
Opzione 2: ritarda il caricamento del contenuto sotto alla schermata visualizzata
Contatta l'assistenza per abilitare questa funzione.
Usa i modelli quando puoi
Se dovessi avere un'esperienza con 2 varianti collegate allo stesso modello, basterà aggiungere il codice corrispondente una volta allo script Dynamic Yield così le varianti dovrannno includere solo i valori delle variabili. Se le varianti non saranno collegate al modello, l'intero codice di entrambe le opzioni verrà incluso nello script Dynamic Yield. Più codice significa più ritardi, quindi, ti consigliamo di usare i modelli quando puoi. Scopri di più sui modelli.
Minimizza le varianti e il codice dei modelli
Minimizzare il codice dei modelli e delle varianti può ridurre significativamente le dimensioni di uno script. Ci sono vari strumenti online per minimizzare il tuo codice (come, ad esempio, minifier.org).
Indicizza i prodotti per migliorare le prestazioni delle raccomandazioni
I feed più estesi potrebbero avere tempi di pubblicazione dei consigli più lenti, sebbene ci siano anche molti altri fattori, come il numero e le tipologie di regole dei consigli. Se ti preoccupano i tempi di pubblicazione o hai riscontrato periodi estesi di elaborazione dei consigli, ti raccomandiamo di:
- indicizzare i prodotti con group_id,
- impostare delle regole è/non è invece di contiene/non contiene durante l'impostazione delle regole di raccomandazione,
aggiungere tag di prefetch e preconnect.
Dato che gli script Dynamic Yield sono gestiti da un hostname diverso dal tuo sito web, il browser dovrà risolvere il DNS. Inserisci un tag dns-prefetch prima dello script per ridurre i tempi di risoluzione del DNS.
I tag di preconnessione consentono al browser di configurare le prime connessioni prima di inviare effettivamente una richiesta HTTP al server. Con questa soluzione si elimina la latenza in andata e ritorno e si fa risparmiare tempo agli utenti. Alcuni browser (come Explorer e Safari iOS) non supportano i tag di preconnessione e li ignorano.
Data center negli Stati Uniti:
<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>
Data center nell'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>
Il codice di prefetch è stato aggiunto al codice get nella piattaforma all'inizio del 2019 e il codice di preconnessione è stato aggiunto a novembre 2019. Se lo script è stato implementato prima di allora, è probabile che tu non stia utilizzando questo metodo.
Escludi jQuery dallo script Dynamic Yield
In passato, lo script Dynamic Yield includeva una libreria jQuery ($dy) come parte dello script. Questo elemento aveva un impatto significativo sulle dimensioni dello script.
Dal secondo trimestre del 2019, la libreria $dy è stata rimossa dallo script. Poiché questa libreria jQuery veniva utilizzata a volte nelle varianti, è stata rimossa solo dai siti creati dopo il 1° trimestre 2019.
Se il tuo sito è stato creato prima del 1° trimestre 2019 e non utilizza la libreria $dy, contatta l'assistenza per escludere questa libreria dallo script.
Utenti avanzati: sfrutta il tuo CDN
Dynamic Yield utilizza un provider CDN leader a livello mondiale per caricare i suoi script. È super veloce e la nostra policy di memorizzazione nella cache è ottimizzata. Tuttavia, per problemi di lentezza, vale la pena verificare la possibilità di utilizzare il tuo CDN per caricare gli script di Dynamic Yield e ospitare tutte le immagini che vengono caricate nelle varianti di Dynamic Yield. Scopri di più sull'integrazione dei CDN.
Utenti avanzati: scrittura nell'archivio locale
Per impostazione predefinita, Dynamic Yield memorizza i dati nei cookie. Se hai un sito a protocollo singolo o a dominio singolo, puoi memorizzare dati nell'archivio locale anziché nell'archivio dei cookie. Per supportare questa operazione, è necessario inserire DY.noCookies = true nel contesto della pagina, come illustrato nell'esempio seguente:
<script type="text/javascript">
window.DY = window.DY || {}; DY.recommendationContext = { type: "HOMEPAGE"}; DY.noCookies = true;
</script>
Nota: se non dovesse trovare dati nell'archivio locale, Dynamic Yield continuerà a leggere i dati dei cookie. Inoltre, nei casi in cui il browser non supporti l'archiviazione locale (ad esempio, in modalità di navigazione in incognito su Safari), Dynamic Yield continuerà a scrivere dati nei cookie.
Domande frequenti
Google PageSpeed Insights Tool ha segnalato la policy della cache Dynamic Yield, cosa devo fare?
Niente. Gli script Dynamic Yield vengono scaricati alla prima visualizzazione di pagina dei visitatori del sito (causando un piccolo ritardo), ma gli script verranno caricati dal browser degli utenti nelle visualizzazioni di pagina successive. Google non lo considera allarmante e sfrutta la stessa tecnica per Google Analytics. È importante notare che:
- il punteggio Google PageSpeed Insights non rispecchia i ranking SEO,
- il punteggio non influisce sul crawler delle Ricerche Google,
- Google PageSpeed Insights non misura la velocità effettiva, ma, piuttosto, analizza i contenuti e classifica le pagine Web in base alle best practice di tagging.
- Ti consigliamo di analizzare le prestazioni della tua pagina con strumenti aggiuntivi (come Pingdom, Test e GTmetrix).
È possibile utilizzare Dynamic Yield senza lo script client?
Sì. Nel 2019, Dynamic Yield ha lanciato le sue API lato server, che ti consentono di sfruttare le funzionalità chiave di Dynamic Yield (targeting comportamentale, test e raccomandazioni) dal lato server. Significa che non avrai problemi di flicker e avrai il pieno controllo del tempo di caricamento. Tuttavia, richiede uno sforzo maggiore da parte degli sviluppatori (come la creazione delle varianti nel CMS). Scopri di più sull'API di personalizzazione Dynamic Yield.