Existe un montón de optimizaciones del rendimiento y ajustes que se puede configurar para hacer su sitio WordPress más rápido. Una optimización fácil es la desactivación de la carga de emojis. Emojis son iconos pequeños utilizados para expresar ideas y emociones. Mientras estos iconos son divertidos ¿son realmente necesarios para su sitio WordPress? Especialmente cuando se trata de un negocio donde añadiendo tiempo de carga adicional es innecesario.

Cuando WordPress 4.2, se lanzó al mercado añadieron soporte de emojis dentro del núcleo para navegadores antiguos. El problema con ello es que esta característica genera solicitudes adicionales de HTTP en su sitio WordPress para cargar el archivo wp-emoji-release.min.js y esto cargará en cada una de las páginas. Mientras este archivo es de 10,5KB solamente, las cosas similares se agregan con el paso del tiempo.

wp emoji release file

Desactivar Emojis En WordPress

Existen varias formas para desactivar Emojis en WordPress. Se puede hacer mediante un plugin gratuito o un código.

1. Desactivar Emojis En WordPress Mediante Plugin

La primera manera para desactivar emojis es el simple uso de un plugin llamado Disable Emojis, desarrollado por Ryan Hellyer.

disable emojis wordpress plugin

El plugin es superligero de exactamente 9KB. Al momento de escribir este artículo el plugin tiene 30.000 instalaciones activas con una evaluación de 5 estrellas en una escala de 5. Note por favor que emoticonos y emojis seguirán funcionando en navegadores que tienen soporte integrado para ellos. El plugin simplemente elimina el archivo JavaScript que es utilizado para añadir soporte de emojis en navegadores antiguos.

Puede descargarlo del repositorio de WordPress o buscándolo en su panel de control WordPress bajo “Añadir Plugin Nuevo”. No hay nada que configurar solamente instalar, activar y el archivo adicional JavaScript habrá desaparecido.

Existe otro plugin alternativo gratuito llamado Emoji settings. Este último fue creado teniendo en cuenta los que tienen Multisitios y ofrece la opción de que los Emojis puedan ser desactivados por los mismos usuarios.

emoji settings

Se puede descargar del repositorio de WordPress o buscando el plugin dentro de su panel de WordPress bajo “Añadir Plugin Nuevo”. Al activarlo los usuarios pueden marcar o desmarcar «Activar Soporte de Emojis» dentro de las opciones de Escritura en el tablero de WordPress.

Otra alternativa es el uso de un premium plugin como perfmatters (desarrollado por un miembro del equipo de Kinsta) lo cual le permite desactivar emojis junto con otras optimizaciones para su sitio WordPress.

Desactivar emojis con perfmatters
Desactivar emojis con perfmatters

2. Desactivar Emojis En WordPress Mediante Código

Si no quieres instalar otro plugin, también puedes simplemente desactivar los emojis con código. Empieza creando una copia de seguridad de tu sitio, y luego crea un tema secundario para que tus cambios no se sobrescriban si actualizas tu tema de WordPress. A continuación, añade lo siguiente al archivo functions.php de tu tema secundario de WordPress. Nota: el código procede del plugin anterior de Disable Emoji.

¡Importante! Editando el código de fuente puede romper su sitio si no se hace correctamente. Si usted no se siente cómodo para hacerlo vea el asunto con un desarrollador primero.

/**
 * 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;
}