blog webempresa

Acelerar la carga de mapas que son cargados innecesariamente por Google en Divi

por | Ago 17, 2022 | Tutoriales Divi

Acelerar la carga de mapas que son cargados innecesariamente por Google en Divi

Puede que no lo hayas notado, pero el tema Divi a veces carga Google Maps, incluso cuando no hay mapas en la página. Esto da como resultado alrededor de 5 solicitudes innecesarias en esas páginas. Evitar estas solicitudes acelerará la carga de estas páginas.

Dónde se carga en Divi datos innecesarios de Google maps

Esto sucede cuando está viendo una página que muestra un extracto de una publicación que, cuando se ve en su totalidad, contiene un módulo de mapa (o un módulo de mapa de ancho completo).

Aunque el módulo de mapa no se muestra como parte del extracto generado, el acto de generar el extracto procesa completamente la publicación y hace que el módulo de mapa cargue los scripts que necesitaría, es decir, los scripts de Google Maps.

Pero dado que los extractos no muestran un mapa, no necesitan cargar los scripts, por lo que es una carga de script innecesaria, lo que ralentiza la velocidad de carga de estas páginas sin necesidad. Aquí podemos ver como eliminar este comportamiento de Divi.

Código para evitar que los scripts de Google maps se carguen cuando no se necesitan

Para evitar que Divi cargue scripts de Google maps en páginas en las que en realidad no se muestra un mapa de Google, sino extractos de publicaciones, simplemente agregamos el siguiente código:

/* Prevenir carga de Google maps en divi */
add_action('loop_start', 'dbc_loop_start');
add_action('loop_end', 'dbc_loop_end', 100);
// Prevenir la carga del modulo mapa en todo el sitio
function dbc_loop_start($query) {
if (dbc_map_modules_in_excerpts($query)) {
add_filter('et_pb_enqueue_google_maps_script', 'dbc_return_false');
}
}
// Reactivar el mapa cuando se necesite
function dbc_loop_end($query) {
if (dbc_map_modules_in_excerpts($query)) {
remove_filter('et_pb_enqueue_google_maps_script', 'dbc_return_false');
}
}
function dbc_map_modules_in_excerpts($query) {
// Para que no afecte al administrador
if (is_admin()) { return false; }
// Can't affect visual designer
if (!function_exists('et_core_is_fb_enabled') || et_core_is_fb_enabled()) { return false; }
// Can't affect singular posts
if (is_singular()) { return false; }
// Can't affect secondary queries
if (!$query->is_main_query()) { return false; }
// Can't affect Divi
if (!function_exists('et_get_option') || et_get_option('divi_blog_style', 'false') === 'on') { return false; }
return true;
}
function dbc_return_false() { return false; }

Para agregar este código podemos ingresar a nuestra carpeta de archivos y modificar nuestro archivo functions.php, esta la encontramos en:

wePanel > Administrador de archivos > Public_html > Dominio > wp-content > themes > Tema utilizadoo tema hijo que está activo > archivo functions.php

Una vez estemos en este archivo directamente podemos agregarlo al final del todo con unos saltos de línea de separación.

¿Te ha resultado útil este artículo?

Promo abril