WordPress e gravatar.com rallentano il tuo sito
Come possiamo velocizzare wordpress?
Nelle nuove versione di wordpress, abbiamo la possibilità di visualizzare il gravatar di un utente (leggi qui se non sai di cosa stiamo parlando) ma questo rallenta l’esecuzione del sito perché ogni volta che visualizziamo i commenti, ognuno di questi visualizzerà l’immagine dell’utente che lo ha scritto andando a prelevarla prima dal servizio gravatar.com e poi, se l’utente non è registrato, verrà visualizzata l’immagine di default impostata nell’amministrazione di wordpress.
Questo cosa provoca?
Provoca dei reindirizzamenti dal nostro sito al server gravatar.com e poi nuovamente al nostro sito semplicemente per visualizzare, ad esempio, l’immagine mistery-man ed avremo quindi un abbassamento del punteggio in google page speed a causa della lentezza di caricamento.
Per velocizzare l’esecuzione del nostro sito e aumentare anche il punteggio di google page speed, possiamo usare questo semplice codice per disabilitare le chiamate al servizio gravatar.com.
//-----rimuovere le chiamate al servizio gravatar.com
function bp_remove_gravatar ($image, $params, $item_id, $avatar_dir, $css_id, $html_width, $html_height, $avatar_folder_url, $avatar_folder_dir) {
$default = '/wp-content/plugins/buddypress/bp-core/images/mystery-man.jpg';
if( $image && strpos( $image, "gravatar.com" ) ){
return '<img class="avatar" src="' . $default . '" alt="avatar" />';
} else {
return $image;
}
}
add_filter('bp_core_fetch_avatar', 'bp_remove_gravatar', 1, 9 );
function remove_gravatar ($avatar, $id_or_email, $size, $default, $alt) {
$default = '/wp-content/plugins/buddypress/bp-core/images/mystery-man.jpg';
return "<img class="avatar avatar-{$size} photo avatar-default" src="{$default}" alt="{$alt}" width="{$size}" height="{$size}" />";
}
add_filter('get_avatar', 'remove_gravatar', 1, 5);
function bp_remove_signup_gravatar ($image) {
$default = '/wp-content/plugins/buddypress/bp-core/images/mystery-man.jpg';
if( $image && strpos( $image, "gravatar.com" ) ){
return '<img class="avatar" src="' . $default . '" alt="avatar" width="150" height="150" />';
} else {
return $image;
}
}
add_filter('bp_get_signup_avatar', 'bp_remove_signup_gravatar', 1, 1 );
Dobbiamo inserire semplicemente queste righe di codice nel file functions.php del nostro tema, modificare la variabile $default per puntarla all’immagine che vogliamo visualizzare ed il gioco è fatto…
Fonte: buddypress.org
Grazie per la precisazione. Abbiamo aggiornato l’articolo inserendo la fonte
sembra una banalità ma velocizza di parecchio il sito web, soprattutto se gli avatar vengono richiamati in diverse parti dello stesso (tipo sidebar ecc….) grazie del codice ma è meglio citare la fonte.
http://buddypress.org/community/groups/how-to-and-troubleshooting/forum/topic/how-to-disable-gravatar-completely