• Contatto
  • Note Legali
  • Privacy
  • FAQs
  • Downloads
  • Collabora
  • Supporta
  • Comprimere le pagine di WordPress e velocizzare al massimo il caricamento

    Scritto da Erriko in Wordpress il 27 ottobre 2009

    Come comportamento predefinito, WordPress invia al browser dei visitatori le pagine in formato HTML non compresso.

    Questo comportamento è deleterio per diversi motivi: innanzitutto rende inutilmente pesanti le pagine, le quali richiedono più tempo per essere scaricate e visualizzate, in secondo luogo “spreca” inutlimente la vostra banda, il che è un suicidio nel caso si usufruisse di un piano hosting che prevede un massimo di banda utilizzabile mensilmente (se si dovesse sforare il sito non verrebbe più visualizzato fino al mese successivo).

    comprimere le pagine di wordpress

    Per ovviare alla mancanza di compressione di default, tuttavia, bastano un paio di righe di codice inserite nell’header del tema utilizzato. Questo codice (come nel caso di questo stesso sito) riesce a comprimere le pagine visualizzate da WordPress fino al 75%. Va da se che questo diventa un grande vantaggio in termini di velocità di caricamento e conseguente comfort di navigazione per gli utenti (ovviamente server permettendo).

    Prerequisiti

    In realtà vi è un unico prerequisito, e cioè che il server sul quale risiede la piattaforma WordPress che vogliamo generi pagine compresse supporti zlib.
    Questo avviene nella stragrande maggioranza dei casi, ma è sempre meglio controllare.
    Verificare questa caratteristica (insieme a molte altre) è semplicissimo: basta inserire in un file php la riga di codice

    <?php phpinfo(); ?>

    e caricare il file sul server per poi aprirlo normalmente in un browser. Tra le varie informazioni mostrate dovrebbe esserci zlib enabled.
    E’ importante rimuovere il file appena creato una volta effettuato il controllo poichè questo potrebbe dare utili informazioni ad un eventuale malintenzionato.

    Il codice

    Il codice da inserire per abilitare la compressione delle pagine è il seguente

    <?php
    ini_set('zlib.output_compression', 'On');
    ini_set('zlib.output_compression_level', '1');
    ?>

    Queste due righe di codice vanno incollate nel file header.php del tema in uso su WordPress e  vanno poste all’inizio del file, precedendo tutto il restante contenuto del file.

    Metodo alternativo

    In alternativa è possibile abilitare la compressione aggiungendo il codice che segue al file .htaccess presente nella cartella principale del blog:

    # compressione zlib
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
    <FilesMatch "\\.(js|css|html|htm|php|xml)$">
    SetOutputFilter DEFLATE
    </FilesMatch>
    

    Una volta modificato il file e caricato sul server, possiamo verificare con semplicità l’effettivo funzionamento della compressione, visitando questa pagina ed inserendo l’url del sito nel form sottostante “Compression Check“. Se tutto è andato per il verso giusto dovremmo aver risparmiato per ogni pagina circa il 75% del suo peso!

    Questo è quanto, e come sempre…
    Happy Blogging! 8-)

    Articoli Correlati

    WordPress trick: impostare un numero massimo di caratteri visualizzabili nel titolo
    Usare i tag condizionali in WordPress per personalizzare al massimo il tema
    Il tasto “stampa” nelle pagine del proprio sito
    Aggiungere il tasto “modifica” al tema WordPress

    21 commenti a “Comprimere le pagine di WordPress e velocizzare al massimo il caricamento”

    1. Ciao ‘IlSanto’
      Da qualche parte è stato perso il filo logico del perchè e dei per come.
      Infatti a volte, ma solo a volte, chi esprime un concetto rischia di non essere in grado di spiegarsi e dare, quindi, agli altri la possibilità di essere capito.
      Porca miseria ladra… Una di quelle volte  è capitata a me!.
      Vabbè va… Per meglio spigarsi… Dai un’occhiata, per favore al seguente link e poi scrivimi di nuovo, grazie!.
      http://www.bomentre.com
      Ciauz!.

    2. Erriko

      @IlSanto: grazie mille per il contributo. E’ sempre bene accetto :)

      @Frank: in questo casto caso si, mi sa che non sei stato molto capito :-) Personalmente non ho chiaro cosa riguardava il link che hai citato…:-|

    3. Ciao Erriko… Con il link segnalato (che curo io), ho cercato di far intuire a ‘IlSanto’ che il suo consiglio l’avevo già messo in pratica un po’ di tempo fa. Ok, lui potra ora scrivermi che è possibile che io abbia bisogno di una più accurata rivisitazione ‘tecnica’… Infatti è per questo che ‘bazzico’ da queste parti, senza alcuna arroganza, ma semplicemente da ‘apprendista’. Cercavo il codice che troncasse il commento e qui l’ho trovato, grazie!. Solo che ho voluto esternare la difficoltà riscontrata nell’applicare il codice, poichè non sono del tutto chiari il tuo stesso esempio ed i commenti susseguenti. Pensavo di dare anch’io un minimo contributo per migliorare la capacità di voler offrire a chi non conosce, come me, i meandri della programmazione , senza la benchè minima volontà di fare polemica… Assolutamente no!. Chiedo scusa per l’intrusione ed il più è fatto.
      Buona giornata!.

    4. Erriko

      Adesso ho capito. Beh non ti preoccupare, non è stata affatto un’intrusione, hai fatto benissimo il tuo “lavoro da utente modello” esternando quella che è la tua opinione (non come il 99,9% che di solito fa mordi-e-fuggi), e di certo terrò in considerazione i tuoi suggerimenti per il futuro.
      D’altra parte però non posso non confermare quanto detto da IlSanto, consigliandoti di approfondire le basi, poichè per comprendere a pieno alcuni degli spunti proposti è necessario conoscere sufficientemente gli argomenti di base. Non metto in dubbio che tu ti sia già interessato, ma credo anche che tu debba ancora fare esperienza (ed esperimenti connessi) per addentrarti di più in questo mondo.

      /* mia considerazione personale dal titolo “Chi sono, cosa faccio, dove vado, e perchè dovrebbe interessare a qualcuno” che contrassegnerei come OPZIONALE, per cui a chi non va di leggerla no problem! :) */

      Lo scopo di questo sito/blog/chessoio è spesso appuntarmi argomenti che probabilmente soltanto io andrò a ripescare in futuro trovandomi di nuovo in una stessa situazione.
      Prova ne sia il fatto che dalle statistiche emerge che le pagine più lette, ovviamente, sono articoli che hanno richiesto davvero pochissimissimo impegno e che generalmente la gente sfrutta per fare cose poco legali (tipo crackare Outlook o scaricare Ice XP). Si tratta in quel caso di articoli scritti volutamente per fare contento qualcuno e fargli dire almeno una volta ” ‘sto sito serve a qualcosa”.

      Questa è una scelta che ho fatto sin dall’inizio, e cioè di proporre quando possibile e come mi concedono le mie capacità, cose se non nuove diciamo piuttosto “inedite”.
      A volte mi è capitato di essere stato addirittura il primo a proporre determinate soluzioni, o diciamo che in genere suggerisco mie personali elaborazioni alle soluzioni usualmente adottate. Il che ti assicuro non è facile da trovare in giro visto che in genere la gente ama il fantastico copia/incolla.

      Piuttosto che la solita solfa proposta dai migliaia di blog che propongono sempre e comunque (brutte e parziali) copie delle documentazioni ufficiali, del tipo “come installare ubuntu” che mannaggia a me è stato scritto e riscritto 1 milione di volte ed è chiaramente trattato anche sul sito ufficiale (e chiunque può trovarlo con una googolata), ho deciso di scrivere quello che ho scoperto e che giornalmente scopro che magari ha richiesto svariati sbattimenti da parte mia e che potrebbe evitarlo ad altri.

      Detto ciò ecco perchè in genere offro una traccia e non parto da zero (visto che a quello ci hanno pensato altri).

      Purtroppo non tutti gli argomenti possono essere proposti in maniera “pappa pronta” in quanto a volte riguardano aspetti che possono variare leggermente di caso in caso e per cui bisogna essere un minimo elastici e sapere cosa si sta facendo (e torniamo al discorso di leggersi le guide base e sperimentare un po’).

      Ecco, ora che me l’hai fatto notare devo ammettere (con te e con me stesso) una volta per tutte che la mia tendenza è quella di scrivere per chi sa già di cosa si parla, non avendo nè tempo nè intenzione di scrivere manuali, ma bensì proporre suggerimenti…

      /* fine dello sfogo personale a.k.a. parte opzionale quanto segue invece è obbligatorio*/

      Grazie a tutti voi qui e tutti coloro che in questo anno-e-qualcosa di vita di erriko.it mi hanno dato la possibilità di dire la mia, hanno accettato i miei suggerimenti, e si, mi hanno anche criticato (che non fa mai male).

      Ora basta, perchè da una discussione di niente finisce che mi commuovo :)

      A presto,

      Erriko

    5. Caro Erriko… Ti sembra roba da poco conto aver dato l’ultimo insegnamento?.
      Forse è proprio quello che manca di più su questo ‘spettrale’ mondo di sconosciuti/amici: La commozione vera!.
      Il tuo istintivo cambio di atteggiamento finale ha anche fatto notare di quanto la gente sia ormai propenssa a non far notare le proprie umane debolezze.
      Io comunque, nonostante i miei anni (sessanta), mi commuovo ancora davanti ad una scena d’amore (ragazzo/uomo e ragazza/donna che si baciano, un paesaggio, uno sguardo espressivo di un cane, ammirando la Gioconda o leggendo di Erriko che si commuove, semplicemente perchè lì sta la vera grandezza della nostra diversità.
      Non mi resta che ringraziarti e disperarmi, per non essere all’altezza di seguire i tuoi insegnamenti; dovrò cercare ausilio più accessibile alle mie attuali conoscenze tecniche.
      Auguri Erriko!.

    6. Erriko

      Mi sa che dati i miei anni (21), gli insegnamenti posso soltanto riceverli, piuttosto che darli :-)

      Diciamo che faccio del mio meglio e ben venga chi ha la pazienza e diciamolo, “lo stomaco”, di leggere quello che ho da dire, sia grandi che piccini (a questo punto è il caso di dirlo) ;-)

      Auguri anche a te Frank e ad maiora! (tanto per far capire che “io c’ho la squola” hehehe)

    Commenta