WordPress, la piattaforma blog più conosciuta al mondo per la sua completezza e flessibilità paga le sue caratteristiche con un elevato numero di interrogazioni al database sottostante. Tanto per capirci, ogni pagina visualizzata di PiccoloSocrate.com necessita di almeno 32 query. Troppe!

Come diminuire il numero di query sul database Mysql ? Le prestazioni spesso ne risentono e per chi è in hosting, può diventare un problema non da poco. È un trade-off tra velocità e plugin, tra prestazioni e widget. Insomma il nostro WP si autolimita, ecco come possiamo migliorare la situazione.

Dal momento che non è il caso ri-progettarsi un intero content-management-system per pubblicare contenuti testuali, grafici e video online non ci rimane che entrare nell’animo smanettone di WP ed agire sui temi installati, sulle plugin (rigorosamente scaricate dal sito ufficiale) e dai widget. Passiamo in rassegna alcuni casi.

Avete una serie di link amici o di link utili su ogni pagina? O lo eliminate (e son 3 query in meno) oppure se non è una lista che modificate molto spesso e deve necessariamente restare sulla sidebar, copiate l’html generato e inserito in una widget testuale, consumando solo un’interrogazione al posto di tre.

Sulla sidebar avete la lista delle Categorie?
Via! Se non cambiate frequentemente o non ne aggiungete di nuove, potete fare come al punto precedente. Opzione possibile anche per la lista dei Mesi. Perchè sprecare una query per mostrare Gennaio 2008, Febbraio 2008, Marzo 2008 e così via. Anche qui copincolla e sono query risparmiate.

Scrivetevi la versione di WP a mano
Se andate nel tema in uso, all’interno del file header.php (denominato testata per le versioni di WordPress localizzate in italiano) cercate la riga:

<meta name=”generator” content=”WordPress <?php bloginfo(‘version’); ?>” /> <!– leave this for stats –>

e sostituite:

<?php bloginfo(‘version’); ?>

digitando a mano il numero di versione di WordPress che avete installato. Facile no? E vi risparmiate un’altra interrogazione al database.

Quante plugin avete installato? Non è il numero in sè che conta, piuttosto l’uso che queste fanno delle risorse del sistema, delle query in altre parole. Eliminate tutte le plugin che non vi servono immediatamente e pensate che se ogni query eliminata è un bene. Chi non può farne a meno, installi la plugin supercache.


PERCHÈ LIMITARE LE QUERY?

1. perchè ogni interrogazione al database costa un tot di risorse.
2. perchè quel tot di risorse, moltiplicato per ogni query diventa n x tot risorse da impiegare
3. perchè potreste arrivare al punto in cui le risorse disponibili del vostro sistema sono inferiori rispetto alle vostre necessità e il sito crasha!

Pensatela così:
oggi: 40 query per pagina, 500 pagine al giorno -> 20.000 query quotidiane e il server regge
domani: 40 query, 10.000 pagine al giorno -> 400.000 query al giorno e il server crolla!