Cómo acelerar Divi evitando la carga innecesaria de scripts de Google Maps

cabecera divi

Igual no te has dado cuenta, 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.

¿Por qué y dónde carga Divi scripts de Google Maps innecesarios?

Esto pasa cuando estás viendo una página – normalmente un archivo de entradas o tipos de contenido personalizado –  que muestra un extracto una publicación que, al verla al completo, contenga un módulo de mapa (o módulo de mapa de ancho completo).

Aunque el módulo de mapas 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 mapas cargue los scripts que necesitaría, es decir, los scripts de Google Maps.

Pero como los extractos no muestran un mapa, no necesitan cargar los scripts, así que es una carga de scripts innecesaria, que ralentiza la velocidad de carga de estas páginas de listados o archivo de publicaciones.

A continuación te explico cómo evitar este comportamiento y ahorrar unas 5 peticiones en las páginas de archivos.

Evitar la carga de scripts de Google Maps en Divi cuando no son necesarios

Para evitar que Divi cargue scripts de Google Maps en páginas donde no se está mostrando realmente un mapa de Google, sino extractos de publicaciones que – luego – si lo mostrarán, solo tienes que ejecutar el siguiente código:

/* Evitar carga scripts Google Maps en listados de publicaciones */
add_action('loop_start', 'dbc_loop_start');
add_action('loop_end', 'dbc_loop_end', 100);
// Impedimos la carga del script de Google Maps cargado por los modulos con mapa
function dbc_loop_start($query) {
if (dbc_map_modules_in_excerpts($query)) { 
add_filter('et_pb_enqueue_google_maps_script', 'dbc_return_false');
}
}
// Reactivamos el script de Google Maps cuando pasa el loop
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) {
// No debe afectar a la administracion
if (is_admin()) { return false; }
// No debe afectar al maquetador
if (!function_exists('et_core_is_fb_enabled') || et_core_is_fb_enabled()) { return false; }
// No debe afectar a publicaciones individuales
if (is_singular()) { return false; }
// No debe afectar a consultas secundarias
if (!$query->is_main_query()) { return false; }
// No debe afectar a Divi > Opciones del tema > General > Modo estilo blog, que muestra el contenido completo en el loop
if (!function_exists('et_get_option') || et_get_option('divi_blog_style', 'false') === 'on') { return false; }
return true;
}
function dbc_return_false() { return false; }

¿Cómo añado este código?

Puedes ejecutar este código en tu web principalmente de 2 maneras:

  1. Instalando y activando el plugin Divi Booster y luego activando la opción Site Speed → Stop map module excerpts from unnecessarily loading maps scripts.
  2. Añadiendo manualmente el código según explico en detalle en esta guía.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 5 / 5. Total de votos: 4

Hasta ahora ¡no hay votos!. Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en los medios sociales!

¡Siento que este contenido no te haya sido útil!

¡Ayúdame a mejorar este contenido!

Por favor, dime, ¿cómo puedo mejorarlo?

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

Sobre el autor

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Información base sobre privacidad:
- Responsable: Fernando Tellado ([email protected])
- Fin del tratamiento: Moderación de comentarios para evitar spam
- Legitimación: Tu consentimiento
- Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
- Derechos: Acceso, rectificación, portabilidad, olvido

 

Ir arriba
Ir al contenido