Cómo reparar la carga lenta de WooCommerce a causa de cart fragments
WooCommerce es indudablemente uno de los plugins más utilizados de WordPress, y es que permite armar una tienda online fácil y rápido, convirtiendo a WordPress en un completísimo ecommerce tan solo con instalarlo.
Para muchas de sus funcionalidades, WooCommerce utiliza Ajax para hacer mas amena la experiencia de compra y uno de los procesos, el llamado “wc-ajax=get_refreshed_fragments” provocado por los cart fragments o fragmentos de carrito de compras, es el que puede ponerlo lento, y por el motivo del que puedes haber aterrizado aquí.
En esta nota vamos a contarte cómo reparar la lentitud de WooCommerce a causa del proceso “wc-ajax=get_refreshed_fragments” junto con un poco de impronta acerca de qué se trata.
Hosting WordPress. Más simple.
Alojamos tu página web hecha en WordPress con cientos de herramientas, backups y servidores en AWS, para hacer las cosas mucho más fáciles y seguras. ¡WP Rocket gratis!
Qué es el proceso wc-ajax=get_refreshed_fragments de WooCommerce
Este proceso no es más que una llamada de Ajax que hace WooCommerce para recuperar datos del carrito de compras, algo que termina por elevar mucho tiempo el tiempo de carga, y más si es un sitio que tiene muchas visitas, no tiene el alojamiento web adecuado, o está en medio de un evento ecommerce. Esto se acentúa más si el sitio web no está optimizado o si estás usando hosting compartido para alojar tu tienda.
WooCommerce llama a la función “wc-ajax=get_refreshed_fragments” para actualizar los elementos del carrito, mostrar los últimos añadidos, y el total a destiempo de que se recargue o no la página actual, o el comprador esté navegando la tienda. Esto lo hace totalmente sin caché, ya que los carritos son algo dinámicos, y además lo hace inclusive si no hay productos añadidos.
Si vas al código de cada página de tu sitio hecho con WooCommerce, verás algo así como esto:
Las llamadas a Admin Ajax y la carga de página
Como ya sabes, Ajax permite actualizar un fragmento de una página de tu sitio web sin que tengas que actualizar la página por completo en el navegador. Lo que ocurre en este caso particular, es que las llamadas a “admin-ajax.php” a cada rato, retrasan los tiempos de carga de página de manera considerable, además de consumir mas recursos del servidor de lo normal.
El otro problema es que WooCommerce hace esto al pasar cada página, aunque no haya carrito o detalles de productos. Debido a esto se ralentiza la carga en todas las páginas de tu web, aunque no tengan nada relacionado con la tienda online.
Así que no sirve de nada quitar el carrito de una página puntual o entrada. Los tiempos de carga seguirán igual de mal. Lo que hay que hacer idealmente es desactivar la actualización del carrito permanente.
💡 👉 Con WNPower es más fácil. Para detectar si efectivamente lo que está poniendo lento tu WooCommerce es el proceso “wc-ajax=get_refreshed_fragments”, puedes utilizar nuestra herramienta Monitoreo de consumos.
Al ingresar al detalle de procesos, si encontraras algunos de estos dos corriendo, o los dos, o más de uno de cada uno de ellos, diste en el blanco: son la causa probable de la lentitud.
- wc-ajax=get_refreshed_fragments
- wc-ajax=update_order_review
Cómo solucionar la lentitud de WooCommerce causada por wc-ajax=get_refreshed_fragments
Veamos cómo se soluciona la sobrecarga que agrega esta llamada de Ajax a tu WooCommerce y que lo pone lento. Las dos alternativas son instalar un plugin para deshabilitar los cart fragments, y la otra, por supuesto, para usuarios más avanzados: la de insertar algo de código entre los php de WordPress.
✅ Cómo deshabilitar los cart fragments de WooCommerce con un plugin
La manera más fácil de solucionar la lentitud de WooCommerce a causa de “wc-ajax=get_refreshed_fragments” es instalando el plugin Disable Cart Fragments by Optimocha. De otra manera, tendrías que echar manos debajo del capó del WordPress, con lo que podría convertirse en algo un poco más incómodo.
Lo genial de este plugin es que una vez instalado, realiza todos los ajustes necesarios y no requiere de más que instalarlo y activarlo desde tu panel wp-admin.
✅ Cómo deshabilitar los cart fragments de WooCommerce añadiendo código
Si eres un usuario avanzado de WordPress, entonces puedes intentar solucionar el asunto añadiendo código fuente. Lo que tienes que hacer primero es abrir para editar el archivo functions.php con el Administrador de Archivos de cPanel, desde la terminal segura o con tu editor de código favorito, y pegar este script:
/** Desactivar llamadas a cart fragmentes*/ 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'); }
Luego de esto, accede a wp-admin y ve a WooCommerce > Ajustes > Productos > General. Al ingresar, configura estas dos opciones de esta manera y guarda los cambios.
Listo, ahora prueba el rendimiento nuevamente y deberías llevarte una sorpresa. 👍
Conclusión final
Los cart fragments de WooCommerce quitan rendimiento y elevan la carga de tu plan de hosting. Esta función no es vital para el funcionamiento de tu ecommerce, y si está molestando a la performance de tu página web, te recomendamos poner en práctica estas recomendaciones.
Si estás buscando un Hosting WordPress que te acompañe, ¡Eureka! Estás en el lugar correcto. Todos los días nos esforzamos por hacer un ecosistema de alojamiento veloz, seguro y fácil de usar. Descubre hoy nuestros planes de alojamiento web para WordPress y dale a tu site el hogar que merece. 😍