CURIOSO Defer parsing of JavaScript

  • Autor Autor JoseZabaleta
  • Fecha de inicio Fecha de inicio
JoseZabaleta

JoseZabaleta

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola... La principal recomendación de GTmetrix para una de mis páginas es Defer parsing of JavaScript:

1.3MiB of JavaScript is parsed during initial page load. Defer parsing JavaScript to reduce blocking of page rendering.

https://www.youtube.com/yts/jsbin/player-vflZ_930G/en_US/base.js (1.1MiB)
https://www.youtube.com/yts/jsbin/www-embed-player-vflRoduVX/www-embed-player.js (88.3KiB)
https://www.marketing-e-internet.com/wp-includes/js/jquery/jquery.js (87.0KiB)
Facebook Cross-Domain Messaging helper (29.7KiB of inline JavaScript)
https://www.marketing-e-internet.com/cashbackworld/ (5.3KiB of inline JavaScript)
https://www.youtube.com/embed/wqcPE7BD6RU?feature=oembed (3.3KiB of inline JavaScript)

Lo curioso es que esto solo sucede con una página de mi Sitio Wordpress... Y es curioso porque en esta página no hay un tratamiento del javascript ni de nada, diferente al resto de páginas...

¿Alguna idea? Gracias de antemano...
 
Muchas gracias por compartir
 
Creo que habla del google speed xD

Intenta mover todo el js de tu header a tu footer, salvo lo que necesitas si o si como jquery (dependiendo para que lo uses, moverlo al footer significaría que deje de funcionar). Recomendación 2019, ya no uses jquery.

Opciones rápidas:
Intenta aplazar la carga del jquery:
PHP:
// Aplazar JavaScripts// Aplaza la carga de jQuery usando la propiedad HTML5 deferif (!(is_admin() )) {    function defer_parsing_of_js ( $url ) {        if ( FALSE === strpos( $url, '.js' ) ) return $url;        if ( strpos( $url, 'jquery.js' ) ) return $url;        // return "$url' defer ";        return "$url' defer onload='";    }    add_filter( 'clean_url', 'defer_parsing_of_js', 11, 1 );}

o edita la solicitud manualmente con defer:
PHP:
<script type="text/javascript" defer="defer" src="url del js"></script>

mover el js de wp al footer como te dije antes (ojo con esto):
PHP:
if(!is_admin()) {    // Movemos todo el JS de la cabecera (header) al pié (footer)    remove_action('wp_head', 'wp_print_scripts');    remove_action('wp_head', 'wp_print_head_scripts', 9);    remove_action('wp_head', 'wp_enqueue_scripts', 1);    add_action('wp_footer', 'wp_print_scripts', 5);    add_action('wp_footer', 'wp_enqueue_scripts', 5);    add_action('wp_footer', 'wp_print_head_scripts', 5);}

La otra opción es crear un JavaScript separado en el que incluirás todos los JavaScripts que necesites (antes que cierre el head):
PHP:
<script type="text/javascript">function downloadJSAtOnload() {var element = document.createElement("script");element.src = "loadjs.js";document.body.appendChild(element);}if (window.addEventListener)window.addEventListener("load", downloadJSAtOnload, false);else if (window.attachEvent)window.attachEvent("onload", downloadJSAtOnload);else window.onload = downloadJSAtOnload;</script>
 
Atrás
Arriba