Ένα αρκετά κοινό πρόβλημα στα ηλεκτρονικά καταστήματα με WooCommerce είναι η υπερβολική φόρτωση του επεξεργαστή με τα αιτήματα AJAX του καλαθιού αγορών. Fix wc-ajax = get_refreshed_fragments High CPU Usage.
Υπερβολική φόρτωση διαδικασιών CPU με οποιοδήποτε παρόν σενάριο, δεν κάνει τίποτα άλλο από το να μειώνει την ταχύτητα φόρτωσης των σελίδων του ηλεκτρονικού καταστήματος, για να φέρει χαμηλό σκορ SEO και εμπειρίας χρήστη. Λιγότερες παραγγελίες στον ιστότοπο.
Καμπίνα
Τι είναι και τι χρησιμοποιείται το ερώτημα wc-ajax = get_refreshed_fragments
Για την κατανόηση όλων, με τη βοήθεια αυτού του σεναρίου AJAX, WooCommerce επιτρέπουν προσθήκη προϊόντων στο καλάθι και ενημέρωση του καλαθιού αγορών χωρίς ανανέωση της ιστοσελίδας. Το καλάθι αγορών θα επικοινωνεί ασύγχρονα με τον κεντρικό διακομιστή μέσω AJAX (Asynchronous JavaScript And XML).
Από προεπιλογή, /?wc-ajax=get_refreshed_fragments
υπάρχει σε όλες τις σελίδες του ιστότοπου για να παρακολουθείτε τις ενέργειες Add to Cart του χρήστη και τις αλλαγές που ενδέχεται να εμφανιστούν στο widget του καλαθιού αγορών. Αυτές οι ενέργειες είναι που θέτουν τις διαδικασίες CPU και επιβραδύνετε την ταχύτητα φόρτωσης των ιστοσελίδων. Μερικές φορές κατά 4-5 δευτερόλεπτα, που είναι πολλά.
Διορθώθηκε wc-ajax = get_refreshed_fragments High 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).