WordPress e performance: perché i mega menu andrebbero evitati

WordPress e performance: perché i mega menu andrebbero evitati

Il problema dei mega menu in WordPress non è solo una questione di usabilità ma anche un problema di performance PHP.

Per realizzare un mega menu di fatto si deve ricorrere ad una classe di tipo Walker che riscrive l'intera struttura del codice HTML del menu. In WordPress a livello database i menu risiedono nella tabella wp_options in forma serializzata. In tal senso il caching di questa query aumenta la performance del sito anche se non si tratta di una query SQL complessa.

Al contrario, la trasformazione di un menu in un mega menu riguarda unicamente l'interprete PHP ed è dinamica perché avviene ad ogni chiamata alla funzione wp_nav_menu(). Dato che i mega menu si trovano solitamente nel file header.php, questa elaborazione crea un ritardo nella generazione della pagina completa. Di conseguenza all'aumentare del numero di hit simultanei, il ritardo si somma a quello delle query al database con ovvie ripercussioni sulla velocità di caricamento.

Torna su