gravatar desactiver wordpress

Comment supprimer Gravatar sur WordPress

Publié par Soufiane

Voulez-vous optimiser la vitesse de chargement de votre site WordPress ?

Aimeriez-vous supprimer le système de gestion des avatars Gravatar intégré avec WordPress ?

Comme vous le savez, chaque seconde de chargement de votre site compte, et Google comme tous les autres moteurs de recherche prend cela en considération pour le référencement.

Une des techniques consiste à diminuer de nombre de requêtes et redirections externes sur les pages de votre site, parmi ces requêtes on trouve Gravatar !

Dans ce tutoriel vous allez découvrir comment optimiser le temps de chargement de votre site en désactivant - complètement - le service Gravatar.

En appliquant cet astuce j'ai gagné plusieurs requetes sur les pages de Easytutoriel.com et cela vau vraiment le coup !

Allons-y !

Supprimer Gravatar sur WordPress :

Je l'ai essayé, ça marche

Tous les astuces cités dans cet article sont actuellement appliqués sur Easytutoriel.com et comme vous pouvez le voir, le chargement et nombre de requêtes a diminué de façon globale.

6 gravatar apres gtmetrix

Désactiver les avatars une fois pour toute

Si vous voulez désactiver tous les avatars sur WordPress sans utiliser un système d'avatars local, c'est facile.

Ouvrez le "Tableau de bord" > "Réglages" > "Discussion".

Vous n'avez qu'à décocher "Afficher les avatars" et tous les avatars sur votre site vont disparaître !

2 desactiver avatars definitivement

Si vous ne voulez pas supprimer tous les avatar mais vous voulez utiliser une alternative à Gravatar, continuez la lecture.

Pourquoi désactiver Gravatar ?

Comme vous le savez Gravatar est un produit de la même société (Automattic) ayant créé WordPress.

Chaque site utilisant WordPress est forcé à utiliser Gravatar et il n'y a aucun paramètre permettant de désactiver ce service sur le tableau de bord.

Le problème c'est que quand vos visiteurs anonymes publient leurs commentaires, plus vous avez de commentaires plus le chargement de page devient lent ; à cause des redirections http que crée Gravatar.

Pour les commentateurs anonymes c'est encore pire, au lieu d'utiliser des images hébergés en local, WordPress utilise des images aléatoires provenant des serveurs Gravatar.

En plus de ça Gravatar n'est pas un service gratuit ; en fait WordPress réclame qu'elle a le droit de vendre les informations sur le trafic internet, c'est la création de Automattic qui est une société à but lucratif !

Donc pour éviter le risque de confidentialité, il est recommandé soit de désactiver les avatars ou remplacer Gravatar par des avatar locaux.

Changer les (Gr)avatars par défaut n'est pas une solution

Certains sites proposent d'utiliser un avatar personnalisé sur son site WordPress, mais le problème comme je viens de l'expliquer c'est que Gravatar utilisera une redirection depuis votre site vers Gravatar puis va re-afficher l'image que vous avez mis sur votre site !

Voici le code que tout le monde partage et qui sert à changer l'avatar par défaut (en apparence seulement) :

add_filter( 'avatar_defaults', 'easytutoriel_custom_gravatar' );
function easytutoriel_custom_gravatar ($avatar_par_defaut) {
$monavatar = esc_url( get_template_directory_uri() ) . '/images/avatar.jpg';
$avatar_par_defaut[$monavatar] = __('Avatar perso','easytutoriel');
return $avatar_par_defaut;
}

Ce code se met dans le fichier functions.php pour ensuite choisir le "nouveau avatar personnalisé" dans le tableau de bord ("Réglages" > "Discussion")

3 avatar perso wordpress

Même avec le changement d'avatar par défaut à l'aide de la fonction php ci-dessus ; le nom de domaine appelé reste celui de Gravatar !

4 gravatar src image wordpress

Pour conquérir ce problème nous allons utiliser l'extension WP User Avatar.

Utiliser l'extension WP User Avatar.

La meilleure solution pour utiliser ses avatars locaux c'est l'extension gratuite "WP User Avatar" que vous pouvez installer directement via le gestionnaire d'extensions.

Remarque : Si vous utilisez BuddyPress allez en bas de cet article pour retrouver la solution.

Lien : https://fr.wordpress.org/plugins/wp-user-avatar/

7 wp user avatar installation

Dans la page de Réglages > Discussion ; vous pouvez changer l'avatar par défaut facilement, vous n'avez qu'à cliquer sur "Choisir Image" et uploader votre avatar !

8 avatar wp utilisateur avatar

Pour changer l'avatar de votre profile allez sur "Utilisateurs" > "Votre profil".

Cherchez en bas de page la zone "Avatar" et rechargez votre nouvel avatar !

Cliquez sur "Mettre à jour le profil" pour sauvegarder les changements.

9 avatar profil

Vous avez BuddyPress installé ?

Comme vous le savez, BuddyPress est un réseau social local créé pour WordPress, Easytutoriel.com l'utilise et j'ai trouvé une solution pour désactiver Gravatar.

Il faut savoir que BuddyPress vient avec un système de gestion d'avatars local, ce qui rend l'extension WP User Avatar inutile car vous ne pouvez pas utiliser deux systèmes de gestion d'avatar sur le même site.

Malheureusement BuddyPress ne désactive pas Gravatar par défaut, en fait, il utilise la fonction

Remplacer la fonction get_avatar() :

Comme vous le savez, cher développeur ; WordPress utilise la fonction get_avatar() pour afficher les avatars des utilisateurs et visiteurs (même anonymes) du site !

Cette fonction appelle par défaut Gravatar pour afficher l'avatar de l'utilisateur.

Pour désactiver l'appel à Gravatar par la fonction get_avatar() recopiez ces lignes dans votre fichier functions.php

/**
* Fonction pour désactiver les avatars de Gravatar sur une installation WordPress avec Buddypress.
*/

// Si BuddyPress est installé et actif

if ( function_exists('bp_is_active') ):

// Tailles des avatars par défaut
define ( 'BP_AVATAR_TINY', esc_url( get_template_directory_uri() ) . '/images/avatar-tiny.jpg' ); // 30
define ( 'BP_AVATAR_DEFAULT_THUMB', esc_url( get_template_directory_uri() ) . '/images/avatar-thumb.jpg' ); // 60
define ( 'BP_AVATAR_DEFAULT', esc_url( get_template_directory_uri() ) . '/images/avatar-default.jpg' ); // 150
define ( 'BP_AVATAR_DEFAULT_ORIGINAL', esc_url( get_template_directory_uri() ) . '/images/avatar-original.jpg' ); // 200

// Ajouter le filtre pour modifier la fonction get_avatar()

add_filter( 'get_avatar' , 'my_custom_avatar' , 10 , 3 );

function my_custom_avatar( $avatar, $id_or_email, $size = 50, $default = '', $alt = '', $args = null ) {
// Si l'entrée est le ID d'un utilisateur
if ( is_numeric( $id_or_email ) ) {

$id = (int) $id_or_email;
$user = get_user_by( 'id' , $id );

}
// Si l'entrée est un objet d'un utilisateur
elseif ( is_object( $id_or_email ) ) {

if ( ! empty( $id_or_email->user_id ) ) {
$id = (int) $id_or_email->user_id;
$user = get_user_by( 'id' , $id );
}

}
// Si l'entrée est un E-mail
elseif ( is_string( $id_or_email )) {
$user = get_user_by( 'email', $id_or_email );
}
// Si l'utilisateur n'existe pas (anonyme)
else {
$user = false;
}
// Si l'utilisateur existe, on va chercher l'avatar de Buddypress selon les tailles ($size)
if ( $user && is_object( $user ) ) {
// convert size to BP
//if ((int)$size <= 30 ) { $size_text = 'tiny' }
if ((int)$size <= 60 ) { $size_text = 'thumb'; }
elseif ((int)$size <= 150) { $size_text = 'full'; }
else { $size_text = 'original'; }
$avatar = bp_core_fetch_avatar( array('item_id' => $user->data->ID, 'type' => $size_text, 'width' => $size, 'height' => $size));
}
// Si anonyme on affiche l'avatar par défaut
else {
// Convertir la taille en $url
if ((int)$size <= 30 ) { $url = BP_AVATAR_TINY; }
elseif ((int)$size <= 60 ) { $url = BP_AVATAR_DEFAULT_THUMB; }
elseif ((int)$size <= 150) { $url = BP_AVATAR_DEFAULT; }
else { $url = BP_AVATAR_DEFAULT_ORIGINAL; }
$avatar = '<img width="' . $size . '" height="' . $size . '" src="' . $url . '" class="avatar avatar-test photo" />';
}
// Retourner le code html
return $avatar;
}

endif;

Créez quatre tailles pour l'avatar par défaut :

  • avatar-original.jpg (200x200px)
  • avatar-default.jpg (150x150px)
  • avatar-thumb.jpg (60x60px)
  • avatar-tiny.jpg (30x30px)

Cela parce-que BuddyPress ne permet de créer que deux versions d'avatar par défaut, la fonction en haut va choisir la taille la plus proche de la taille que vous choisissez en appelant get_avatar().

Et voilà !

Vous venez d'optimiser le chargement de votre site WordPress en remplaçant les avatars par défaut (Gravatar) par vos propres avatars !

Si vous avez des questions je suis là pour vous aider ;)


Partager cet article :


Ceux qui ont aimé cet article ont également apprécié ceux-là :


Déjà 4 commentaires ! { Ajouter le vôtre ? }

  • laurent dit :

    j'ai trouvé plus radical (car les 1.gravatar.com s'accrochent comme ds sangsues) en inactivant les 2 fonctions qui récupère les infos:

    add_filter( 'get_avatar_data', 'del_avatar_data', 10, 2 );
    function del_avatar_data( $args, $id_or_email ){
    return array(false,'');
    }

    add_filter( 'get_avatar_url', 'del_avatar_url', 10, 3 );
    function del_avatar_url( $url, $id_or_email, $args ){
    return '';
    }

    à tester. perso ca marche :D :D :D

  • laurent dit :

    OUF MERCI ! :D

    c'est un scandale dans tous les CMS de ce genre. y'a plein de trucs comme ca sous wordpress qui ralentissent tout (chacun rajoute sa daube perso -editeurs associés de wordpress, plug-ins, etc..) et on passe son tps à virer tout ca... parfois en vain ! :sick:

    ex que c'est abusé autre le plan tecnhique (on puet arriver à autre chose):
    j'avais concu un framework pour réaliser qq sites web (projet d'etude):
    ca pulse (taux de réponse de 0.5 sec) sans meme avoi r besoin d'un syst de cache evolué. car ac ne fait qu c qui est nécessaire et pourtant concu pour faire divers types de sites web

    alors que le framework affiche plus de chose et fait plus d'opérations en back office (simulation site e-commerce). pour le meme objectif, wordpress ramerai comme une limace.
    d'ou on est obligé de mettre des plug-ins surpuissant de cache qui accélère le front...mais ralentissent le back office à la fin (galère pour développer)

    franchement c nul de faire ca du coté de wordpress

    en toutcas, MERCI pour le tuyau du gravatar. j'avais vu q qq chose plombait le tps de réponse avec ses 2 à 7 requetes 1.gravatrar.com/etc... et je croyais meme que mon site était vérollé

  • alex dit :

    J'ai copié le texte php pour buddypress et je l'ai placé au début du fichier functions php, pour remplacer gravatar dans buddypress.
    Mais aucun chagement.
    Peut être faut-il le mettre à la place de quelquechose.
    Enfin cela ne marche pas

    Est ce que tuto est encore d'actualité ??

  • Publier un commentaire

    xD oO ^_^ =] =) ;-( ;) :| :woot: :whistle: :sleep: :sick: :police: :p :o :ninja: :mm: :love: :lol: :kiss: :hmm: :evil: :bandit: :angel: :alien: :D :) :( 8)