Solución para mejorar resultado de Google Page Speed cuando tienes instalado Woocommerce; es necesario tocar código por lo que cuidadín!
Seguro que ya has aplicado todos los pasos que has visto en numerosas webs para mejorar los resultados en google page speed pero, lo que estas webs no te explican, o por lo menos a mi me costó solucionarlo, es la solución a la compresión de una lectura que da google page speed cuando tienes Woocommerce instalado en tu WordPress.

Pues estás de suerte porque vamos a subirle ese puntito más a tu puntuación de Google Page Speed de hoy!
Contenido:
Básicamente, WooCommerce intenta recopilar los detalles del carrito de compras llamando al script y tarda mucho tiempo en completar la tarea. El complemento obtiene los detalles del carrito en cada página para mostrar los últimos artículos del carrito llamando al administrador Ajax.
Llamar al admin Ajax en cada página retrasá considerablemente el tiempo de carga de la página y también consume grandes recursos del servidor. El otro problema es que el complemento hace esta acción incluso en una página donde no hay un carrito de compras o detalles relacionados con el producto.
El problema se debe solucionar modificando el archivo functions.php de tu tema, añadiendo un fragmento de código que inhabilite esta acción de tres posibles formas:
Para hacerlo mediante acceso FTP, inicia sesión en su servidor mediante una cuenta FTP. Dirigete a " /wp-content / tu-theme / " y encuentra el archivo " functions.php ". Editae y agrega el código que elijas al final del archivo y carga el archivo modificado nuevamente en el servidor.
1. Para inhabilitar la fragmentación del carro en la página principal, pegar el siguiente codigo en functions.php de tu tema:
[restrict userlevel="subscriber"]
/** Disable Ajax Call from WooCommerce */
add_action( 'wp_enqueue_scripts', 'dequeue_woocommerce_cart_fragments', 11);
function dequeue_woocommerce_cart_fragments() { if (is_front_page()) wp_dequeue_script('wc-cart-fragments'); }
Una vez que el archivo se haya actualizado, dirigete al menú " Configuración de WooCommerce " y " Productos > Mostrar ". Activa la casilla de verificación con la opción "Redirigir a la página del carrito después de la adición exitosa".

Esto ayudará al cliente a ir a la página principal del carrito en lugar de esperar mucho tiempo después de que el artículo se haya agregado al carrito. De lo contrario, aunque se agregue el artículo, es posible que el carrito de compras no muestre los detalles actualizados cuando se encuentre en la misma página que el script de fragmentación del carrito.
*Si la tienda online es de servicios o productos que suelen comprarse por separado, veo recomendable activar esto siempre para facilitar y acelerar el proceso de compra de producto.
[/restrict]
2. Para inhabilitar la fragmentación del carro en la página de inicio y las publicaciones, pegar el siguiente codigo en functions.php de tu tema:
[restrict userlevel="subscriber"]
/** Disable Ajax Call from WooCommerce on front page and posts*/
add_action( 'wp_enqueue_scripts', 'dequeue_woocommerce_cart_fragments', 11);
function dequeue_woocommerce_cart_fragments() {
if (is_front_page() || is_single() ) wp_dequeue_script('wc-cart-fragments');
}
[/restrict]
3. Para inhabilitar todos los estilos y scripts de WooCommerce en todo el sitio, pegar el siguiente codigo en functions.php de tu tema:
[restrict userlevel="subscriber"]
/** Disable All WooCommerce Styles and Scripts Except Shop Pages*/
add_action( 'wp_enqueue_scripts', 'dequeue_woocommerce_styles_scripts', 99 );
function dequeue_woocommerce_styles_scripts() {
if ( function_exists( 'is_woocommerce' ) ) {
if ( ! is_woocommerce() && ! is_cart() && ! is_checkout() ) {
# Styles
wp_dequeue_style( 'woocommerce-general' );
wp_dequeue_style( 'woocommerce-layout' );
wp_dequeue_style( 'woocommerce-smallscreen' );
wp_dequeue_style( 'woocommerce_frontend_styles' );
wp_dequeue_style( 'woocommerce_fancybox_styles' );
wp_dequeue_style( 'woocommerce_chosen_styles' );
wp_dequeue_style( 'woocommerce_prettyPhoto_css' );
# Scripts
wp_dequeue_script( 'wc_price_slider' );
wp_dequeue_script( 'wc-single-product' );
wp_dequeue_script( 'wc-add-to-cart' );
wp_dequeue_script( 'wc-cart-fragments' );
wp_dequeue_script( 'wc-checkout' );
wp_dequeue_script( 'wc-add-to-cart-variation' );
wp_dequeue_script( 'wc-single-product' );
wp_dequeue_script( 'wc-cart' );
wp_dequeue_script( 'wc-chosen' );
wp_dequeue_script( 'woocommerce' );
wp_dequeue_script( 'prettyPhoto' );
wp_dequeue_script( 'prettyPhoto-init' );
wp_dequeue_script( 'jquery-blockui' );
wp_dequeue_script( 'jquery-placeholder' );
wp_dequeue_script( 'fancybox' );
wp_dequeue_script( 'jqueryui' );
}
}
}
[/restrict]
Una vez que se agregas el código (en nuestro caso hemos utilizado la opción 2 que creemos que es la recomendable para todos los sitios en general), limpia la memoria caché si utilizas el complemento de cache tipo WP Super Cache. Ahora comprueba en Google PageSpeed Insights, no deberías ver el script " wc-ajax = get_refreshed_fragments " en la sección de "Habilitar compresión".

© 2017–2023 Club WordPress Emprendedores Online
Aviso Legal & Políticas · CONTACTO
Mantenimiento WordPress Destaca.es