Доста често срещан проблем в онлайн магазините с WooCommerce е прекомерното натоварване на процесора с AJAX заявките на пазарската количка. Fix wc-ajax = get_refreshed_fragments High CPU Usage.
Прекомерно натоварване на процеси CPU от всеки настоящ скрипт, не прави нищо друго освен да намалява скоростта на зареждане на страниците на онлайн магазина, за да донесе нисък резултат за SEO и потребителско изживяване. По-малко поръчки в сайта.
съдържание
Какво е и за какво се използва заявката wc-ajax = get_refreshed_fragments
За разбиране на всички, с помощта на този AJAX скрипт, WooCommerce позволява добавяне на продукти в количката и актуализиране на пазарската количка без опресняване на уеб страницата. Пазарската количка ще комуникира асинхронно с хост сървъра чрез AJAX (асинхронен JavaScript и XML).
По подразбиране, /?wc-ajax=get_refreshed_fragments
присъства във всички страници на сайта, за да следите действията Add to Cart на потребителя и промените, които могат да се появят в изпълнимия модул за пазарска количка. Тези действия са това, което стартира процесите CPU и забавят скоростта на зареждане на уеб страниците. Понякога с 4-5 секунди, което е много.
Фиксиран wc-ajax = get_refreshed_fragments Висок CPU Използване (Деактивиране на фрагменти от кошницата на AJAX)
Ако не използвате динамична джаджа за пазарска количка в заглавката или в друга постоянна област на магазина, най-добре е да се откажете от динамичната актуализация и проследяването на действията за добавяне/актуализиране на количката.
Можете да го деактивирате AJAX Cart Fragments на архивни страници и пренасочва потребителите директно към количката за пазаруване, когато даден продукт бъде добавен в количката.
WooCommerce → Settings → Products.
Ако искате да оставите този скрипт активиран "Add to Cart Ajax", но за да не се изпълнява на първата страница на магазина, редактирайте файла functions.php на текущата тема и добавете следния код:
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'); }
В сценария, където освен страниците WooCommerce също така имате блог или други персонализирани страници, на които няма продукти, добра идея е да деактивирате фрагментите от тях.
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');
}
Пълно дезактивиране и fix wc-ajax = get_refreshed_fragments High CPU Usage (Disable AJAX Cart Fragments) става със следния код:
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');
}
}
}
След като изберете един от тези методи (особено последния), веднага ще забележите увеличаване на скоростта на зареждане на онлайн магазина и много по-ниска консумация на ресурси на процесора (CPU).