Ciao a tutti, mi sono iscritto ieri e oggi ho deciso di scrivere la mia prima mini-guida, non avendo trovato niente in giro. Dopo essermi scontrato con il punteggio di Google Page Speed ho deciso di postare come migliorare le prestazioni del sito e il punteggio della voce Leverage Browser Caching di Google Page Speed.
Il punteggio di una pagina con 130 immagini e un peso complessivo di 660kb (d cui 560kb di immagini ) è passato da 0/100 a 90/100. Al momento non può aumentare per una limitazione che spiegherò successivamente in questa guida. Alcuni di voi suppongo che potranno ottenere anche il punteggio di 100/100.
La pagina inoltre con primed cache ( dopo la prima visita) pesa solo 3kb.
La soluzione è applicabile ad un server con Apache 2.x.
PREREQUISITI:
- Apache 2.x (testato su 2.2.3)
- Diritti di accesso/modifica al file .htaccess
- Modulo mod_headers, mod_expires
- Pagina con contenuto statico(=ovvero che non cambia frequentemente)
TOOLS PER VERIFICARE I MIGLIORAMENTI:
- Firefox (>3.x)
- Add-on Google Page Speed
ERRORI/WARNING RISOLTI AL TERMINE DELLA GUIDA:
- The following resources specify a "Vary" header that disables caching in most versions of Internet Explorer. Fix or remove the "Vary" header for the following resources:[elenco risorse di cui non è possibile effettuare il caching]
- The following resources are missing a cache expiration. Resources that do not specify an expiration may not be cached by browsers. Specify an expiration at least one month in the future for resources that should be cached, and an expiration in the past for resources that should not be cached: [elenco risorse senza data di scadenza]
PROCEDIMENTO:
- Lanciate firefox e page speed sulla pagina che intendete velocizzare.
- Aprite il file .htaccess della root e inserite il seguente codice:
3. Salvate e chiudete il file.Codice:<FilesMatch "\.(jpg|jpeg|png|gif)$"> Header set Cache-Control "max-age=37739520, public" </FilesMatch>
4. Fatto.
Ri-eseguite il test e notere un aumento del punteggio:io da 80/100 sono passato a 90/100. (La home di google è 95/100 NDR).
Con il codice scritto sopra ,Apache comunica al browser che il contenuto con le estensioni specificate ( ne potete aggiugnere secondo necessità) deve essere salvato nella cache per il periodo di tempo specificato. (max-age=37739520 che corrisponde ad un anno, il periodo max consentito dalle specifiche HTTP/1.1). Si può impostare una scadenza diversa per ogni tipo di file volendo. Per semplicità, ho impostato tutti le estensioni con la stessa scadenza.
Sicuramente avrete aumentato il punteggio e google page speed non segnalerà più lil messaggio 2, ma altrettanto sicuramente sarà ancora presente il messaggio 1, almeno che il vostro dominio non abbia un IP dedicato.
Per farla breve il warning evidenzia un bug che afflige il meccanismo di gestione della cache di internet explorer sicuramente fino alla v7 e probabilmente anche la 8.
Il problema è causato dalla presenza di determinati valori nel Response Header Vary. Internet Explorer effettua il caching dei dati SE e SOLO SE trova come valore Accept-Encoding e User-Agent. Se trova degli altri valori ( ce ne possono essere diversi, ma per l'elenco e le specifiche c'è Google) non effettua il caching annullando il lavoro fatto fino adesso.
Il contenuto dell'header Vary è verificabile tramite un qualsiasi analizzatore di traffico http. Giusto per citarne due, fiddler e live http headers (tutti e 2 integrabili con FF)
Cosa c'entra l'ip dedicato? beh il problema è che su hosting condiviso al vostri sito è assegnato un indirizzo ip (condiviso appunto) e un numero di porta univoco: per esempio a x.y.w.zorta corrisponde sito . it a x.y.w.z:2247 corrisponde unaltrosito . it
Nell'header Vary sarà quindi presente il valore Host che ha il compito di comunicare al browser il numero di porta per le richieste http, che sarà sicuramente diverso da quello di default (80).
Se avete l'ip dedicato invece e non avete configurazioni strane, le vostre richieste saranno mandate sulla porta 80, di conseguenza non sarà presente il valore Host all'interno dell'header Vary.
Per rimuovere tutti i valori non necessari è suffcente aggiungere nel file .htaccess:
e ripetere eventualmente la riga specificando il nome di tutti i valori indesiderati. Ripeto devono rimanere solo Accept-Encoding e User-Agent per avere una pagina cachabile anche da IE.Codice:Header unset Vary Host
Inserendo il codice qui sopra su hosting condiviso o su hosting con porta diversa dalla 80 otterrete come risultato una bella pagina bianca.
Spero di aver aiutato qualcuno.
Per chiarimenti, etc rimango a disposizione.![]()

LinkBack URL
About LinkBacks

) non effettua il caching annullando il lavoro fatto fino adesso.
orta corrisponde sito . it a x.y.w.z:2247 corrisponde unaltrosito . it
Rispondi Citando


ops spero di non aver parlato troppo in modo troppo "tecnico"... chiedi dove non è chiaro e farò il possibile per essere più "comprensibile"...
Io non riesco proprio a migliorare la velocità del mio sito, nonostante i tuoi consigli!!!! ho dato uno sguardo ai tool di Yslow ma non ci capisco nulla.