Migliorare le performance di WordPress: verifica delle risposte 404

SPONSORED LINKS

WordPress, nella sua semplicità di utilizzo, è in realtà un software con dei meccanismi complessi che ne hanno fatto la piattaforma di blogging di maggior successo al mondo.

Questi meccanismi, però, possono far nascere dei problemi di sovraccarico inutile del server in casi banali, come la mancanza di una immagine, di un javascript o comunque di una richiesta che produca come risposta un errore HTTP “404 Not Found“.

Per capirne i motivi dobbiamo innanzi tutto aver chiaro il meccanismo di “richiesta-risposta” in WordPress e con quali configurazioni possiamo scatenare questo degrado.

Le condizioni sono quelle dell’utilizzo dei permalink (configurati nel pannello opzioni/permalink) che sfruttano alcune funzionalità di Apache per poter avere dei link puramente testuali e senza parametri.

Quando un navigatore “chiede” una pagina attraverso un permalink (sia la home page con la lista degli articoli, sia un articolo specifico o quant’altro), il web server Apache è istruito rimandare la richiesta a WordPress che si preoccuperà di individuare il contenuto e costruire la pagina. Se la richiesta riguarda però una risorsa che esiste nel proprio spazio web (ad esempio una immagine), Apache è istruito per caricala e spedirla all’utente senza far intervenire WordPress.

Questo sistema efficiente ha una falla che emerge nel momento in cui una risorsa sia richiesta ma non sia presente nello spazio web. Apache infatti, non trovandola, rimanda a WordPress la risposta. Ovviamente per WordPress è una richiesta “insensata” e costruisce la pagina 404, ovvero la pagina con la quale si dice all’utente che non è stato trovato quanto richiesto.

La costruzione di questa pagina è pesante: implica l’attivazione di WordPress, l’apertura di connessioni al database, l’attivazione di tutti i plugin, la ricerca dell’articolo che non verrà trovato. La pagina inoltre conterrà probabilmente l’elenco delle categorie, l’elenco degli ultimi articoli e via dicendo.

Quello che doveva tradursi nella semplice risposta “non trovato”, diventa una serie di operazioni tanto complicate e pesanti quanto quelle per la costruzione di una normale pagina. Se quindi la visione di un articolo “provoca” delle richieste di risorse che non esistono, per ognuna di queste richieste WordPress si attiva impegando il server web ed il database inutilmente.

Come verificare questa situazione? Senza fare alcuna modifica al proprio blog, è sufficiente utilizzare Firefox con un plugin specifico: Live Http Header. Una volta installato e riavviato Firefox, lo si attiva scegliendo l’opportuna voce nel menu Strumenti.

Si avrà a disposizione una finestra che mostrerà da quel momento in poi tutte le richieste effettuate da Firefox. Basta a questo punto aprire la homepage del proprio blog per trovare eventuali risposte 404. Quelle risposte mostrano quali sono le risorse mancanti e che quindi vanno corrette.

Un esempio classico è dovuto ai temi gratuiti di WordPress. Per renderli personalizzabili i temi possono essere modificati cambiano una immagine di sfondo, tipicamente della testata del blog. Questa immagine qualche volta non viene inclusa con il tema, ma viene comunque inserito un suo riferimento all’interno del foglio di stile (il file generalmente chiamato “style.css”).

Il browser che analizza il foglio di stile ovviamente cerca di caricare l’immagine che produce un 404. Nessuno se ne accorge perché la presentazione grafica è studiata per essere corretta anche in assenza dell’immagine, ma intanto il nostro database sta lavorando all’impazzata.

Un esempio reale è quello riportato in figura dove una immagine specificata nel foglio di stile non è presente (è un’analisi vera fatta su un blog esistente).

live http headers

Altri casi meno evidenti sono dovuti a file che sono normalmente opzionali in un sito come il favicon.ico e il robots.txt.

Il primo è richiesto dai browser, normalmente con “criterio”, e se non trovato non insistono e non caricano il server. Ma se il blog è elencato in certe raccolte di siti, la richiesta della favicon.ico può essere fatta in modo insistente in funzione del volume di traffico che fa l’elenco indipendentemente dalle visite del nostro blog.

La richiesta del file robots.txt è invece fatta dai bot dei motori di ricerca. Purtroppo alcuni di questi sono assolutamente aggressivi a chiedono i file che non risultano presenti anche più volte al giorno, creando un carico assolutamente inutile.

Il problema si risolve inserendo i due file nel proprio blog. E ora vi lascio all’analisi del vostro blog con gli strumenti che trovate qui sotto.

Installa Firefox e poi scarica il plugin Live Http Header o vedi la sua scheda.

SPONSORED LINKS
Ti è piaciuto l'articolo?
Iscriviti alla newsletter per ricevere in tempo reale tutte le notizie e gli aggiornamenti!

Articoli correlati a "Migliorare le performance di WordPress: verifica delle risposte 404"


Lascia un commento