logo

WordPress Mania.

Trucchi, notizie, plugin, temi

Come ho velocizzato WordPress di oltre il 100%

Scritto da stefano il 20 gen 2009 | A proposito di: Hosting WordPress, Installare WordPress, Plugin WordPress, Tutorial WordPress, Widget WordPress

Nei giorni scorsi ho deciso di lavorare un po’ per migliorare i tempi di caricamento di WordPressMania ormai diventati biblici.

La situazione iniziale era davvero disperata: il completo caricamento della home richiedeva tra i 12 e i 20 secondi e la pagina cominciava ad apparire tra gli 8 e i 12 secondi…

Ebbene sono riuscito ad ottere tempi di caricamento di circa 4 secondi con il rendering della pagina (così il visitatore può iniziare a leggere) che inizia già al 1° secondo.

Vi racconto come ho fatto, perchè si tratta di accorgimenti che ognuno può mettere in pratica, ma tenete presente che ogni caso è a sè, e bisogna sperimentare, sperimentare, sperimentare…

Con WebPageTest.org ho cercato di individuare i “colli di bottiglia” che rallentavano il tutto.
Il bello di questo tool è che non solo ti offre una specie di “GANTT” del caricamento della pagina, ma presenta poi una “optimization checklist” da seguire per migliorare le prestazioni del sito.

Poichè WordPressMania è ospitato su un server condiviso, le possibilità di intervento sono pressochè limitate a WordPress in sè, visto che non posso modificare nè le configurazioni di Apache nè quelle di MySQL.

Fase 1: Ho fatto un po’ di pulizia nel tema e tra i plugin.

Ho eliminato alcune “chiamate” a immagini non più presenti sul server: tutte queste generavano degli errori 404 ma solo dopo alcuni secondi di attesa.

Ho ridotto i CSS caricati dai vari plugin elimandone alcuni non più utili (uno per mostrare video presenti sul mio server e uno per i video di YouTube: ora ci pensa direttamente WordPress).

Insieme ad alcuni altre limature del genere al termine della prima fase il tempo di caricamento si è ridotto di circa 2 secondi.

Fase 2: Ho installato WP Super Cache

Ebbene sì: è un plugin che non avevo ancora installato, anche se lo uso con soddisfazione su altri blog e siti.

Ho penato un po’ per farlo funzionare a dovere e ad ottimizzare le varie opzioni ma il risultato è stato più che soddisfacente: dai 20 secondi iniziali sono passato a 6/8 secondi di caricamento, abbattendo il tempo per avere il “primo byte” (diciamo il tempo di risposta iniziale del server) da ben 4 secondi a 0,3/0,4 sec. Evidentemente il tempo per eseguire le query sul database era significativo, e servire pagine cached è una ottima soluzione.

Fase 3: Ho installato WP Widget Cache

Entusiasmato dal buon risultato della cache ho pensato di proseguire su quella strada installando anche Wp Widget Cache (plugin di cui ho parlato in un altro post).

L’attivazione è istantanea, mentre richiede un po’ più di tempo la configurazione: bisogna andare widget per widget per impostare i vari parametri: comunque cosa da 5 minuti, non di più.

Conclusioni:

L’attivazione di questo plugin ha abbassato ulteriormente i tempi di risposta (tra parentesi i dati di partenza):

  • Completamento della pagina: 3 / 4,3 sec  (19 / 12 sec)
  • Primo byte al browser: 0,3 / 0,4 sec (4,3 / 5 sec)
  • Inizio rendering nel browser: 0,9 / 1,2 sec (8 / 12 sec)

Arrivato a questi risultati ho deciso di fermarmi e di monitorare un po’ la situazione per qualche settimana.

Si potrebbero fare altri interventi, ma questi erano i più indolore e mi hanno permesso di non sacrificare nulla dell’installazione esistente pur ottenendo un ottimo miglioramento, che ne dite?

Cosa mi consigliate di fare ancora?



21 Commenti a “Come ho velocizzato WordPress di oltre il 100%”

  1. Laura (2 comments) scrive:

    mitico! provo subito webpagetest e installo wp super cache.
    la cosa migliore è usare strumenti come webpagetest e verificare appunto dove si bloccano i caricamenti. una volta per un feed di un sito esterno che non si caricava sono arrivata a 22 secondi di caricamento e stavo impazzendo per capire di chi fosse la colpa.
    grazie!

  2. NBWeb.it (32 comments) scrive:

    ciao :)
    grazie mille per la segnalazione di WebPageTest che non conoscevo… il mio sito si apre in meno di 5 secondi, devo ritenermi fortunato? ;)

  3. flashmotus (3 comments) scrive:

    complimenti, un ottimo risultato, ho provato già due volte l’istallazione di WP Super Cache senza riuscire in una configurazione del plugin soddisfacente, al punto da rinunciarci.
    Ma è un limite mio, qualcosa che sbaglato nelle impostazioni e spero di trovare il tempo utile per ritentare…

  4. stefano (263 comments) scrive:

    @Nicola: no, non fortunato… piuttosto bravo!
    Io davvero non mi ero mai occupato della velocità di caricamento di WPMania…e quindi ho accumulato “sporcizia” varia che merita attenzione…

    Stef.

  5. DoZ (30 comments) scrive:

    Articolo utilissimo, bravo!
    Ma potresti/dovresti spiegare come leggere il report e come impostare WP Super Cache…

  6. Fabrizio (6 comments) scrive:

    Bellissimo post! Veramente utile. Ero indeciso se utilizzare o meno quei due Plugin e posso dirti che mi hai convinto. Anche perchè, detto tra noi, i risultati ottenuti da quel test non sono ahime proprio confortanti :-( .
    Grazie ancora

  7. nicola tbr (3 comments) scrive:

    quando dici

    Ho ridotto i CSS caricati dai vari plugin elimandone alcuni non più utili (uno per mostrare video presenti sul mio server e uno per i video di YouTube: ora ci pensa direttamente WordPress).

    cosa intendi??? io con wp-super-cache non riesco proprio… :( disattivandolo ottengo velocità migliori, devo capire dove sbaglio… c’è una guida al riguardo???

  8. Luanigio (2 comments) scrive:

    Bene, grazie per queste utili informazioni.
    Le proverò appena possibile.
    Ciao e grazie.

  9. nicola tbr (3 comments) scrive:

    ciao… senti, ma per

    Ho ridotto i CSS caricati dai vari plugin elimandone alcuni non più utili (uno per mostrare video presenti sul mio server e uno per i video di YouTube: ora ci pensa direttamente WordPress).

    cosa intendi???

    in più sapresti indicare una guida per wp-super-cache visto che, almeno nel mio caso, una cattiva configurazione significa pessime prestazioni???

    ;) thanks per le info che hai già dato

  10. nicola tbr (3 comments) scrive:

    Ho ridotto i CSS caricati dai vari plugin elimandone alcuni non più utili (uno per mostrare video presenti sul mio server e uno per i video di YouTube: ora ci pensa direttamente WordPress).

    cioè? :D

  11. [...] Come ho velocizzato WordPress di oltre il 100% [...]

  12. danny (2 comments) scrive:

    conoscete Thematic? dalla prossima versione ci sarà un aggiornamento che permetetrà di condensare automaticamente tutti gli stylesheets e tutti i javascript. In teoria potremmo risparmiare almeno 10 html requests.

  13. stefano (263 comments) scrive:

    @nicola: semplice: ho eliminato alcuni plugin che non utilizzavo più… e poichè erano plugin che aggiungevano i propri CSS alla pagina… mi ritrovo con qualche request in meno

    @danny: molto interessante… thematic lo conosco ma non l’ho utilizzato… dovrò fare un test con il prossimo progetto in partenza…

  14. [...] | Geekissimo – WordPressMania – ComputerAcquisti – [...]

  15. giuly (1 comments) scrive:

    grazie, mi si è velocizzato di parecchio grazie alle tue dritte. ;-)

  16. Rivista Guida Acquisti (1 comments) scrive:

    I nostri sistemisti hanno utilizzato il sistema di caching da voi proposto per il sito web della nostra rivista, abbiamo ottenuto buoni risultati. Grazie!

    Andrea Pilotti

  17. guido (3 comments) scrive:

    complimenti.
    Vi consiglo ti testare le pagine anche con http://www.websiteoptimization.com e http://ismyblogworking.com/. Inoltre ho ottimizzato le fotografie e le immagini con http://tools.dynamicdrive.com/imageoptimizer/ ed ho guadagnato qualche byte. Infine ho utilizzato un programma per migliorare i file css con http://www.cleancss.com/(occhio perchè per un momento ho avuto paura che sparisse tutto il template!). Sto ancora lavorando ma quale secondo l’ho guadagnato.

  18. gianluca pollesel (2 comments) scrive:

    Ciao Stefano.
    Io ho fatt oun po’ tutte ste cose ma non mi è migliorato molto.
    Ho provato anche a modificare il file htaccess. con l’opzione
    AddOutputFilterByType DEFLATE text/html text/plain text/xml per la compressione dei file ma non ho riscontrato niente, sono a 12 secondi di media:
    http://www.webpagetest.org/testlog.php?days=1&filter=ufficioarredato.it

    • stefano (263 comments) scrive:

      Ciao Gianluca,
      ho dato un’occhiata anche io e i colli di bottiglia mi sembrano soprattutto due: il javascript che viene scaricato per “mettere in rotazione” gli ultimi articoli e tutto quello che compone il widget di Facebook: entrambi i download richiedono un bel po’ di tempo per essere completati…
      Mentre su Facebook c’è poco da fare, sul javascript sipotrebbe provare a lavorare un po’, comprimendolo per esempio. Io non l’ho mai fatto ma si può provare a cercare in giro qualche dritta… Usi qualche plugin di cache?

      • gianluca pollesel (2 comments) scrive:

        cia oStefano. Sì, utilizzo i due plugin di cui parli nell’articolo. Il primo da parecchi otempo mentre il secondo da quando l’ho letto. Mah, i tempi non mi sembrano proprio proprio accorciati però.
        Ti scrivo in posta privata.

        ciao e bentornato!

Lascia un Commento