vendredi 25 septembre 2026

À propos

Contact

SEO & GEO

Désactiver les scripts d’émoji WordPress pour alléger les pages sans plugin

Un script et une feuille de style chargés sur chaque page pour des émojis rarement utilisés : la désactivation tient en quatre lignes de fonctions.php.

Par Clément Hadrot • 21 janvier 2021 • 4 min de lecture • Aucun commentaire
Désactiver les scripts d'émoji WordPress pour alléger les pages sans plugin

Un audit de performance sur un site vitrine relève un fichier wp-emoji-release.min.js chargé sur chaque page, alors que le site n’utilise jamais d’émoji dans son contenu éditorial. Ce script existe depuis WordPress 4.2, ajouté pour assurer un rendu cohérent des émojis sur les anciens navigateurs qui ne les supportaient pas nativement. En 2021, la quasi-totalité des navigateurs gèrent nativement les émojis, ce qui rend ce script obsolète pour l’immense majorité des visiteurs.

Le retirer ne demande aucune extension : quatre appels à remove_action et remove_filter suffisent, à placer dans le fichier functions.php du thème ou dans un plugin maison léger.

Ce que WordPress charge exactement

Le mécanisme d’émoji de WordPress ajoute trois éléments distincts à chaque page : un script inline qui détecte le support natif des émojis par le navigateur, le fichier wp-emoji-release.min.js chargé de façon conditionnelle si le support natif est absent, et une feuille de style qui ajuste l’apparence des émojis dans certains contextes. Tout cela est ajouté via l’action print_emoji_detection_script, accrochée par défaut sur wp_head avec une priorité de 7.

Le code de désactivation complet

Quatre lignes suffisent pour retirer l’ensemble du mécanisme, front-end et back-office confondus :

function ma_recette_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_action( 'init', 'ma_recette_disable_emojis' );

Les deux derniers filtres méritent attention : ils concernent la conversion des émojis en images statiques dans les flux RSS et les e-mails envoyés par WordPress, un comportement qui a du sens à conserver si le contenu du site utilise réellement des émojis dans ses articles. Sur un site qui n’en utilise jamais dans son contenu éditorial, les retirer aussi ne change rien à l’expérience et allège encore un peu le traitement.

L'essentiel à retenir : WordPress charge un script d'émoji sur chaque page depuis la version 4.2 ; Quatre appels remove_action suffisent, aucun plugin n'est nécessaire ; Le gain est modeste mais gratuit, à cumuler avec d'autres optimisations

Mesurer le gain réel avant de se réjouir trop vite

Le fichier wp-emoji-release.min.js pèse environ 5 à 6 ko une fois compressé, et n’est de toute façon chargé que de façon conditionnelle par le script de détection, jamais systématiquement sur les navigateurs modernes. Le gain direct est donc modeste : quelques dizaines de millisecondes tout au plus sur le temps de chargement, et une requête HTTP en moins dans les cas où le script était effectivement téléchargé. Ce n’est pas une optimisation qui change un score Lighthouse à elle seule.

Pourquoi le faire quand même

L’intérêt de cette désactivation n’est pas dans le gain isolé, mais dans la logique de nettoyage systématique : chaque script inutile retiré simplifie l’inventaire des ressources chargées, réduit la surface de code exécuté au chargement, et facilite le diagnostic si un problème de performance apparaît plus tard. Sur un projet où l’on cumule ce genre de petits nettoyages (émojis, oEmbed non utilisé, flux RSS de commentaires désactivés), l’effet global devient perceptible, même si chaque mesure prise isolément semble anecdotique.

Vérifier que rien ne casse après la désactivation

Un test rapide consiste à publier un article contenant volontairement un émoji et à vérifier son affichage sur plusieurs navigateurs, y compris un navigateur ancien si le public cible en compte encore. La checklist de vérification tient en trois points :

  • Afficher un article contenant un émoji sur un navigateur récent et sur un navigateur plus ancien conservé pour les tests.
  • Vérifier qu’un e-mail transactionnel contenant un émoji reste lisible côté destinataire.
  • Contrôler le flux RSS des commentaires si le site en propose un et que des émojis y sont parfois saisis.

Sur les projets suivis, aucun cas de rendu cassé n’a été observé après cette désactivation, les navigateurs ciblés en 2021 gérant tous les émojis nativement.

Je documente toujours ce genre de désactivation avec un commentaire daté dans le code : si un jour un client insiste pour cibler un navigateur très ancien, il faut pouvoir retrouver rapidement pourquoi et où ce mécanisme a été coupé.

En résumé

Désactiver les scripts d’émoji de WordPress est une optimisation à faible risque et à faible gain individuel, mais qui s’inscrit dans une démarche plus large de nettoyage du wp_head. Aucune extension n’est nécessaire, quatre lignes de code suffisent, et l’opération se vérifie facilement en publiant un contenu de test avec un émoji réel.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi