MageSentinel

Cart fragments και ένα αργό κατάστημα WooCommerce

Τα cart fragments είναι το μικρό αίτημα AJAX που χρησιμοποιεί το WooCommerce για να κρατά ενημερωμένο το mini cart στο header. Σε ένα φορτωμένο κατάστημα μπορεί να σημαίνει ένα αίτημα PHP εκτός cache ανά προβολή σελίδας — φορτίο που ανταγωνίζεται ευθέως το checkout.

Όλα τα άρθρα1 λεπτά ανάγνωσης

Κλεψύδρα πάνω σε τραπέζι

Τι κάνει

Το αίτημα `wc-ajax=get_refreshed_fragments` επιστρέφει τα τρέχοντα περιεχόμενα του καλαθιού ώστε το header να δείχνει τον σωστό αριθμό. Επειδή είναι προσωπικό, δεν μπαίνει σε cache, και τρέχει PHP — με τους ίδιους workers που χρειάζεται το checkout.

Οι πρόσφατες εκδόσεις του WooCommerce φορτώνουν το script μόνο όπου χρειάζεται το mini cart, αλλά themes και plugins συχνά το ξαναφορτώνουν παντού.

Γιατί μετράει για το checkout

Με φορτίο, αυτά τα αιτήματα μπαίνουν σε ουρά μαζί με τα αιτήματα checkout για τους ίδιους PHP workers. Το checkout αργεί πρώτο γιατί δεν μπαίνει σε cache — δείτε WooCommerce υπό φορτίο.

Η απρόσεκτη απενεργοποίηση των fragments φέρνει το αντίθετο πρόβλημα: header που δείχνει άδειο καλάθι μετά την προσθήκη προϊόντος, κάτι που οι πελάτες διαβάζουν ως «η προσθήκη στο καλάθι είναι χαλασμένη».

Πώς το χειρίζεστε

Μετρήστε πρώτα: μετρήστε τα αιτήματα fragments στα logs και τον χρόνο απόκρισης. Αν χρειάζεται, φορτώστε τα fragments μόνο σε σελίδες με mini cart, ή περάστε σε mini cart που ενημερώνεται μόνο μετά από αλλαγές καλαθιού.

Μετά την αλλαγή, δοκιμάστε την προσθήκη στο καλάθι από σελίδες προϊόντων και κατηγοριών και επιβεβαιώστε ότι το header ενημερώνεται. Ένας προγραμματισμένος έλεγχος checkout που ξεκινά από τη σελίδα προϊόντος πιάνει ένα καλάθι που δεν ενημερώνεται πια.

Ελέγξτε το δικό σας κατάστημα τώρα με τον δωρεάν έλεγχο checkout WooCommerce: περνά το checkout σε πραγματικό browser και δείχνει το βήμα όπου σταματά.

Όταν τα σύνολα ή τα μεταφορικά δεν ανανεώνονται, δείτε το WooCommerce update_checkout που δεν δουλεύει.

Συχνές ερωτήσεις

Τι είναι τα cart fragments του WooCommerce;

Ένα αίτημα AJAX (wc-ajax=get_refreshed_fragments) που ανανεώνει το mini cart και τον αριθμό προϊόντων σε αποθηκευμένες σελίδες.

Να απενεργοποιήσω τα cart fragments;

Μόνο όπου δεν χρειάζεστε ζωντανό mini cart· οι νεότερες εκδόσεις του WooCommerce φορτώνουν το script μόνο όταν χρειάζεται. Δοκιμάστε add to cart και mini cart μετά από κάθε αλλαγή.

Γιατί έχουν σημασία για το checkout;

Κάθε αίτημα δεν μπαίνει σε cache και πιάνει PHP worker, οπότε σε φορτωμένα καταστήματα ανταγωνίζονται τα αιτήματα του checkout.