Come velocizzare WordPress senza plugin

🕐 12 minuti @ Condividi via Email
Aggiornato:
Come velocizzare WordPress senza plugin
(Image by Mohamed Hassan from Pixabay)

Come velocizzare WordPress senza plugin: buon hosting, tema leggero, solo i plugin che servono, e metti mano al codice.


Come velocizzare WordPress senza plugin: usane meno che puoi per cominciare. Solo quelli che risultano indispensabili per il tuo sito, concretamente utili. Che siano “carini” non basta.
Se rallentano il caricamento delle pagine, o cambi plugin, oppure non lo usi e metti mano al codice.

Consigli fondamentali

hosting affidabile, con buone prestazioni, e un occhio di riguardo all'uptime garantito;

scegli un tema WordPress leggero, possibilmente aggiornato spesso dagli sviluppatori, ce ne sono di ottimi anche in versione completamente gratuita;

come velocizzare WordPress senza plugin: comincia ad usarne meno possibile, non è una battuta.

Usa solo i plugin estremamente necessari

Di default, WordPress è veloce, hai mai provato a fare dei test?
Io sì, ed è estremamente performante.

Quando inizi ad installare plugin, e mettere mano al codice, la velocità di caricamento delle pagine, può diminuire anche in modo considerevole.

Ogni qualvolta decidi di installare un plugin, o metti mano al codice, esegui un test di velocità, prima e dopo: noti subito se c'è qualche differenza in negativo, e la puoi correggere.

Tools test

Questi strumenti possono dare indicazioni importanti:

tools.pingdom.com;

webpagetest.org;

GTmetrix;

Test ottimizzazione mobile.

Scegli solo plugin estremamente necessari, non solo perché sono carini, simpatici, etc.
Devono servire concretamente a qualcosa di utile, in termini di risultati.

Così come il tema che hai scelto, anche le altre risorse dovrebbero essere aggiornati di frequente, quindi, quando scegli, fai attenzione anche a questo aspetto.

Come velocizzare WordPress senza plugin: metti mano al codice

Non lavorare mai sui file del CMS, e nemmeno su quelli del tema che usi; crea la child theme, con il file functions.php puoi creare molte funzioni utili, invece di installare un nuovo software ogni volta che decidi di apportare delle modifiche al tema.

Fai sempre un backup dei file funzionanti, e tienili da parte, sulle copie puoi cominciare a mettere mano al codice per le modifiche, di modo che se qualcosa non dovesse funzionare, puoi subito eseguire l'upload dei file corretti che hai salvato.

In questo caso, i file su cui lavorare sono 2: .htaccess e functions.php del Child Theme di WordPress, che se ancora non hai, lo vai a creare prima di apportare modifiche.

Il file .htaccess

Con il file .htaccess si possono fare tante cose, oltre che la riscrittura degli URL, che WordPress ha di default, e nella Dashboard, Impostazioni, Permalink puoi modificare come vuoi.

Trovi tanti tutorial su internet, liberi e gratuiti da usare, con il codice pronto da incollare, ma: anche in questo caso, fai una copia del file, di modo che se qualcosa non dovesse funzionare, puoi ripristinare l'originale, e correggere quello su cui lavori.

Compressione dati

Queste, sono le basilari porzioni di codice da inserire nel file .htaccess per migliorare la performance del sito.

La compressione dei dati in formato GZIP, permette di comprimere i file, facendo risparmiare tempo sulla velocità di caricamento delle pagine, delle immagini, e dei file che usi sul sito.

Mod_gzip abilita la compressione gzip, e mod_deflate comprime l'output dal server, prima che venga inviato all'utente.


# DEFLATE COMPRESSION
<IfModule mod_expires.c>
ExpiresActive On

# Images
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/webp "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
ExpiresByType image/x-icon "access plus 1 year"

# Video
ExpiresByType video/webm "access plus 1 year"
ExpiresByType video/mp4 "access plus 1 year"
ExpiresByType video/mpeg "access plus 1 year"

# Fonts
ExpiresByType font/ttf "access plus 1 year"
ExpiresByType font/otf "access plus 1 year"
ExpiresByType font/woff "access plus 1 year"
ExpiresByType font/woff2 "access plus 1 year"
ExpiresByType application/font-woff "access plus 1 year"

# CSS, JavaScript
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"

# Others
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType image/vnd.microsoft.icon "access plus 1 year"
</IfModule>

# GZIP COMPRESSION
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_include mime ^text/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_include handler ^cgi-script$
</ifModule>

fonte codice: bobcares.com

• Questo tool, verifica se la compressione dei file è attiva: giftofspeed.com

File functions.php

In questo file, quello presente nella child theme, puoi inserire modifiche importanti, anche per velocizzare WordPress.

Se non usi Gutemberg, ma il Classic Editor come faccio io, puoi disattivare i file CSS che non servono, quelli di Gutemberg in questo caso, con questo codice:


/* # REMOVE GUTEMBERG CSS # */
// Alternative
// Fully Disable Gutenberg editor.
add_filter('use_block_editor_for_post_type', '__return_false', 10);
// Don't load Gutenberg-related stylesheets
add_action( 'wp_enqueue_scripts', 'remove_block_css', 100 );
function remove_block_css() {
wp_dequeue_style( 'wp-block-library' ); // WordPress core
wp_dequeue_style( 'wp-block-library-theme' ); // WordPress core
wp_dequeue_style( 'wc-block-style' ); // WooCommerce
wp_dequeue_style( 'storefront-gutenberg-blocks' ); // Storefront theme
}

Critical CSS

Intervenire sul Critical CSS, impostare il preload dei diversi file CSS, e applicare il defer per i file Javascript, al mio sito ha fatto ottenere risultati interessanti in termini di velocità di caricamento delle pagine.

Non mi aspettavo, che piccole porzioni di codice come queste, potessero avere un ottimo impatto sulla velocità di caricamento delle pagine.
Invece danno istruzioni importanti al browser.

• Questo sito offre un tool molto interessante: sitelocity.com che permette di estrapolare il critical CSS, ovvero quelle porzioni di codice CSS che rallentano il caricamento delle pagine.

• Su quest'altro sito, namehero.com trovi la procedura passo passo per aggiungere il codice CSS critico al file functions.php

In pratica, una porzione di codice CSS viene caricata prima di tutto il resto, in modo da rendere più rapida la risposta di caricamento delle pagine.

Io sto usando Autoptimize, un plugin di WordPress che offre diverse opzioni, tra le quali, quella di raggruppare i file CSS in un unico file.

Se invece sul tuo sito sono presenti diversi file CSS, questo codice è utile, in quanto abilita il preload
How To Inline And Defer CSS On WordPress Without Plugins namehero.com

Defer Javascript

• Sempre sul medesimo sito, trovi il codice per inserire l'attributo defer al Javacript: The RIGHT Way To Load Javascript In WordPress (Without A Plugin) namehero.com

Rimuovi emoji

Con questo codice, sempre da aggiungere nel file functions.php puoi rimuovere le emoji se non le usi.


/* # REMOVE EMOJI # */
function disable_emojis() {
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
}
add_action( 'init', 'disable_emojis' );

/*
* Filter function used to remove the tinymce emoji plugin
*
* @param array $plugins
* @return array Difference betwen the two arrays
*/
function disable_emojis_tinymce( $plugins ) {
if ( is_array( $plugins ) ) {
return array_diff( $plugins, array( 'wpemoji' ) );
} else {
return array();
}
}

Il miglior plugin cache che ho provato

Il plugin Hyper Cache, è semplicemente fantastico.
Puro PHP, semplicissimo da usare, crea pagine statiche di tutti gli articoli presenti sul sito.

Sebbene non sia aggiornato da un po' continua a funzionare bene; del resto, questo è uno di quei casi in cui il plugin è evergreen, in quanto il suo lavoro è sempre quello, nonostante gli aggiornamenti di WordPress.

Perché sono scettico con altre risorse della cache

Ci sono altri plugin per la cache che ho provato, ma onestamente li ritengo troppo complessi da usare, o meglio; per usarli al massimo delle loro potenzialità, dovrei studiarmi il codice, e imparare a impostarli come si deve.

Anche perché quando ho provato Hyper Cache, con la sua semplicità di utilizzo, e inoltre pesa poco, nel mio caso mi sono chiesto perché mai dovrei usarne altri, complessi e pesanti, per non ottenere un granché in termini di risultati.

Ma sono sempre stato piuttosto scettico sull'uso di queste risorse, complesse da impostare, quasi tutte con le sole impostazioni basilari non cambiano quasi nulla, almeno questo è quello che ho verificato sul mio sito.

Ogni tanto, per pura curiosità, ho provato a verificare la velocità di caricamento delle pagine di siti che usano WP Rocket, W3Total Cache, WP Super Cache; ed i test non sono per niente incoraggianti.

Se non conosci a fondo quello che possono fare, e quindi settarli di conseguenza, è un po' come avere una Ferrari con autolimitatore di velocità a 80 km orari.

A cosa serve concretamente?

Hyper Cache

A differenza invece di Hyper Cache, che trovo unico, soprattutto perché leggero, facile da usare, e offre concretamente risultati immediati.

Il motivo per cui non lo uso, è che sul mio sito è presente la pubblicità, che prevede il consenso dei cookie prima di essere mostrata.

Quando crea le pagine statiche, e va ricordato che usa anche la compressione GZIP per incrementare la velocità di caricamento, dicevo, quando crea le pagine statiche, include, com'è ovvio dato che presente, anche il codice delle unità pubblicitarie, prima del consenso dei cookie.

• Se sul tuo sito non l'hai ancora provato, ti suggerisco di farlo; prima, esegui i test di velocità, e poi dopo una volta installato e attivato il plugin, e vedi la differenza.

Disinstallarlo è semplicissimo, se decidi di non usarlo.

Lo stesso discorso se hai intenzione di provare il codice che ho indicato sopra; prima, e dopo, i test indicano se sul tuo sito ottieni risultati migliori, oppure no.

Mantenere agile il database

WordPress, lavora con il database su cui si appoggia; quindi, se cerchi soluzioni su come velocizzare WordPress senza plugin, ma il DB risulta ingorgato, è necessario prima pulirlo da tutti i dati che non servono.

Backup del DataBase: periodico, aggiornato, e sempre prima di metterci mano.

Come ben sai, o puoi immaginare, esiste un plugin per tutto, o quasi.
Ma come hai ben compreso, molti di questi rallentano il sito, ergo, quando puoi fare il lavoro tu, lascia perdere di installare altro.

Nel database di WordPress, guarda, molti plugin vanno ad esempio ad inserire dati nella tabella wp_options e tali dati restano anche quando lo hai disinstallato.

Query

Facendo una semplice query sulla tabella, puoi comprendere se sono presenti ancora dati di quelli che non usi e che hai disinstallato da un pezzo.
Ogni plugin che usa questa tabella, inserisce del codice che in qualche modo richiama il nome, faccio un esempio: wp_plugin_name

Una query di questo tipo, ti può mostrare anche migliaia di campi nei quali sono ancora presenti dati di wp_plugin_name che non usi più.

SELECT wp_options WHERE option_name LIKE '%wp_plugin_name%'

Prima di cancellare i dati con l'opzione DELETE assicurati ovviamente di sapere quello che vai a fare.

Dati residui

Ho cancellato migliaia di campi di dati residui dal mio database, relativi a plugin che avevo usato in precedenza, e che, una volta disinstallati, avevano comunque continuato a mantenere il codice nel DataBase.

In alcuni casi, gli sviluppatori pensano possa tornare utile nel caso una persona decida di reinstallarlo di nuovo, in altri casi il codice rimane e basta.
Sviluppatori che hanno maggiormente a cuore il loro lavoro, sul forum di assistenza ti indicano senza problemi come rimuovere completamente il codice rimasto nel database.

• Io preferisco agire direttamente sul database, con qualche query, invece di usare plugin che si occupano di farlo.

Qualcuno l'ho provato, e non faceva di più di quello che faccio io mettendo mano al DB con qualche semplice query, ovvero; ho identificato tutti quei campi con codice residuo, e li ho elimitati.

Premessa e conclusione

• Il codice che ho indicato in questa pagina, sul mio sito funziona benissimo.
Devo ricordare che uso pochissimi plugin, solo quelli che mi sono necessari, e prima di installarli e attivarli, ho eseguito i test di velocità, e soprattutto dopo, una volta installati, e attivati, quindi non uso plugin che rallentano il sito.

Cerco di mantenere il sito più snello e agile possibile, e non mi posso affatto lamentare da questo punto di vista.

Miracoli a disposizione, non ce ne sono, nemmeno con i plugin di cache.

• Se usi un buon tema, leggero, agile, snello, e solo i plugin estremamente necessari, sei già a buon punto, perché il CMS è ben ottimizzato di default.

Come velocizzare WordPress senza plugin: a cominciare dal semplificare tutto quanto puoi, evita l'uso di plugin pesanti, ingombranti, che spesso usano anche molto spazio nel database, e rallentano il CMS.

Quanto riportato in questa pagina, sul mio sito ha funzionato bene, ho ottenuto buoni, ottimi risultati di incremento della velocità di caricamento delle pagine.

Bonus!

Se vuoi evitare di mettere mano al codice, ti consiglio questo bellissimo e semplice plugin, disponibile gratuitamente, datato ma sempre evergreen, in quanto il principio di funzionamento basilare di WordPress è rimasto quello.

Una risorsa bella e pronta da installare sul tuo sito, ti indico direttamente il link da dove prelevare i files: wp-super-simple-speed

Speed Up!

 

Felice Amadeo - af1.it
Dal 2006 lavoro con internet, scrivo i contenuti e provvedo alla gestione del sito. Ho conosciuto WordPress tanti anni fa, e dal 2013 uso questo.
Invecchiando, ho scoperto che mi piace portare il cappello.