ปัญหาที่พบบ่อยในร้านค้าออนไลน์ด้วย 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 High CPU การใช้งาน (ปิดการใช้งาน AJAX Cart Fragment)
หากคุณไม่ได้ใช้วิดเจ็ตตะกร้าสินค้าแบบไดนามิกในส่วนหัวหรือในพื้นที่ถาวรอื่นของร้านค้า เป็นการดีที่สุดที่จะยกเลิกการอัปเดตแบบไดนามิกและการติดตามการเพิ่ม/อัปเดตการดำเนินการในรถเข็น
คุณสามารถปิดการใช้งานได้ 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).