Inizio
/
Tutorial WordPress
/
Tutorial sul Plugin Speed Optimizer
/
Come utilizzare i filtri personalizzati di Speed Optimizer

Come utilizzare i filtri personalizzati di Speed Optimizer

Nel mondo digitale di oggi, le prestazioni del tuo sito web possono creare o distruggere il tuo successo. Un sito web che si carica rapidamente e funziona senza intoppi può migliorare significativamente l’esperienza dell’utente, aumentando il traffico, il coinvolgimento e i tassi di conversione del tuo sito.

Speed Optimizer è una soluzione innovativa che migliora le prestazioni del tuo sito web. Questo potente strumento fornisce una serie di filtri personalizzati che ti consentono di sfruttare al massimo il caching del tuo sito web, l’ottimizzazione delle immagini e la gestione degli script, e molto altro ancora.

Con questi filtri, puoi gestire l’eliminazione della cache, limitare gli URL in preheating, aggiungere cookie di bypass della cache, escludere URL specifici dalla cache, personalizzare la larghezza massima dell’immagine, e molto altro.

In questo tutorial, troverai una guida dettagliata su come utilizzare i filtri personalizzati di Speed Optimizer per potenziare le prestazioni del tuo sito web, quindi continua a leggere.

Controllare quali ruoli utente hanno il permesso di eseguire uno svuotamento manuale della cache

Per una personalizzazione avanzata, abbiamo incorporato un filtro che ti consente di controllare quali ruoli utente hanno accesso per svuotare la cache utilizzando il pulsante Pulisci la Cache SG.

Ecco un esempio di codice che puoi aggiungere al tuo file functions.php per personalizzare ulteriormente la tua esperienza di caching:

add_filter( 'sgo_purge_button_capabilities', 'sgo_add_new_role' );
function sgo_add_new_role( $default_capabilities ) {
// Consenti al nuovo ruolo utente di svuotare la cache.
$default_capabilities[] = 'delete_others_posts'; // Per gli editori.
$default_capabilities[] = 'edit_published_posts'; // Per gli autori.

return $default_capabilities;
}

Limitare il numero di URL che il sito web ha in preheating 

Abbiamo anche introdotto un filtro aggiuntivo che ti consente di gestire il numero di URL che il tuo sito web può avere in preheating senza sforzo. Per impostazione predefinita, questo valore è impostato su 200, garantendo prestazioni ottimali.

Ecco un esempio di codice che puoi incorporare facilmente nel tuo file functions.php :

add_filter( 'sg_file_caching_preheat_url_limit', 'sgo_preheat_limit' );
function sgo_preheat_limit( $xml_urls ) {
// Definisci un limite personalizzato per il XML preheating degli URL.
$xml_urls = 300;

return $xml_urls;
}

Ricorda che quando apporti modifiche ai filtri relativi alla cache dei file forniti di seguito, è fondamentale poi svuotare la cache. Questa azione rigenera il file sgo-config e assicura che i filtri siano stati aggiunti con successo.

Aggiungere un cookie di bypass della cache

Se hai bisogno di aggiungere un cookie di bypass della cache a quelli predefiniti esistenti, puoi utilizzare il seguente filtro:

add_filter( 'sgo_bypass_cookies', 'add_sgo_bypass_cookies');
function add_sgo_bypass_cookies( $bypass_cookies ) {
// Aggiungi i cookies che ti servono per bypassare la cache.
$bypass_cookies[] = 'cookie_name';
$bypass_cookies[] = 'cookie_name_2';

return $bypass_cookies;
}

Se vuoi saltare la cache per un parametro di query specifico, puoi utilizzare il seguente filtro:

add_filter( 'sgo_bypass_query_params', 'add_sgo_bypass_query_params');
function add_sgo_bypass_query_params( $bypass_query_params ) {
// Aggiungi i parametri di query personalizzati che salteranno la cache.
$bypass_query_params[] = 'query_param';
$bypass_query_params[] = 'query_param2';

return $bypass_query_params;
}

Se hai bisogno di aggiungere un parametro di query specifico che verrà ignorato nei processi di creazione e spawning della cache, puoi farlo utilizzando questo filtro:

add_filter( 'sgo_ignored_query_params', 'add_sgo_ignored_query_params');
function add_sgo_ignored_query_params( $ignored_query_params ) {
// I parametri della query che verranno ignorati.
$ignored_query_params[] = 'query_param';
$ignored_query_params[] = 'query_param2';

return $ignored_query_params;
}

Escludere determinati URL dalla cache

Se desideri escludere determinati URL dalla cache del tuo sito web, puoi utilizzare il filtro che abbiamo progettato per tale scopo. Assicurati di includere la parte dell’URL tra delle barre. È possibile utilizzare anche i caratteri jolly. Controlla l’esempio qui sotto:

add_filter( 'sgo_exclude_urls_from_cache', 'sgo_add_excluded_urls_from_cache');
function sgo_add_excluded_urls_from_cache( $excluded_urls ) {
// Aggiungi la parte dell'URL che deve essere esclusa dalla cache.
$excluded_urls[] = '/excluded_url/';
$excluded_urls[] = '/wildcard/exclude/*';

return $excluded_urls;
}

Escludere tabelle specifiche dal controllo Heartbeat

Personalizza il processo di ottimizzazione escludendo tabelle specifiche dall’essere ottimizzate. È possibile ottimizzare il processo di ottimizzazione in base alle proprie esigenze specifiche specificando il nome della tabella senza il prefisso del database. Ecco un esempio di codice che puoi aggiungere al tuo file functions.php :

add_filter( 'sgo_db_optimization_exclude', 'sgo_db_optimization_exclude_table' );
function sgo_db_optimization_exclude_table( $excluded_tables ) {
// Aggiungi le tabelle che desideri escludere senza il prefisso wpdb.
$excluded_tables[] = 'table_name';
$excluded_tables[] = 'another_table_name';

return $excluded_tables;
}

Personalizzare la larghezza massima dell’immagine

Puoi anche modificare l’impostazione della larghezza massima per soddisfare i tuoi bisogni. Con questo livello di personalizzazione, hai la flessibilità di ottimizzare le dimensioni delle immagini in base alle tue esigenze specifiche. Ecco un esempio di snippet di codice che puoi aggiungere al tuo file functions.php:

add_filter( 'sgo_set_max_image_width', 'max_image_width' );
function max_image_width( $ max_allowed_width ) {
// Aggiungi il valore che desideri impostare come larghezza massima dell'immagine.
$max_allowed_width = 1250;

return $max_allowed_width;
}

Modificare l’impostazione di qualità WebP predefinita

Puoi modificare l’impostazione di qualità Webp predefinita utilizzando il filtro che abbiamo progettato per tale scopo. L’impostazione predefinita è 80 e puoi utilizzare valori compresi tra 0 e 100:

add_filter( 'sgo_webp_quality', 'webp_quality' );
function webp_quality( $quality) {
// Aggiungi il valore che desideri impostare come qualità dell'immagine Webp.
$qualità = 100;

return $quality;
}

Puoi modificare l’impostazione predefinita del tipo di qualità Webp utilizzando il filtro che abbiamo progettato per tale scopo. Il tipo di qualità predefinito è lossy, che è uguale a 0, se desideri impostarlo su lossless invece, regola il tipo su 1 come segue:

add_filter( 'sgo_webp_quality_type', 'reset_webp_quality_type' );
function reset_webp_quality_type( $quality_type ) {
// Aggiungi il valore che desideri impostare come larghezza massima dell'immagine.
$quality_type = 1;

return $quality_type;
}

Compatibilità Plugin

In qualche caso, alcuni plugin potrebbero non attivare gli hook standard di WordPress o richiedere l’eliminazione della cache. Per affrontare queste situazioni, abbiamo fornito una funzione pubblica che puoi utilizzare nel tuo codice.

if (function_exists('sg_cachepress_purge_cache')) {
sg_cachepress_purge_cache();
}

Preferibilmente, puoi inserire un URL nella funzione per cancellare la cache solo per questo, invece di svuotare l’intera cache. Ad esempio:

if (function_exists('sg_cachepress_purge_cache')) {
sg_cachepress_purge_cache('https://yoursite.com/pluginpage');
}

Puoi escludere gli stili dall’essere combinati e minimizzati utilizzando i filtri che abbiamo progettato per tale scopo. Ecco un esempio del codice che puoi aggiungere al tuo file functions.php:

add_filter( 'sgo_css_combine_exclude', 'css_combine_exclude' );
function css_combine_exclude( $exclude_list ) {
// Aggiungi l'handle di stile per escluderlo dalla lista.
$exclude_list[] = 'style-handle';
$exclude_list[] = 'style-handle-2';

return $exclude_list;
}

add_filter( 'sgo_css_minify_exclude', 'css_minify_exclude' );
function css_minify_exclude( $exclude_list ) {
// Aggiungi l'handle di stile per escluderlo dalla lista.
$exclude_list[] = 'style-handle';
$exclude_list[] = 'style-handle-2';

return $exclude_list;
}

Puoi escludere gli script dall’essere minificati utilizzando il filtro che abbiamo progettato per tale scopo. Ecco un esempio del codice che puoi aggiungere al tuo file functions.php:

add_filter( 'sgo_js_minify_exclude', 'js_minify_exclude' );
function js_minify_exclude( $exclude_list ) {
$exclude_list[] = 'script-handle';
$exclude_list[] = 'script-handle-2';

return $exclude_list;
}

Puoi escludere script dall’essere combinati utilizzando il filtro che abbiamo progettato per tale scopo. Ecco un esempio del codice, che puoi aggiungere al tuo file functions.php:

add_filter( 'sgo_javascript_combine_exclude', 'js_combine_exclude' );
function js_combine_exclude( $exclude_list ) {
$exclude_list[] = 'script-handle';
$exclude_list[] = 'script-handle-2';

return $exclude_list;
}

o in alternativa:

add_filter( 'sgo_javascript_combine_exclude_ids', 'js_sgo_javascript_combine_exclude_ids' );
function js_sgo_javascript_combine_exclude_ids( $exclude_list ) {
  $exclude_list[] = 'javascript-id1';
  $exclude_list[] = 'javascript-id2';

  return $exclude_list;
}

Oppure puoi escludere uno script esterno dalla combinazione utilizzando il filtro che abbiamo progettato per tale scopo. Ecco un esempio del codice che puoi aggiungere al tuo file functions.php:

add_filter( 'sgo_javascript_combine_excluded_external_paths', 'js_combine_exclude_external_script' );
function js_combine_exclude_external_script( $exclude_list ) {
$exclude_list[] = 'script-host.com';
$exclude_list[] = 'script-host-2.com';

return $exclude_list;
}

Puoi escludere gli script inline dall’essere combinati utilizzando il filtro che abbiamo progettato per tale scopo. Ecco uno snippet di codice, che puoi aggiungere al tuo file functions.php:

add_filter( 'sgo_javascript_combine_excluded_inline_content', 'js_combine_exclude_inline_script' );
function js_combine_exclude_inline_script( $exclude_list ) {
$exclude_list[] = 'primi simboli dello script inline content';

return $exclude_list;
}

Puoi anche escludere tutti gli script inline dalla combinazione. Ecco un esempio di snippet di codice che puoi aggiungere al tuo file functions.php:

add_filter( 'sgo_javascript_combine_exclude_all_inline', '__return_true' );

Inoltre, puoi escludere tutti gli script inline dall’essere combinati usando il codice del filtro qui sotto e aggiungendolo al tuo file functions.php.

add_filter( 'sgo_javascript_combine_exclude_all_inline_modules', '__return_true' );

Escludi script dal caricamento asincrono aggiungendo il codice mostrato di seguito nel tuo file functions.php.

add_filter( 'sgo_js_async_exclude', 'js_async_exclude' );
function js_async_exclude( $exclude_list ) {
$exclude_list[] = 'script-handle';
$exclude_list[] = 'script-handle-2';

return $exclude_list;
}

Escludi un URL specifico o un URL che contiene un parametro di query specifico utilizzando i seguenti filtri:

add_filter( 'sgo_html_minify_exclude_params', 'html_minify_exclude_params' );
function html_minify_exclude_params( $exclude_params ) {
// Aggiungi i parametri della query che desideri escludere.
$exclude_params[] = 'test';

return $exclude_params;
}

add_filter( 'sgo_html_minify_exclude_urls', 'html_minify_exclude' );
function html_minify_exclude( $exclude_urls ) {
// Aggiungi l'url che vuoi escludere.
$exclude_urls[] = 'http://mydomain.com/page-slug';

return $exclude_urls;
}

Puoi escludere le risorse statiche dalla rimozione delle loro stringhe di query utilizzando il filtro che abbiamo progettato per tale scopo. Ecco un esempio del codice che puoi aggiungere al tuo file functions.php:

add_filter( 'sgo_rqs_exclude', 'sgo_rqs_exclude_scripts' );
function sgo_rqs_exclude_scripts( $exclude_list ) {
$exclude_list[] = 'part-of-the-resource-path.js';
return $exclude_list;
}

Inoltre, puoi escludere immagini da Lazy Load utilizzando il seguente filtro:

add_filter( 'sgo_lazy_load_exclude_classes', 'exclude_images_with_specific_class' );
function exclude_images_with_specific_class( $classes ) {
// Aggiungi il nome della classe che vuoi escludere dal lazy load.
$classes[] = 'test-class';

return $classes;
}

In aggiunta puoi escludere un tipo specifico di post da Lazy Load utilizzando il seguente filtro:

add_filter( 'sgo_lazy_load_exclude_post_types', 'exclude_lazy_load_from_post_type' );
function exclude_lazy_load_from_post_type( $post_types ) {
// Aggiungi il tipo di post che vuoi escludere dall'utilizzo del lazy load.
$post_types[] = 'post-type';

return $post_types;
}

Puoi escludere un URL specifico da Lazy Load utilizzando il seguente filtro:

add_filter( 'sgo_lazy_load_exclude_urls', 'exclude_lazy_load_for_url' );
function exclude_lazy_load_for_url( $excluded_urls ) {
// Aggiungi l'url che vuoi escludere dall'utilizzo del lazy load.
$excluded_urls[] = 'http://ilmiodominio.it/page-slug';

return $excluded_urls;
}

Con questi nuovi filtri, puoi escludere risorse specifiche dal Lazy Load. Tieni presente che l’utilizzo di questi filtri può ridurre le prestazioni in alcuni casi.

Puoi utilizzare questo filtro per escludere immagini specifiche aggiungendo il loro URL sorgente:

add_filter( 'sgo_lazy_load_exclude_images', 'exclude_images_from_lazy_load' );
function exclude_images_from_lazy_load( $excluded_images ) {
// Aggiungi l'url src dell'immagine che desideri escludere dall'utilizzo del lazy load.
$excluded_images[] = 'http://mydomain.com/wp-content/uploads/your-image.jpeg';

return $excluded_images;
}

Puoi utilizzare questo filtro per escludere video specifici aggiungendo il loro URL sorgente:

add_filter( 'sgo_lazy_load_exclude_videos', 'exclude_videos_from_lazy_load );
function exclude_videos_from_lazy_load( $excluded_videos ) {
// Aggiungi l'url src del video che desideri escludere dall'utilizzo del lazy load.
$excluded_videos[] = 'http://mydomain.com/wp-content/uploads/your-video.mp4';

return $excluded_videos;
}

Puoi utilizzare questo filtro per escludere iframe specifici aggiungendo il loro URL di origine:

add_filter( 'sgo_lazy_load_exclude_iframe', 'exclude_iframe_from_lazy_load );
function exclude_iframe_from_lazy_load( $excluded_iframe ) {
// Aggiungi l'url src dell'iframe che desideri escludere dall'utilizzo del lazy load.
$excluded_iframe[] = 'http://mydomain.com/wp-content/uploads/iframe-src.mp4';

return $excluded_iframe;
}

Riepilogo

Questa guida ha fornito informazioni dettagliate sui filtri personalizzati di Speed Optimizer, che ti consentono di personalizzare le prestazioni del tuo sito web in base alle tue esigenze specifiche. Questi filtri ti consentono di controllare i permessi di eliminazione della cache, gestire il numero di URL in preheating, aggiungere cookie di bypass della cache ed escludere determinati URL dalla cache. La guida ha anche mostrato come personalizzare la larghezza massima dell’immagine, modificare l’impostazione di qualità WebP predefinita ed escludere tabelle specifiche dal controllo Heartbeat.

Abbiamo fornito esempi di codice per ogni filtro, aiutandoti a implementare facilmente queste funzionalità. Sfruttando questi filtri personalizzati, puoi migliorare significativamente le prestazioni del tuo sito web, offrendo un’esperienza utente più fluida e veloce.

Domande frequenti su Speed Optimizer

Dopo aver abilitato l’opzione Combina CSS / JS dal plugin, il mio sito web non viene visualizzato come dovrebbe. Quale potrebbe essere il motivo?

Se trovi che la combinazione di determinati file CSS / JS sta interrompendo la funzionalità del sito, dovrai escludere i file rilevanti dalla combinazione. Puoi escludere determinati elementi dalla combinazione utilizzando il menu a tendina di esclusione in Speed Optimizer > Frontend.

Sto cercando di escludere uno stylesheet dall’essere combinato / minimizzato dal plugin ma non lo vedo nell’elenco di esclusione?

L’elenco a discesa nel codice del tuo sito web contiene Stili CSS che sono stati implementati utilizzando procedure di codifica standard. Gli stili CSS che sono stati aggiunti senza aderire agli standard di codifica consigliati non verranno visualizzati nel menu a discesa. Per includere questi stili, è necessario utilizzare i filtri del codice di esclusione. In questo caso, è necessario identificare o avere familiarità con l’handle dello stile piuttosto che fare riferimento direttamente al nome dello stylesheet. Gli handle possono essere esclusi tramite il file functions.php del tuo template attivo.

Dovresti utilizzare il seguente filtro per escludere gli stili dalla combinazione:

add_filter( 'sgo_css_combine_exclude', 'css_combine_exclude' );
function css_combine_exclude( $exclude_list ) {
// Aggiungi l'handle di stile per escluderlo dala lista.
$exclude_list[] = 'style-handle';
$exclude_list[] = 'style-handle-2';
return $exclude_list;
}

Dovresti utilizzare il seguente filtro per escludere gli stili dall’essere minificati:

add_filter( 'sgo_css_minify_exclude', 'css_minify_exclude' );
function css_minify_exclude( $exclude_list ) {
// Aggiungi l'handle di stile per escluderlo dalla lista.
$exclude_list[] = 'style-handle';
$exclude_list[] = 'style-handle-2';
return $exclude_list;
}

Come posso escludere un plugin dall’influenza della combinazione e rinvio del blocco di visualizzazione JS? L’abilitazione di queste ottimizzazioni attualmente interrompe la funzionalità del sito web.

Puoi escludere gli script utilizzando i menu a tendina di esclusione in Speed Optimizer > Frontend > Javascript. Se alcuni file non sono visibili nell’elenco, non sono correttamente accodati ma molto probabilmente sono hardcoded. Gli handle di script possono essere esclusi tramite il file functions.php del tuo template attivo. Puoi utilizzare i seguenti snippet di codice per escludere gli handle dalla combinazione e dal blocco di visualizzazione.

Per escludere i file dalla combinazione, devi utilizzare:

add_filter( 'sgo_javascript_combine_exclude', 'js_combine_exclude' );
function js_combine_exclude( $exclude_list ) {
$exclude_list[] = 'script-handle';
$exclude_list[] = 'script-handle-2';
return $exclude_list;
}

Per escludere gli script dal caricamento asincrono, utilizza il filtro mostrato di seguito, che puoi aggiungere al file functions.php del tuo tema:

add_filter( 'sgo_js_async_exclude', 'js_async_exclude' );
function js_async_exclude( $exclude_list ) {
$exclude_list[] = 'script-handle';
$exclude_list[] = 'script-handle-2';
return $exclude_list;
}

La compressione/conversione dell’immagine è bloccata, cosa posso fare per risolvere questo problema?

Dovresti controllare se la tua applicazione può eseguire correttamente i cron job. Di solito, questo significa che il cron nativo è disabilitato e non è stato creato un cron job reale nel tuo pannello di controllo.

Condividi questo articolo