tabbo ha scritto:
Qualcuno di voi conosce un modo, un programma o un sito che permette di fare un'analisi degli script di un sito ed indicare quali possono essere eliminati in quanto non chiamati nelle pagine?
Mi spiego meglio: faccio siti con Wordpress [...]
Giusto per essere precisi, stai cercando di capire quali
plugin Wordpress eliminare, oppure parli proprio di script in termini di
file JavaScript importati nelle pagine?
L'analisi dei primi potrebbe essere più semplice, anche se la rimozione di questo tipo di dipendenza andrebbe sempre commisurata all'uso che se ne fa all'interno del sito.
Determinare invece quali script non sono necessari è più difficile, in quanto l'ambito in cui lavorano è estremamente "dinamico" (parliamo del runtime di JavaScript all'interno del browser) e in assenza di una gestione fatta "a moduli", ovvero con interdipendenze esplicitamente dichiarate, risulta quasi impossibile fare questo tipo di discriminazione in modo automatico; ad esempio, potrebbe esserci uno script che appare inutilizzato in quanto contiene funzioni non invocate da nessuna parte, ma magari il codice dello script va a "iniettare" nuovi metodi all'interno dei prototipi degli oggetti nativi del runtime di JS (es. nuove funzioni su date e stringhe) senza i quali i successivi script che dipendono dallo stesso (ma non lo dichiarano esplicitamente nel codice, se non a livello di documentazione) non funzionerebbero correttamente.
Oltre a questo, spesso può capitare che uno script porti in dote più feature, magari di cui se ne usa solo una, ma l'inscindibilità del file JS impedisce comunque di rimuoverlo come dipendenza.
Riassumendo, una operazione del genere andrebbe eseguita da una persona esperta che conosce le finalità di ciascun script e il ruolo condotto nonché le dipendenze da altri script a qualsiasi livello, e quindi può permettersi di modificare il sorgente andando a rimuoverlo con cognizione di causa.
Gli automatismi, qualora vi fossero, a mio avviso non sarebbero comunque in grado di garantire questo risultato.
Ciao!