Poměrně častý problém na internetových obchodech s WooCommerce je nadměrné zatěžování procesoru AJAX požadavky nákupního košíku. Fix wc-ajax = get_refreshed_fragments High CPU Usage.
Nadměrné zatížení procesů CPU podle jakéhokoli současného scénáře nedělá nic jiného než snižuje rychlost načítání stránek internetového obchodu, přinést nízké skóre SEO a uživatelské zkušenosti. Méně objednávek na webu.
Obsah
Co je a k čemu slouží dotaz wc-ajax = get_refreshed_fragments
Aby každý pochopil, s pomocí tohoto skriptu AJAX WooCommerce povolit přidávání produktů do košíku a aktualizace nákupního košíku bez obnovení webové stránky. Nákupní košík bude asynchronně komunikovat s hostitelským serverem prostřednictvím AJAX (Asynchronous JavaScript And XML).
Ve výchozím stavu, /?wc-ajax=get_refreshed_fragments
je přítomen na všech stránkách webu, aby mohl sledovat akce Add to Cart uživatele a změny, které se mohou objevit ve widgetu nákupního košíku. Tyto akce jsou tím, co nasazuje procesy CPU a zpomalit rychlost načítání webových stránek. Někdy o 4-5 sekund, což je hodně.
Opraveno wc-ajax = get_refreshed_fragments High CPU Použití (zakázat fragmenty košíku AJAX)
Pokud nepoužíváte widget dynamického nákupního košíku v záhlaví nebo v jiné stálé oblasti obchodu, je nejlepší vzdát se dynamické aktualizace a sledování přidávání/aktualizace akcí košíku.
Můžete to zakázat AJAX Cart Fragments na stránkách archivu a přesměrovat uživatele přímo do nákupního košíku při přidání produktu do košíku.
WooCommerce → Settings → Products.
Pokud chcete nechat tento skript aktivovaný "Add to Cart Ajax", ale aby se nespustil na první stránce obchodu, upravte soubor functions.php aktuálního motivu a přidejte následující kód:
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'); }
Ve scénáři, kde kromě stránek WooCommerce máte také blog nebo jiné personalizované stránky, na kterých nejsou žádné produkty, je dobré fragmenty z nich zakázat.
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');
}
Celková deaktivace a fix wc-ajax = get_refreshed_fragments High CPU Usage (Disable AJAX Cart Fragments) provádí se to pomocí následujícího kódu:
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');
}
}
}
Po zvolení jedné z těchto metod (zejména té poslední) okamžitě zaznamenáte zvýšení rychlosti načítání internetového obchodu a mnohem nižší spotřebu zdrojů na procesoru (CPU).