Volver a Proyectos Listado de Artículos

4 consejos para mejorar la velocidad de tu sitio web multilingüe con WPML

Luis Ruiz

Escrito por Luis Ruiz

WPML es un plugin popular de WordPress que permite a los usuarios crear sitios web multilingües. Sin embargo, WPML puede ralentizar significativamente el rendimiento de un sitio web. En este artículo, compartiremos  4 consejos para mejorar la velocidad de tu sitio web multilingüe con WPML.

En el mundo digital actual, la velocidad de carga de un sitio web es un factor crucial que influye en la satisfacción del usuario y en el posicionamiento en los motores de búsqueda.

Si tu sitio web es multilingüe y está utilizando WPML (WordPress Multilingual Plugin) para gestionar los diferentes idiomas, optimizar su velocidad se vuelve aún más esencial. En este artículo, descubrirás cuatro consejos efectivos para mejorar la velocidad de tu sitio web multilingüe mediante el uso de WPML.

Desde la implementación de lazyload en las imágenes del menú multilingüe, hasta la eliminación estratégica de solicitudes CSS y scripts innecesarios, estos consejos te ayudarán a lograr un rendimiento óptimo y una experiencia de usuario excepcional en tu sitio desarrollado con WordPress y WPML.

Añadir lazyload a las imágenes del menú multiidioma

En ocasiones tenemos que añadir en el footer de la web un selector multiidioma con sus banderas. Al cargar la página se realizan las peticiones de esas imágenes. Al estar en el footer, y no ser necesarias, lo mejor es retrasar la carga con un lazyload. Para añadir el selector mediante código se hace de la siguiente forma:

do_action('icl_language_selector');

Una solución muy sencilla de añadir el lazyload a las imágenes es almacenar el selector en el búfer de salida con «ob_start()», y añadir el lazyload en el búfer de la siguiente manera para luego imprimirlo.

ob_start();
do_action('icl_language_selector');
$language = ob_get_contents();
ob_end_clean();

// remplazamos el texto «src» por «loading="lazy" src» y lo imprimimos en la página
echo str_replace('src', 'loading="lazy" src', $language);

Con este simple código mejoramos la velocidad de la página

Eliminar la petición CSS con ID: wpml-menu-item-0-css

Si te manejas con CSS, y prefieres dar estilo al menú de WPML, recuerda eliminar su CSS, así evitas reescribir sus estilos aumentando tu CSS y te ahorras una petición.

Buscamos en la vista de código del navegador el ID que tiene el link del CSS y lo ponemos en el código. En este caso era « <link rel=»stylesheet» id=»wpml-menu-item-0-css» href=»…. .css»> »

// Remove CSS WPML
define('ICL_DONT_LOAD_LANGUAGE_SELECTOR_CSS', true);
add_action( 'wp_enqueue_scripts', 'bk_dequeue_unnecessary_wpml', 20 );
function bk_dequeue_unnecessary_wpml() {
    wp_dequeue_style( 'wpml-menu-item-0-css' ); // ID del link del CSS a eliminar
    wp_deregister_style( 'wpml-menu-item-0-css' ); // ID del link del CSS a eliminar
}

Eliminar la petición CSS con el ID: wpml-blocks-css

Si haces un desarrollo a medida o no usas los bloques de WPML, posiblemente no necesites los estilos que trae el plugin o mejor aún reescribirlos. Para eliminar la petición «/wp-content/plugins/sitepress-multilingual-cms/dist/css/blocks/styles.css» y que no consuma tiempo.

Tienes que añadir a tu código las siguientes líneas:

function bk_remove_styles() {
    wp_dequeue_style( 'wpml-blocks' );
}
add_action('wp_print_styles', 'bk_remove_styles', 100);

Este código utiliza la función wp_dequeue_style() para eliminar el estilo «wpml-blocks» que se carga en la página. La función se llama en el hook wp_print_styles con una prioridad de 100 para asegurarse de que se ejecute después de que se hayan agregado todos los estilos.

Eliminar la petición del script con el ID: wpml-cookie-js

En este caso vamos a eliminar la petición del script «wp-content/plugins/sitepress-multilingual-cms/res/js/cookies/language-cookie.js» por qué no lo usamos o esas pocas líneas las vamos a integrar a nuestro fichero.

Eliminaremos la petición con el siguiente código:

function bk_remove_scripts() {
  wp_dequeue_script( 'wpml-cookie' );
}
add_action('wp_print_scripts', 'bk_remove_scripts', 100);

Este código utiliza la función wp_dequeue_script() para eliminar el script «wpml-cookie» que se carga en la página. La función se llama en el gancho wp_print_scripts con una prioridad de 100 para asegurarse de que se ejecute después de que se hayan agregado todos los scripts.

Conclusión

La optimización del plugin WPML en WordPress es esencial para garantizar un rendimiento óptimo de tu sitio web. Eliminar estilos CSS y JavaScript innecesarios, puede marcar una diferencia notable en la velocidad de carga de tus páginas.

Al integrar los códigos personalizados mencionados anteriormente, puedes lograr una experiencia de usuario más fluida y mejorar la eficiencia general de tu sitio. En le siguiente enlace puedes ver más consejos sobre optimización si estás interesado en este tema.

En resumen, al comprender cómo manipular y eliminar estilos no deseados, como el caso del plugin WPML, puedes avanzar hacia un sitio web más ágil y optimizado en WordPress.