Guía de solución

Cómo eliminar el script de emojis de WordPress

19 de abril de 2026

WordPress carga automáticamente un script de emojis llamado wp-emoji-release.min.js en cada una de las páginas de tu sitio. Este script se introdujo en WordPress 4.2 para garantizar que los caracteres emoji se mostraran correctamente en navegadores antiguos como Internet Explorer 10 y las primeras versiones de Android. Funciona detectando si el navegador del visitante puede renderizar emojis de forma nativa. Si no puede, el script reemplaza los caracteres emoji con imágenes desde el CDN de WordPress en s.w.org.

El problema es que este script se carga en cada página, independientemente de si tu contenido contiene realmente emojis o no. Para la gran mayoría de los sitios WordPress, esto es una sobrecarga inútil.

Por qué WordPress sigue cargando este script por defecto

WordPress valora la compatibilidad hacia atrás por encima de casi todo lo demás. Como todavía hay un pequeño número de usuarios con navegadores muy antiguos, el equipo del core mantiene esta función activada por defecto. El script consta de dos partes: un bloque JavaScript en línea que ejecuta una prueba de renderizado de emojis, y el archivo externo wp-emoji-release.min.js que se carga si la prueba determina que el navegador necesita ayuda. Además, WordPress añade estilos CSS para el renderizado de emojis y una indicación de DNS prefetch para s.w.org con el fin de acelerar la conexión al CDN.

El impacto real en el rendimiento

Aunque el propio script de emojis pesa unos 15-20 KB, el coste total es mayor que el simple tamaño del archivo. Esto es lo que ocurre en cada carga de página cuando el script de emojis está activo:

  • Ejecución de JavaScript en línea: La prueba de detección de emojis se ejecuta en la sección <head>, lo que bloquea el renderizado. El navegador debe ejecutar este código antes de continuar analizando el resto de la página.
  • Búsqueda DNS adicional: El DNS prefetch para s.w.org dispara una resolución DNS que de otro modo no sería necesaria. En conexiones móviles con alta latencia, esto puede costar 50-100 ms.
  • Petición HTTP adicional: Si el navegador "falla" la prueba de emojis (algo raro en dispositivos modernos), se descarga el archivo de script completo desde el CDN.
  • Sobrecarga de CSS: Se inyectan estilos adicionales relacionados con emojis tanto en el frontend como en el área de administración.

Para sitios centrados en el rendimiento y en obtener buenas puntuaciones de Core Web Vitals, eliminar este script es una de las victorias más fáciles. Reduce tu Total Blocking Time y elimina peticiones de red innecesarias.

Quién necesita realmente el script de emojis

Deberías mantener el script de emojis si tu sitio se dirige específicamente a usuarios con navegadores muy antiguos (IE 10 o anterior, Android 4.3 o inferior) y tu contenido depende mucho de la visualización de emojis. En la práctica, esto no se aplica a casi nadie. Todo navegador moderno publicado desde 2015 maneja los emojis de forma nativa a través del renderizado de fuentes del sistema operativo. Incluso sin el script de WordPress, los emojis se mostrarán correctamente para más del 99% de tus visitantes.

Eliminar el script de emojis vía functions.php

La forma más limpia de desactivar el script de emojis es añadir el siguiente código al archivo functions.php de tu tema, o mejor aún, a un plugin específico del sitio. Cada línea actúa sobre una parte concreta del sistema de emojis:

/**
 * Desactivar scripts y estilos de emojis de WordPress
 */
function disable_emojis() {
    // Eliminar el script en línea de detección de emojis del head del frontend
    remove_action('wp_head', 'print_emoji_detection_script', 7);

    // Eliminar el script de detección de emojis del área de administración
    remove_action('admin_print_scripts', 'print_emoji_detection_script');

    // Eliminar los estilos CSS de emojis del frontend
    remove_action('wp_print_styles', 'print_emoji_styles');

    // Eliminar los estilos CSS de emojis del área de administración
    remove_action('admin_print_styles', 'print_emoji_styles');

    // Detener la conversión de emojis en el contenido del feed RSS
    remove_filter('the_content_feed', 'wp_staticize_emoji');

    // Detener la conversión de emojis en el texto de comentarios RSS
    remove_filter('comment_text_rss', 'wp_staticize_emoji');

    // Detener la conversión de emojis en correos salientes
    remove_filter('wp_mail', 'wp_staticize_emoji_for_email');

    // Eliminar el DNS prefetch para el CDN de emojis
    add_filter('wp_resource_hints', function($urls, $relation_type) {
        if ('dns-prefetch' === $relation_type) {
            $urls = array_filter($urls, function($url) {
                return strpos($url, 'https://s.w.org/images/core/emoji/') === false;
            });
        }
        return $urls;
    }, 10, 2);

    // Evitar que el script de emojis se cargue desde el editor de bloques
    add_filter('emoji_svg_url', '__return_false');
}
add_action('init', 'disable_emojis');

Alternativa: usar un plugin

Si prefieres no editar código directamente, varios plugins ligeros se encargan de esto por ti. Las opciones más populares son:

  • Disable Emojis (SUSPENDIDO): Fue durante años la solución de referencia. Huella muy pequeña, hace exactamente lo que hace el código anterior. Ten en cuenta que este plugin ha sido retirado del directorio de plugins de WordPress, pero existen alternativas.
  • Autoptimize: Un plugin general de optimización que incluye una opción para eliminar los scripts de emojis bajo su pestaña de ajustes "Extra". Si ya usas Autoptimize para optimizar CSS/JS, este es un enfoque conveniente todo en uno.
  • Plugins de rendimiento: Muchos plugins de caché y rendimiento como WP Rocket, LiteSpeed Cache y Perfmatters incluyen un interruptor para desactivar el script de emojis. Comprueba la configuración de tus plugins existentes antes de instalar algo nuevo.

Qué ocurre con la visualización de emojis después de eliminarlo

No ocurre nada malo. Los navegadores modernos usan la fuente de emojis integrada del sistema operativo para renderizar los caracteres emoji. En Windows es la fuente Segoe UI Emoji. En macOS e iOS es Apple Color Emoji. En Android es Noto Color Emoji. Estas fuentes del sistema gestionan todos los emojis Unicode estándar sin ninguna ayuda de WordPress.

La única diferencia visual que podrías notar es que los emojis se verán ligeramente distintos según el sistema operativo del visitante. Un usuario de Apple ve emojis al estilo Apple, un usuario de Windows ve emojis al estilo Microsoft, y así sucesivamente. Este es el comportamiento estándar en toda la web y no es algo específico de WordPress.

Cómo verificar que el script ha desaparecido

Después de añadir el código o activar un plugin, deberías confirmar que el script de emojis ya no se carga. Aquí tienes tres formas de comprobarlo:

  • Ver el código fuente: Abre tu sitio en un navegador, haz clic derecho y selecciona "Ver código fuente de la página". Busca wp-emoji. Si no encuentras coincidencias, el script se ha eliminado correctamente.
  • DevTools del navegador: Abre la pestaña Red en las herramientas de desarrollador de tu navegador, recarga la página y filtra por "emoji". Deberías ver cero peticiones relacionadas con scripts de emojis.
  • Análisis de InspectWP: Ejecuta un nuevo análisis de InspectWP en tu sitio. La sección de WordPress indicará si el script de emojis sigue presente. Si la eliminación tuvo éxito, el indicador del script de emojis ya no aparecerá en el informe.

Analiza tu sitio de WordPress ahora

InspectWP analiza tu sitio de WordPress en busca de problemas de seguridad, SEO, cumplimiento del RGPD y rendimiento, gratis.

Analiza tu sitio gratis