Velocizzare WordPress: 5 semplici consigli per alleggerire un blog

Scritto il 3 feb 2009 in Wordpress1 commento letto 1742 volte.

Quando si crea un nuovo blog molto spesso capita di scegliere l’hosting un pò alla cieca, prediligendo quelli low-cost e senza grosse pretese, con la convinzione che poi se le cose andranno per il verso giusto si passerà a qualcosa di più performante. Purtroppo però se si riescono ad ottenere dei buoni risultati, ed un umero esiguo di visitatori, ci si rende subito conto che WordPress benchè sia uno dei migliori CMS in circolazione, risulta poco leggero, con conseguenti rallentamenti del proprio blog e nei casi più gravi, si subisce anche una penalizzazione da Google.

Anche la forsennata ricerca di plugin concorre ad aggravare la situazione, dato che questi ultimi il più delle volte inseriscono nell’header richiami a fogli di stile aggiuntivi, file di Javascript e qualche volta anche estensioni in formato Ajax. Grazie a qualche piccolo accorgimento riuscirai però a riprendere in mano la situazione diminuendo i tempi di caricamento, a tutto giovamento dei visitatori che il più delle volte non hanno molta pazienza e dei motori di ricerca, che prediligono sempre più siti veloci e performanti.

Guarda come mettere il turbo a WordPress con 5 semplici consigli utili per velocizzare il tuo blog.

Comprimi i Fogli di Stile (CSS) e i Javascript

La quasi totalità dei template liberamente scaricabili dalla rete integra dei CSS che contengono istruzioni superflue non sono strettamente necessarie al loro funzionamento. Stessa cosa dicasi per i fìle con estensione JS, ossia i Javascript.

Ebbene esiste un tool online sul sito CleanCSS.com completamente gratuito, che consente di ripulirli e diminuirne la dimensione, a tutto vantaggio dei tempi di caricamento e della banda a vostra disposizione, che molto spesso è piuttosto limitata.

Basterà che carichi il file dal tuo computer oppure che ne copi/incolli il contenuto, e al resto penserà Clean.css, infatti puoi tranquillamente lasciare le opzioni con le impostazioni di default, nella maggior parte dei casi vanno già bene così. Io l’ho testato e non mi ha creato nessun problema, anzi l’ho inserito subito tra i miei preferiti.

Trasforma le chiamate PHP in codice HTML

Un altro difetto tipico dei template risiede nel loro miglior pregio, ossia il fatto di utilizzare funzioni PHP per generare codice HTML. Questo se da un lato garantisce una perfetta integrazione, poichè preleva i dati dal database MySQL, dall’altra costringe il sito a continui richiami dell’ interprete PHP e a ripetute query al database.

Tutto questo risulta superfluo e assolutamente da evitare nelle parti di codice contenute nell’header, che per il 90% sono sempre le stesse e si ripetono in ogni pagina del blog. Pertanto è inutile usare funzioni PHP e query del database, è sufficiente scrivere a mano i dati considerando che non cambieranno praticamente mai. Facciamo un esempio pratico.

L’header di questo sito prima era così:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />

<title><?php if (is_single() || is_page() || is_archive()) { ?><?php wp_title(”,true); ?> | <?php } ?><?php bloginfo(‘name’); ?></title>
<meta name=”generator” content=”WordPress <?php bloginfo(‘version’); ?>” /> <!– leave this for stats –>
<link rel=”stylesheet” href=”<?php bloginfo(‘stylesheet_url’); ?>” type=”text/css” media=”screen” />
<link rel=”alternate” type=”application/rss+xml” title=”<?php bloginfo(‘name’); ?> RSS Feed” href=”<?php bloginfo(‘rss2_url’); ?>” />
<link rel=”pingback” href=”<?php bloginfo(‘pingback_url’); ?>” />
<?php wp_head(); ?>

Come puoi vedere tu stesso ci sono diverse chiamte PHP che corrispondono a loro volta ad altrettante query MySql, il tutto può rallentare il sito in quanto solitamente il tallone d’achille degli hosting low-cost è proprio il database, inoltre quei dati rimarranno sempre gli stessi quindi li possiamo tranquillamente sostituire con codice HTML sicuramente più veloce.

Adesso il mio header è così:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://gmpg.org/xfn/11">
<meta name="verify-v1" content="Ggu/i4DbO7oUh5uBjrhBLkTk4Cc3n1l6UVVCd8sWdDs=" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<title><?php if (is_single() || is_page() || is_archive()) { ?><?php wp_title(”,true); ?> | <?php } ?><?php bloginfo(‘name’); ?></title>

<meta name=”generator” content=”WordPress 2.7” /> <!– leave this for stats –>
<link rel=”stylesheet” href=”http://www.iowebmaster.com/wp-content/themes/black/style.css” type=”text/css” media=”screen” />
<link rel=”alternate” type=”application/rss+xml” title=”IoWebmaster.com RSS Feed” href=”http://www.iowebmaster.com/feed” />
<link rel=”pingback” href=”http://www.iowebmaster.com/xmlrpc.php” />
<?php wp_head(); ?>

Per realizzare rapidamente questa modifica non devi fare altro che aprire il file header.php che trovi nella cartella wp-content/themes/nome_del_tema con un editor di testo (ti consiglio Notepad++); dopo di chè visualizzi il codice sorgente della tua home-page (se usi FireFox premi CTRL+U) e sostituisci le righe di codice che ti interessano.

Comprimi i dati con il file .htaccess

Per velocizzare lo scambio dati e risparmiare la banda di traffico dei dati, puoi comprimere in maniera del tutto automatica le informazioni che il server su cui risiede il tuo sito deve inviare al computer dell’utente. Per fare ciò aggiungi queste poche righe di codice all’interno del file .htaccess (se per caso non ce l’hai crealo nella cartella principale del tuo spazio ftp):

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css

<FilesMatch "\\.(js|css|html|htm|php|xml)$">
SetOutputFilter DEFLATE
</FilesMatch>

Questo pezzo di codice sfrutta il mod_deflate che è una estensione di Apache (quindi non funziona sui server Windows) e comprime in formato Gzip i file che terminano con l’estensione  js, css, html, htm, php e xml risparmiando anche fino all’ 80% della banda necessaria. Ovviamente il browser utilizzato dall’utente deve supportare il formato Gzip come  Internet Explorer 7, FireFox e Opera. Tutti gli altri riceveranno i dati normalemente senza nessuna compressione.

Usa il codice al posto dei widget

Una delle migliori peculiarità di WordPress sono senz’atro i Widget, estensioni che permettono di integrare nuove funzionalità ad un blog. Sicuramente rappresentano la maniera più comoda per estendere le funzionalità del proprio sito, ma ognuno di essi oltre a richiamare funzioni PHP, devono eseguire a loro volta query MySql, pertanto come ti spiegavo già per l’header, possono rappresentare una concausa di rallentamento.

Per questa ragione sarebbe meglio integrare nuove funzioni con il codice PHP e HTML scritto a mano, inserendolo direttamente nei file del template, oppure all’interno di un unico Widget di testo, se non si sà dove andare a mettere le mani. Per modificare la colonna laterale (o le colonne laterali) nel 90% dei casi è sufficiente aprire il file sidebar.php.

Ricorda che è sempre bene limitare l’uso di Widget se non strettamente necessari, poichè il più delle volte vengono installati e caricati nuovi fogli di stile e Javascript, anche nelle pagine in cui magari non servono.

Installa wp-cache o wp Super Cache

Esistono due plugin che implementano una cache nel blog, uno è Wp-cache e l’altro è Wp Super Cache.

Il primo evita di eseguire più volte la stessa query MySql, metre l’altro salva nello spazio FTP tutte le pagine in versione html del blog e forza la visualizzazione solo di queste, evitando al server di doverle generare ogni volta che vengono visitate.

Wp-cache purtroppo non è più supportato dal suo creatore, mentre per Wp Super Cache vengono ancora rilasciati aggiornamenti, inoltre quest’ultimo è nettamente più potente dell’ altro. L’unica controindicazione per entrambi è che possono generare dei problemi nelle pagine dove può interagire l’utente, come ad esempio nel form dei contatti o nei commenti, anche se il più delle volte se si ha un pò di dimestichezza con il PHP si riesce autonomamente a risolvere ogni problema.

Io ho utilizzato questi accorgimenti e posso affermare di aver aumentato la velocità di questo blog, a tutto vantaggio della navigabilità degli utenti e degli spider dei motori di ricerca. Ovviamente questi 5 consigli possono aiutare a velocizzare il tuo blog, ma quando il server è palesemnte troppo poco performante sarebbe meglio cambiare subito il mantainer.

Tags:

Articoli che potrebbero interessarti

1 comment

» Comments RSS Feed
  1. quello che stavo cercando, grazie

Scrivi un commento

- Torna alla Home Page di IoWebMaster