Hola!
Como puedo solucionar esto para que mi web vaya más rápida?
4035 /wp-admin/admin-ajax.php?action=pys_get_gdpr_filters_values
2473 /wp-admin/admin-ajax.php
2304 /?wc-ajax=get_refreshed_fragments
Gracias!
Contenido solo visible a usuarios registrados
Hola Adrian,
En donde estas viendo estos url? algún inspector de paginas o algo en especifico? lo que nos compartes es una ruta de algún código que debe ejecutarse para que funcionen ciertas herramientas pero no tenemos el contexto de que te refieres con ellas.
Si nos compartes este contexto podemos verificar para ayudarte.
Un saludo 🖐️
@argenis Hola! Tienes razón, disculpa.
Son indicaciones de un técnico de Webempresa que me dijo que consultara por aquí, copio el texto:
Haciendo un análisis del sitio de las peticiones más recientes he visto que tiene un número muy elevado de las siguientes:
4035 /wp-admin/admin-ajax.php?action=pys_get_gdpr_filters_values
2473 /wp-admin/admin-ajax.php
2304 /?wc-ajax=get_refreshed_fragmentsSi te fijas el último de ellos son peticiones relativas al carrito de tu tienda. Debes aplicar la optimización siguiente que te indica la herramienta:
Deshabilitar Cart Fragments en tu tienda ahorra mucho consumo de recurso: https://www.webempresa.com/blog/lentitud-carrito-compra-tienda-online-woocommerce.htmlLas otras peticiones son justamente a admin-ajax.
El problema de estas peticiones es que no se pueden cachear y tienen un impacto y consumo elevado. Lo habitual es que haya un número moderado de estas peticiones, pero en este caso tu sitio tiene un número demasiado elevado.
Puedes ver que en poco tiempo se han generado más de 2000 peticiones similares.
En cuanto a la optimización de deshabilitar Cart Fragments, ya la había hecho antes de esta respuesta pero no sé si ha funcionado.
Gracias por su ayuda.
Hola Adrián.
Las peticiones a admin ajax no se pueden detener, si que se puede hacer que las peticiones no sean tan constantes y reducir el numero de peticiones que se realizan.
/?wc-ajax=get_refreshed_fragments
WooCommerce llama a " /? Wc-ajax = get_refreshed_fragments " para actualizar los elementos del carrito y el total del carrito de forma asincrónica, es decir, sin la necesidad de actualizar la página del sitio web que está visitando.
.- Accede a WooCommerce > Ajustes > Productos > General
.- activa la casilla «Redirigir a la página del carrito tras añadir productos correctamente» y desactiva la de «Activar botones AJAX de añadir al carrito en los archivos».
.- Desactiva las llamadas de Ajax en la portada y entradas añadiendo lo siguiente en el archivo functions.php que encontrarás en wp-content -> themes -> Tu_plantilla
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'); }
.- Desactiva Los estilos y Scripts de WooCommerce añadiendo lo siguiente en el archivo functions.php
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_account_page() && ! 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' ); } } }
Nota: Antes de añadir el código descarga una copia del archivo para tener el original
wp-admin/admin-ajax.php?action=pys_get_gdpr_filters_values
Este es del plugin Pixel Your Site puedes desactivarlo de las opciones del plugin:
Revisa si con lo que te comento mejora la carga.
Un saludo
Hola Pepe,
Muchas gracias.
Lo de los ajustes de WooCommerce lo tengo como dices y el código también lo he puesto aunque no tan largo el segundo, añadiré el tuyo para ver si funciona mejor. La duda la tengo en si debo ponerlo en la plantilla o en el child theme. Yo lo he puesto en el child theme.
En cuanto al plugin Pixel Your Site, he desactivado la casilla indicada.
Quedo a la espera de resolver la duda de la plantilla. Gracias.
Hola Adrian.
La duda la tengo en si debo ponerlo en la plantilla o en el child theme.
Si utilizas un Child Theme lo añades en el functions del Child Theme con eso te evitas que se pierda cuando se actualice la plantilla.
Un saludo
@pepesoler Genial, es como lo había hecho. Me falta añadir el código que me indicas que es más extenso que el que yo había puesto. Muchas gracias.
Hola Adrian,
Estupendo, quedamos atentos para que nos comentes como ha ido todo.
Saludos 🖐️
@pepesoler Me acabo de dar cuenta que parte de
este código lo he puesto con el plugin Code Snippets siguiendo las indicaciones de soporte de Webempresa. No sé si estaré duplicando (adjunto captura).
Quedo a la espera, gracias.
Hola Adrian,
Puedes dejarlos únicamente en este complemento si así lo deseas y tienes mas control y organización, de hecho puedes separarlos tal como te los compartió Pepe, solo faltaría crear uno nuevo en este plugin de code snippets para el mas largo de todos.
Verifica y nos comentas.
Un saludo 🖐️
@argenis Hola, al añadirlo se han modificado algunas partes de la web, en concreto los productos que se insertan con WooCommerce.
Hola Adrían,
No logro ver exactamente el error que nos comentas, puedes enviarnos una URL de un producto y comentarnos en una imagen lo que sucede. De igual forma ten en cuenta que al retrasar la carga de las llamadas ajax esto ocasiona que ciertas opciones no funcione de forma automática, por ejemplo en el carrito se desactiva la actualización cuando no hay carrito o no se muestran productos.
Un Saludo