Quitar dashicons de la portada de WordPress para mejorar el SEO.

Si haces una prueba de velocidad de tu página con Pagespeed o con Gmetrix, uno de los ficheros que verás que está ralentizando la portada de tu web en WordPress es dashicons.min.css

¿Qué es dashicons.min.css?

Este fichero carga los dashicons de WordPress, unos iconos que usa WordPress en su escritorio del backend y en la barra de administración. Pero, como ocurre mucho en WordPress, se carga también en el frontend. Y no tiene sentido.

Iremos dedicando varios artículos a cómo dejar de cargar estos elementos no necesarios de la portada de nuestra web, y así mejorar la velocidad y puntuación de la misma.

Cómo evitar que se carguen los dashicons donde no son necesarios.

Nota: prueba esto en tu web antes de publicarla porque hay temas que si que usan los dashicons para PC, tablet o móvil.

Lo que vamos a hacer es desactivarlos en toda la parte de la web que no tiene barra de administración ni escritorio de WordPress. Es decir, para el frontend.

Os dejamos dos scripts posibles que, como siempre, tenéis que poner en el fichero functions.php de vuestro tema hijo o en un plugin de Snippets.

Opción que detecta si está la barra de administrador y, si no, quita los dashicons.

Esta la hemos usado y funciona perfectamente.

// Quita los dashicons si no se muestra la barra de admin
add_action( 'wp_print_styles', function() {
    if (!is_admin_bar_showing()) wp_deregister_style( 'dashicons' );
}, 100);

Opción que detecta si el usuario está registrado y, si no, quita los dashicons.

// Quitar dashicons en el frontend para usuarios no registrados
add_action( 'wp_enqueue_scripts', 'sm_dequeue_dashicons' );
function sm_dequeue_dashicons() {
    if ( ! is_user_logged_in() ) {
        wp_deregister_style( 'dashicons' );
    }
}

Como siempre podéis hacer mezclas de estas funciones, con capacidades diferentes de los usuarios (si es administrador o no).

Haced una prueba con y sin el código y veréis que el aviso se va y la puntuación mejora.