Comprendere GTMetrix: indicizzazione e velocità di un sito
Pubblicato il 20/5/2011 • Blog cdn, css, etags, gtmetrix, header, html, http, indicizzazione, javascript, plugin, sito, velocità, wpsmush
Vi consiglio in ogni caso di spulciarvi bene GTMETRIX che fornisce anche spiegazioni sul significato di ogni problema riscontrato sul vostro sito. In questo articolo spiegherò, senza entrare troppo nei tecnicismi, i principali errori che in genere compaiono quando si effettua l’analisi di un sito su GTMETRIX.
Vi consiglio però di seguire anche questo mio articolo su come migliorare le prestazioni del vostro sito, prima di leggere questo.
1) Parallelize downloads across hostnames: questo parametro sarà sicuramente in rosso. Se il vostro è un piccolo sito che non ha migliaia di accessi giornalieri è inutile spendere soldi per migliorare questo parametro. Per aumentare il valore in questo caso si dovrebbe acquistare un sottodominio in cui hostare tutte le immagini ospitate sul vostro sito. Se avete WP dovreste poi spostare la cartella di destinazione dei vostri upload andando sul pannello wp-admin – impostazioni – media “Memorizza gli upload in questa cartella”.
Questo evita al server che ospita il vostro sito di caricare la immagini che verrebbero invece caricate da un altro server. Ovviamente dovete considerare di fare una scelta del genere tendo ben presente ha dei costi e che è necessaria per siti con elevato traffico.
2) Use a Content Delivery Network (CDN) (sulla parte Yslow): anche questo parametro sarà sicuramente segnato in rosso. Anche per questo vale la regola di sopra. Per siti che non hanno migliaia di accessi dei quali molti simultanei spendere denaro per richiedere un servizio del genere equivale a buttare soldi. Questo parametro indica che il nostro sito non ha una diffusione capillare. La velocità di caricamento di un sito web dipende da quanto i server che ospitano quel sito siano vicini (o meglio prossimi) all’utente che naviga su quel sito. Questo significa che se il nostro sito risiede su un solo server in Italia non sarà raggiungibile alla stessa velocità da un utente italiano rispetto ad uno cinese. Una rete di distribuzione di contenuti (CDN) è un insieme di server web distribuiti su più sedi che forniscono contenuti in modo più efficiente per gli utenti. Il server selezionato per la fornitura di contenuti ad un utente specifico è in genere basato su una misura di prossimità della rete. Alcune società che offrono questi servizi: Akamai Technologies , EdgeCast , o Level3.
3) Combine external JavaScript: Questo parametro (se rosso) sta a significare che avete sul vostro sito molti file JS. L’ideale sarebbe ricombinare le funzioni di javascript in un numero più esiguo possibile di file. Questo perché il server andrà a caricare tutti quei file alla richiesta dell’utente che naviga sul vostro sito. Anche se avete compresso i file con GZIP un numero elevato di js può comunque nuocere alla velocità.
4) Combine images using CSS sprites: Questo parametro fa riferimento alle immagini. È piuttosto immediato capire cosa ci chiede. Bisogna utilizzare il minor numero di immagini durante la costruzione del sito e conviene sempre unire quanto più possibile le immagini.
Ad esempio potete usare sistemi di imagemap in modo da ridurre il più possibile la presenza di tante immagini. È più facile caricare 1 immagine grande piuttosto che 5 che la compongono.
5) Minify HTML: questo parametro è riferibile anche a Minify JavaScript, Minify css. È importante alleggerire il più possibile il codice dei vostri file. GTmatrix vi fornisce già versioni ottimizzate e vi da la lista dei file che dovete ottimizzare. Ora basterà scaricarvi la versione ottimizzata fornita da GTmatrix e sostituirla con la vostra.
Per WordPress esiste un plugin che si chiama WP-Minify. Questo potrebbe risolvere e compattare il codice dei vostri file, ma spesso rischia di far saltare la struttura di un sito. Provatelo e se non funziona procedete manualmente.
6) Make fewer HTTP requests (sulla parte Yslow): È sempre il solito discorso. Bisogna ridurre al minino i file di css, di js e di immagine. Meno file di questo genere avete nel sito e meglio va tutto.
7) Use cookie-free domains (sulla parte Yslow): anche questo parametro si riferisce al fatto di ospitare file statici in un sottodominio. Un po’ quello che dicevo nel punto 1.
8 ) Add Expires headers (sulla parte Yslow): è bene specificare la “data di scandenza” (expiration date) dei file del nostro sito in modo che il client richieda il caricamento di quel file solo se è già stata superata questa data. Questo permette di ridurre notevolmente le richieste al server, sopratutto per quegli elementi che rimangono praticamente inalterati per molto tempo, come le immagini, i css, i javascript ecc… Leggendo questo post che ho scritto potete trovare la sezione riguardante EXPIRE HEADER E ETAGS che spiega come modificare il file di .htaccess.
Vi segnalo alla fine di questa guida un buon plugin per ridurre il peso delle vostre immagini. Si chiama WP Smush.it, è utilissimo perché comprime automaticamente le immagini che caricate da WordPress. Ovviamente non comprime quelle già caricate prima di aver installato il plugin, ma potete farlo voi manualmente.