STATUS IS UPWIKI DI OTTIMIZZAZIONE DEL SITO
23Rafforza
Prestazioni e distribuzione / Rafforza

Controlla gli script di terze parti prima che controllino la tua pagina

Un sistema pratico per individuare script esterni, provarne il valore, caricarli in sicurezza, rispettare il consenso, testare i guasti e rimuovere i fornitori inutilizzati.

Controlla gli script di terze parti prima che controllino la tua pagina — GUIDA VISIVA
LEGGI
8 minuti
FONTI
7
RIVALIDA
2027-03-27
rivisto
Responsabile engineering delle prestazioni con revisione privacy e application-security per integrazioni soggette a consenso o sensibili per la sicurezza
LA RISPOSTA BREVE

Inizia dalla decisione.

Tratta ogni script di terze parti come una dipendenza con un proprietario, uno scopo, un budget, una categoria di consenso e una data di revisione. Crea un unico inventario da tracce browser, tag manager, plug-in CMS e codice. Registra domini dei fornitori, trigger, dati esposti e cosa si rompe se il fornitore è lento o assente. Rimuovi prima i duplicati e i tag senza proprietario.

Tieni il codice non essenziale fuori dal critical rendering path, il lavoro del browser necessario per mostrare la prima schermata. Carica solo il codice necessario per il primo compito; ritarda i widget indipendenti fino all'interazione preservando l'ordine delle dipendenze. Testa i percorsi prioritari con il consenso accettato, rifiutato e con i domini dei fornitori bloccati. Il codice che non può fallire in modo sicuro ha bisogno di fallback, isolamento o di una diversa implementazione.

GUIDA VISIVA

Vedi il lavoro come un sistema.

Usa questa mappa per collegare le decisioni dell'articolo prima di agire su singole tattiche.

SIURafforza
01Costruisci un inventario unico da ciò che il browser carica
02Rendi visibili le decisioni di conservazione, rimozione e budget
03Carica in ritardo solo quando è sicuro farlo
04Rendi il consenso la porta d'accesso, non un ripensamento
01

Costruisci un inventario unico da ciò che il browser carica

Inizia con pagine rappresentative: home, landing, dettaglio, ricerca, carrello, checkout, account e campagne. Registra visite a freddo e di ritorno in Chrome DevTools. Confronta le evidenze del browser con tag manager, plug-in del CMS e dipendenze nel codice; una sola vista può mancare script iniettati.

Usa una riga per fornitore o integrazione, non solo per URL. Rileva i domini con cui comunica e se può aggiungere tag. Assegna un owner aziendale che possa giustificare lo scopo e approvare la rimozione. Riesamina dopo campagne, cambi dei fornitori, rilascio di template e redesign.

Prove minime

Salva pagina, percorso, fornitori, domini, richieste, dimensione trasferita, lavoro sulla main thread e condizioni di test. Una traccia di laboratorio è evidenza diagnostica, non una promessa per ogni visitatore.

Registra la decisione

Includi scopo, owner, categoria di consenso, trigger, dati esposti, ordine delle dipendenze, fallback e data di revisione.

02

Rendi visibili le decisioni di conservazione, rimozione e budget

Chiedi a ogni owner cosa sarebbe peggio se l'integrazione sparisse. Se la risposta è vaga, disabilitala o rimuovila. web.dev raccomanda budget, evitare funzioni duplicate e pulire script ridondanti.

Un budget è una guardia di squadra, non una soglia universale. Imposta limiti per byte, richieste, tempo sulla main thread e timing per singolo fornitore e per pagina. Confronta la baseline con una modifica. Richiedi all'owner di rimanere entro il limite, rimuovere un altro costo o ottenere un'eccezione con scadenza. Usa percorsi comparabili e metriche centrate sull'utente.

Conserva

Mantieni solo le dipendenze con uno scopo attuale, un costo e uso dati accettati dall'owner e un percorso di fallimento accettabile.

Rimuovi

Ritira pixel scaduti, analytics duplicati, chat inattive, esperimenti non usati e plug-in abbandonati tramite un rilascio a fasi.

Eccezione

Registra motivo, costo, approvatore, azione compensativa e data di revisione.

03

Carica in ritardo solo quando è sicuro farlo

Scegli il comportamento di caricamento deliberatamente. Un classico script esterno senza async, defer o comportamento module viene scaricato ed eseguito prima della continuazione del parsing HTML. Con async, il download avviene in parallelo ma l'esecuzione parte quando pronto, quindi l'ordine non è garantito. Con defer, gli script classici esterni vengono eseguiti dopo il parsing e in ordine documentale, prima di DOMContentLoaded. Defer è adatto per script che richiedono ordine; non è universale.

Per chat opzionale, social, mappe, video o interfacce di raccomandazione, rendi un segnaposto leggero e carica il fornitore dopo un click o quando rilevante. Questo pattern di facciata (facade) parte dal tuo controllo invece di incorporare subito l'embed completo. Preserva l'interazione da tastiera e riserva spazio. Non differire codice necessario a calcolare il prezzo, effettuare il signin, processare il pagamento, fornire accessibilità essenziale o soddisfare un obbligo confermato senza un'alternativa revisionata.

Scegli il trigger

Carica immediatamente solo per le dipendenze del primo compito; usa post-parse per codice ordinato e interaction o visibility per embed opzionali.

Rispetta l'ordine

Non contrassegnare come async script interdipendenti aspettandoti che l'ordine sia mantenuto. Documenta e testa la catena pubblicata.

Evita window load

Non legare l'interfaccia critica a window load; gli embed di terze parti possono ritardarlo anche quando async o defer sono usati.

04

Rendi il consenso la porta d'accesso, non un ripensamento

Classifica ogni fornitore con stakeholder legali e privacy che comprendano giurisdizioni e flussi di dati. Per un'integrazione soggetta a consenso, stabilisci lo stato di consenso prima che il tag invii i dati rilevanti. Google indica che il suo comando di consenso di default dovrebbe eseguire prima dei comandi di misurazione e che gli aggiornamenti dovrebbero seguire una scelta modificata. Questa indicazione di prodotto non è consulenza legale.

Testa la prima visita con nessuna scelta, accettazione, rifiuto e ritiro del consenso. Controlla interfaccia e rete: un widget nascosto non prova che non sia stata inviata una richiesta o un identificatore. Se la piattaforma di consenso si carica in modo asincrono, testa i tempi. Persisti le scelte in modo appropriato e applica i cambiamenti nella pagina corrente e nelle visite successive.

Documenta la classificazione

Non fare affidamento sull'etichetta fornita dal venditore. Registra perché il tag è essenziale, opzionale o proibito per una regione o un percorso e ottieni l'approvazione.

Verifica il ritiro

Dopo il ritiro, conferma che i tag non essenziali configurati non si carichino né inviino dati e conserva le prove di test.

05

Riduci il raggio d'azione del codice che non controlli

OWASP individua la perdita di controllo sui cambiamenti client, l'esecuzione di codice arbitrario nei browser e la divulgazione di dati sensibili come rischi centrali. Limita l'accesso alla pubblicazione dei tag, revisiona HTML personalizzato o funzionalità di codice arbitrario e documenta i campi del data-layer consentiti. Contratti con i fornitori e una review di sicurezza qualificata possono aiutare per integrazioni ad alto rischio; nessuno dei due sostituisce i test.

Subresource Integrity, o SRI, permette al browser di verificare uno script rispetto a un hash crittografico. Funziona solo quando una risorsa può essere 'pinned' e la delivery cross-origin supporta CORS; il W3C dice che usare SRI senza CORS è un errore logico. È inadatto per molti URL di fornitori che cambiano. Un iframe sandbox può ridurre l'accesso diretto al DOM host e ai cookie, ma richiede revisione specialistica. I flussi sensibili a pagamenti e sicurezza meritano una review qualificata.

Minimizza i dati

Passa solo i campi documentati necessari allo scopo. Non esporre segreti, dati di pagamento o attributi cliente non necessari.

Conosci il limite

SRI verifica i byte, non se l'uso dei dati o le richieste successive siano appropriate; l'isolamento non è una soluzione plug-in.

06

Esercita i guasti dei fornitori prima che li incontrino i clienti

Per ogni fornitore mantenuto, blocca i suoi domini in un ambiente di test o con un request blocker del browser, poi esegui il percorso. Testa anche risposte lente e una configurazione del tag manager senza l'integrazione. Conferma che contenuti primari, navigazione, form, checkout e accesso account si comportino come previsto. Questo scopre assunzioni prima del rilascio.

Definisci la rimedio prima di un incidente: chi può disabilitare il tag, se è necessario un flag o una pubblicazione del tag manager, come effettuare rollback e come verificare. SIU è ottimizzazione proattiva dell'uptime e remediation: usa inventario, budget, preflight e prove di rollback per ridurre il rischio di dipendenza. SIU non può controllare l'infrastruttura del fornitore, garantire disponibilità o sostituire la revisione.

Imposta i criteri di successo

Dichiara cosa rimane utilizzabile senza il fornitore, cosa può degradare, il fallback e il ritardo massimo prima della disabilitazione.

Conserva prove di rilascio

Allega una traccia prima-e-dopo, risultato del consenso, risultato con fornitore bloccato e owner del rollback al record della modifica.

AZIONE / VERIFICA

La tua guida pratica alle attività.

  1. 01

    Cattura il set di dipendenze

    Traccia i template prioritari, poi confronta le evidenze del browser con inventari di tag-manager, CMS e codice.

    VERIFICA: Ogni dominio di terze parti è collegato a una riga di inventario o viene investigato prima del rilascio.
  2. 02

    Assegna l'owner

    Nomina la persona responsabile per scopo, costo, uso dei dati e rinnovo.

    VERIFICA: Nessuna integrazione mantenuta manca di owner, scopo o data di revisione.
  3. 03

    Rimuovi codice ridondante

    Pianifica la rimozione di analytics duplicati, pixel scaduti, esperimenti dormienti e plug-in non utilizzati.

    VERIFICA: I percorsi richiesti e i report sono verificati dopo la rimozione.
  4. 04

    Imposta budget

    Definisci limiti per pagina e per fornitore su richieste, byte, lavoro main-thread e timing.

    VERIFICA: Il record di rilascio confronta la modifica con il limite e registra eventuali eccezioni con scadenza.
  5. 05

    Valida caricamento e consenso

    Testa ordine delle dipendenze, fallback, uso da tastiera e scelte di consenso.

    VERIFICA: L'ispezione di rete corrisponde al comportamento di caricamento e consenso approvato.
  6. 06

    Revisiona i confini

    Limita l'accesso alla pubblicazione, documenta i campi dati e valuta SRI o isolamento solo dove i loro vincoli sono appropriati.

    VERIFICA: L'integrazione ha una review di sicurezza o privacy appropriata al suo rischio.
  7. 07

    Blocca il fornitore

    Simula un fornitore non disponibile o lento ed esegui il percorso essenziale end-to-end.

    VERIFICA: I compiti critici rispettano i criteri di fallback o il rischio è ridisegnato o accettato esplicitamente.
  8. 08

    Esercita disabilitazione e rollback

    Documenta la strada autorizzata per disabilitare e tornare alla configurazione nota funzionante.

    VERIFICA: Una persona nominata ha testato i passaggi in non-production e ha registrato il risultato.
ARGOMENTI DI DISCUSSIONE

Confronta i compromessi, non i dati privati.

Usa questi spunti con il tuo team o la community dei proprietari di siti. Condividi metodi e lezioni, ma non incollare mai credenziali, dati dei clienti o dettagli infrastrutturali non pubblici.

  1. 01

    Quale integrazione di terze parti sul tuo sito ha il beneficio misurabile più chiaro e quale evidenza ha reso facile quella decisione?

  2. 02

    Quale fallback ha mantenuto utile un percorso cliente quando un widget opzionale, un embed o un fornitore di misurazione non era disponibile?

  3. 03

    Come decidono i tuoi team di prodotto, marketing, privacy e engineering quando un'eccezione temporanea a un tag dovrebbe scadere?

RISORSE POPOLARI / AUTOREVOLI

Apri il materiale di riferimento.

web.devLoad Third-Party JavaScript ↗

Linee guida Google per trovare risorse costose, misurare l'impatto, ritardare il caricamento e l'hosting self‑hosted.

Rivisto 2026-09-27
web.devThird-party JavaScript performance ↗

Panoramica sui costi di rete e di rendering delle terze parti, budget e pulizia.

Rivisto 2026-09-27
MDN Web Docsscript: The Script element ↗

Riferimento per script classici, async, defer, module, integrity ed errori.

Rivisto 2026-09-27
OWASPThird Party JavaScript Management Cheat Sheet ↗

Linee guida di sicurezza sui rischi delle terze parti, controlli sui tag, sandboxing, integrity ed esposizione dei dati.

Rivisto 2026-09-27
Google for DevelopersSet up consent mode on websites ↗

Documentazione ufficiale Google tag per default di consenso, aggiornamenti, timing e persistenza.

Rivisto 2026-09-27
W3CSubresource Integrity ↗

Specificazione per i metadati di integrità degli script e vincoli cross-origin.

Rivisto 2026-09-27
Chrome for DevelopersPerformance features reference ↗

Come registrare tracce e distinguere eventi first- e third-party.

Rivisto 2026-09-27

Politica delle fonti. Questo articolo utilizza documentazione primaria pubblica o autorevole letta direttamente. Le risorse sono selezionate per dettagli di implementazione, non per estratti. La documentazione di prodotto non determina obblighi legali. I link interni e SID sono navigazione, non evidenza.

Chiarimenti rapidi

Domande comuni.

Ogni script di terze parti dovrebbe usare async?

No. Async rimuove il blocco del parser durante il download ma non garantisce l'ordine e può interrompere il rendering. Usalo per script indipendenti; usa defer per script classici ordinati e trigger di interazione per embed opzionali.

Possiamo self-hostare il JavaScript del fornitore per renderlo più affidabile?

Non automaticamente. Può aumentare il controllo su cache e delivery, ma ti rende responsabile di compatibilità e aggiornamenti di sicurezza. Conferma i termini del fornitore, la proprietà delle patch e i test di regressione prima.

SRI rende sicuro uno script di un fornitore?

No. SRI può verificare i byte attesi quando la delivery lo supporta. Non valuta il comportamento intenzionale, la raccolta dati o le attività di rete successive, ed è impraticabile per molti script che cambiano frequentemente.

Status Is UP Editorial Team · Redattori Uptime Enablement

Revisionato da Responsabile engineering delle prestazioni con revisione privacy e application-security per integrazioni soggette a consenso o sensibili per la sicurezza. Pubblicato 2026-09-27; aggiornato 2026-09-30.