Para que o seu site WordPress carregue mais rapidamente, existem muitas otimizações e ajustes de desempenho. Uma otimização fácil passa por desativar o carregamento de emojis. Emojis são pequenos ícones utilizados para expressar ideais ou emoções. Apesar de esses ícones serem divertidos, será que eles são mesmo necessários para seu site WordPress? Por exemplo, se o site for empresarial, os emojis vão adicionar um tempo de carregamento adicional desnecessário.

Quando o WordPress 4.2 foi lançado, foi adicionado suporte para emojis no core para navegadores mais antigos. O grande problema é que isso gera uma solicitação HTTP adicional no seu site WordPress para carregar o arquivo wp-emoji-release.min.js. E isso é carregado em todas as páginas. Apesar de esse arquivo ter apenas 10.5 KB, coisas dessas vão se acumulando ao longo do tempo.

wp emoji release file

Desativar Emojis no WordPress

Existem algumas formas diferentes para desabilitar Emojis no WordPress. Você pode fazer isso com um plugin grátis ou com código.

1. Desativar Emojis no WordPress Com Plugin

A primeira forma de desativar emojis é simplesmente usar um plugin gratuito chamado Disable Emojis, desenvolvido por Ryan Hellyer.

desativar emojis wordpress plugin

Esse plugin é muito leve, com apenas 9 KB. Até ao momento, tem mais de 30,000 instalações ativas com uma classificação de 5 estrelas. Nota: Os emoticons e emojis continuarão funcionado em navegadores que tenham suporte integrado para eles. Esse plugin simplesmente remove o arquivo JavaScript adicional que é usado para adicionar suporte a emojis em navegadores mais antigos.

Você pode baixar o plugin no repositório do WordPress ou procurando ele dentro do seu painel WordPress em “Adicionar Novos” plugins. Não tem nada para configurar, basta instalar, ativar e o arquivo JavaScript adicional será removido.

Existe também um plugin alternativo gratuito chamado Emoji settings. Ele foi desenhado tendo em consideração o Multisite e dá para o usuário uma opção para desativar os próprios Emoji.

configurações de emoticons

Você pode baixar o plugin no repositório do WordPress ou procurando ele dentro do seu painel WordPress em “Adicionar Novos” plugins. Depois de ativado, o usuário pode marcar ou desmarcar a opção “Ativar suporte a emojis” nas configurações de escrita no painel WordPress.

Também pode usar um plugin premium como o perfmatters (desenvolvido por um membro da equipe Kinsta), que permite desabilitar emoticons junto com outras otimizações para seu site WordPress.

Desativar emojis no plugin perfmatters
Desativar emojis no plugin perfmatters

2. Desativar Emojis no WordPress Com Código

Se você não quiser instalar outro plugin, você também pode simplesmente desativar emojis com código. Comece criando um backup de seu site, e depois crie um child theme para que suas mudanças não sejam sobrescritas se você atualizar seu tema do WordPress. Em seguida, adicione o seguinte ao arquivo functions.php do seu child theme do WordPress. Nota: código proveniente de Desativar o plugin do Emoji acima.

Importante! Editar o código-fonte de um tema WordPress pode quebrar seu site se não for feito corretamente. Se não estiver confortável fazendo isso, por favor contate um desenvolvedor.
/**
 * Disable the emoji's
 */
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_filter( 'wp_resource_hints', 'disable_emojis_remove_dns_prefetch', 10, 2 );
}
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();
 }
}

/**
 * Remove emoji CDN hostname from DNS prefetching hints.
 *
 * @param array $urls URLs to print for resource hints.
 * @param string $relation_type The relation type the URLs are printed for.
 * @return array Difference betwen the two arrays.
 */
function disable_emojis_remove_dns_prefetch( $urls, $relation_type ) {
 if ( 'dns-prefetch' == $relation_type ) {
 /** This filter is documented in wp-includes/formatting.php */
 $emoji_svg_url = apply_filters( 'emoji_svg_url', 'https://s.w.org/images/core/emoji/2/svg/' );

$urls = array_diff( $urls, array( $emoji_svg_url ) );
 }

return $urls;
}