Η καθυστερημένη φόρτωση JavaScript είναι μια τεχνική που μειώνει το Total Blocking Time (TBT) σε μια ιστοσελίδα, διαχειριζόμενη σωστά τα αρχεία JavaScript που εμποδίζουν το rendering του περιεχομένου. Με απλά λόγια, προσθέτοντας τα χαρακτηριστικά defer ή async σε μη κρίσιμα scripts, το κύριο thread του browser μένει λιγότερο μπλοκαρισμένο: ο επισκέπτης βλέπει πιο γρήγορα τη σελίδα, μπορεί να κάνει κλικ νωρίτερα και οι μετρήσεις Core Web Vitals βελτιώνονται. Για να εφαρμόσετε καθυστερημένη φόρτωση JavaScript, πρέπει πρώτα να εντοπίσετε ποια αρχεία είναι κρίσιμα, να επιλέξετε defer για scripts με εξαρτήσεις, async για ανεξάρτητα τρίτα scripts, και να μετρήσετε το TBT με εργαλεία όπως PageSpeed Insights, Lighthouse και Chrome DevTools.
Στις σύγχρονες ιστοσελίδες, τα προβλήματα απόδοσης προέρχονται συχνά όχι από εικόνες αλλά από ανεξέλεγκτη χρήση JavaScript. Σε ένα e-shop, φίλτρα προϊόντων, live chat, διαφημιστικά pixels, analytics, σχόλια, εργαλεία A/B testing και scripts του θέματος μπορεί να φορτώνονται όλα μαζί, κρατώντας το κύριο thread του browser απασχολημένο για αρκετό χρόνο. Αυτό γίνεται ιδιαίτερα αισθητό σε κινητά. Ίσως ο χρήστης βλέπει τον τίτλο αλλά όταν πατάει το μενού δεν υπάρχει άμεση ανταπόκριση — και το Lighthouse δείχνει υψηλό TBT.
Σε αυτόν τον οδηγό θα δούμε τι κάνει το defer και το async, πότε να τα χρησιμοποιείτε, πώς να τα εφαρμόσετε σε WordPress και custom projects, πώς να μετρήσετε σωστά το TBT και ποια είναι τα ρεαλιστικά οφέλη. Οι συστάσεις για sites που φιλοξενούνται στην Hostragons βασίζονται σε γενικά web standards, ενώ θα δείξουμε και πώς η σωστή επιλογή hosting, CDN, SSL και caching ενισχύει τη JavaScript βελτιστοποίηση. Hostragons πακέτα web φιλοξενίας
Τι Είναι το TBT και Γιατί Συνδέεται Άμεσα με τη JavaScript;
Το TBT (Total Blocking Time) μετρά τη διάρκεια κατά την οποία το κύριο thread του browser μπλοκάρεται, καθυστερώντας την αλληλεπίδραση του χρήστη με τη σελίδα. Το Lighthouse, σε εργαστηριακά tests, εντοπίζει αύξηση του TBT όταν μεταξύ του First Contentful Paint και του Time to Interactive υπάρχουν πολλές "βαριές" JavaScript εργασίες διάρκειας πάνω από 50 ms. Για παράδειγμα, αν μια JavaScript task διαρκεί 180 ms, τα 130 ms μετά τα πρώτα 50 ms καταγράφονται ως blocking time.
Αυτό το metric είναι κρίσιμο για την εμπειρία του χρήστη. Αν, μόλις φορτωθεί η σελίδα, ο επισκέπτης πατήσει το μενού, το καλάθι ή την αναζήτηση και ο browser ακόμη εκτελεί JavaScript, η ανταπόκριση αργεί. Ο χρήστης το αντιλαμβάνεται ως lag, freeze ή πρόβλημα στη σελίδα. Το 2026 η Google δεν μετράει την εμπειρία με μόνο έναν βαθμό, αλλά sites που προσφέρουν γρήγορη και σταθερή αλληλεπίδραση έχουν πλεονέκτημα στην ικανοποίηση και τις μετατροπές.
Συνηθισμένα συμπτώματα υψηλού TBT
- Στο Mobile PageSpeed Insights, το TBT πάνω από 300 ms.
- Στο Lighthouse, εμφανίζονται alerts όπως Reduce JavaScript execution time ή Minimize main-thread work.
- Το περιεχόμενο εμφανίζεται αλλά το μενού, slider, φίλτρα ή φόρμες αργούν να ανταποκριθούν.
- Scripts τρίτων (διαφημίσεις, chat, analytics) εμφανίζονται ως "βαριά" στο report.
- Σε entry-level Android συσκευές υπάρχουν delays σε scroll και click.
Ως καλό στόχο, το TBT κάτω από 200 ms θεωρείται υγιές για sites περιεχομένου. Για πιο σύνθετα e-shops ή SaaS, χρειάζεται και code splitting, αφαίρεση άχρηστων πακέτων, caching, βελτίωση server, και κρίσιμες ρυθμίσεις CSS. Παρόλα αυτά, η καθυστερημένη φόρτωση JavaScript είναι ένα από τα πρώτα, γρήγορα και αποδοτικά optimization βήματα.
Τι Είναι Defer και Async;
Όταν ένα script tag περιλαμβάνεται στο HTML χωρίς χαρακτηριστικά, ο browser σταματά το parsing του HTML, κατεβάζει το JavaScript, το εκτελεί και μετά συνεχίζει το rendering της σελίδας. Αυτό χρειάζεται μόνο για κρίσιμα scripts, αλλιώς προκαλεί περιττό delay. Τα χαρακτηριστικά defer και async αλλάζουν αυτή τη συμπεριφορά, δίνοντας διαφορετικούς κανόνες για το πότε θα κατεβεί και θα εκτελεστεί το script.
Πώς λειτουργεί το defer;
Με το defer, το script κατεβαίνει στο background όσο συνεχίζεται το parsing του HTML, αλλά εκτελείται μόλις ολοκληρωθεί το parsing του εγγράφου. Αν υπάρχουν πολλά scripts με defer, διατηρείται η σειρά τους όπως στο HTML. Έτσι, είναι ιδανικό για scripts που εξαρτώνται μεταξύ τους — π.χ. πρώτα μια βιβλιοθήκη, μετά το theme script που βασίζεται σε αυτή.
Παράδειγμα: <script defer src="/js/app.js"></script>. Το app.js κατεβαίνει χωρίς να μπλοκάρει το rendering και εκτελείται όταν το DOM είναι έτοιμο. Τα σύγχρονα browsers υποστηρίζουν ευρέως το defer και είναι αξιόπιστο για κλασικά scripts.
Πώς λειτουργεί το async;
Με το async, το script επίσης κατεβαίνει όσο γίνεται parsing του HTML, αλλά εκτελείται αμέσως μόλις ολοκληρωθεί το κατέβασμα. Το HTML parsing διακόπτεται προσωρινά. Το async δεν εγγυάται σειρά — όποιο script κατέβει πρώτο, εκτελείται πρώτο. Είναι ιδανικό για ανεξάρτητα scripts όπως analytics, διαφημίσεις, pixels, widgets ή social media scripts.
Παράδειγμα: <script async src="/js/analytics.js"></script>. Το analytics.js δεν πρέπει να περιμένει άλλα scripts ή να εξαρτάται από βιβλιοθήκες όπως το jQuery. Αν έχει εξάρτηση, το async μπορεί να προκαλέσει σφάλματα. Είναι γρήγορο αλλά θέλει σωστή ταξινόμηση.
Πίνακας Σύγκρισης Defer και Async
| Χαρακτηριστικό | defer | async |
|---|---|---|
| Μπλοκάρει το HTML parsing κατά το download; | Όχι, το script κατεβαίνει στο background. | Όχι, το script κατεβαίνει στο background. |
| Χρόνος εκτέλεσης | Αμέσως μετά το HTML parsing. | Μόλις ολοκληρωθεί το download. |
| Εγγύηση σειράς | Ναι, διατηρείται η σειρά του HTML. | Όχι, όποιο script κατέβει πρώτο, εκτελείται πρώτο. |
| Ιδανική χρήση | Theme scripts, modules με εξαρτήσεις, κύρια app αρχεία. | Ανεξάρτητα analytics, διαφημίσεις, pixels, widgets. |
| Ρίσκο | Μπορεί να καθυστερήσει scripts που πρέπει να τρέξουν πριν το DOM. | Σε scripts με dependencies μπορεί να προκαλέσει race conditions και errors. |
| Επίδραση στο TBT | Αξιόπιστη και ισορροπημένη μείωση του blocking στο αρχικό load. | Εύκολα απομονώνει φορτία τρίτων για πιο γρήγορη εκκίνηση. |
Ο πρακτικός κανόνας: αν το script πρέπει να τρέξει στη σωστή σειρά, ξεκινήστε με defer. Αν είναι τελείως ανεξάρτητο, επιλέξτε async. Αν δεν είστε σίγουροι, δοκιμάστε πρώτα defer σε staging περιβάλλον, ελέγξτε τα console errors και τις κρίσιμες αλληλεπιδράσεις. Οδηγός περιβάλλοντος προετοιμασίας και αντιγράφου ασφαλείας
Βήμα-Βήμα Σχέδιο Εφαρμογής για Καθυστερημένη Φόρτωση JavaScript
Η τυχαία προσθήκη defer ή async σε κάθε script μπορεί αρχικά να ανεβάσει το score, αλλά σε live site μπορεί να προκαλέσει προβλήματα σε checkout, αναζήτηση, μενού, validation forms ή cart. Η ορθή προσέγγιση περιλαμβάνει μέτρηση, ταξινόμηση, μικρές αλλαγές, testing και monitoring.
1. Μετρήστε την υπάρχουσα απόδοση
Πριν ξεκινήσετε, κρατήστε baseline. Μετρήστε PageSpeed Insights scores σε mobile και desktop. Σημειώστε στο Lighthouse το TBT, First Contentful Paint, Largest Contentful Paint και Speed Index. Στο Chrome DevTools Performance, εξετάστε το main thread — τα μεγάλα κίτρινα blocks δείχνουν το κόστος parsing, compiling και execution της JavaScript.
Για παράδειγμα: αρχικό TBT mobile 780 ms, JavaScript execution time 2,8 sec, main-thread work 4,5 sec. Αν μετά το optimization το TBT πέσει στα 280 ms, έχετε ~64% βελτίωση. Τέτοια records βοηθούν την ομάδα να δει ποιες αλλαγές δουλεύουν.
2. Καταγράψτε όλα τα scripts
Λίστα όλα τα JavaScript αρχεία από τον source code ή το Network tab. Καταγράψτε προέλευση, μέγεθος, πότε χρειάζονται και dependencies. Χωρίστε τα scripts:
- Κρίσιμα scripts: Απαραίτητα για το πρώτο view ή navigation.
- Scripts με dependencies: Theme, sliders, galleries, app modules.
- Ανεξάρτητα τρίτα scripts: Analytics, διαφημίσεις, pixels, chat, social widgets.
- Άχρηστα ή παλιά scripts: Αρχεία από μη χρησιμοποιούμενα plugins.
- Scripts για συγκεκριμένες σελίδες: Π.χ. validation μόνο στη σελίδα επικοινωνίας.
Η καλύτερη optimization είναι πολλές φορές η αφαίρεση άχρηστων scripts. Ένα minified αρχείο 90 KB μπορεί να κοστίσει πάνω από 300 ms σε parsing και execution σε mobile. Καθαρίστε πρώτα, μετά εφαρμόστε defer/async.
3. Επιλέξτε scripts για defer
Συνήθως theme scripts, μενού behaviors, sliders, galleries και app bundles είναι καλές περιπτώσεις για defer. Προσοχή όμως: scripts που βασίζονται σε document.write ή απαιτούν block behavior πριν το DOM δεν πρέπει να καθυστερούνται.
Σε WordPress themes, τα jquery-migrate, theme main files και plugin scripts μπορεί να έχουν σύνθετες dependencies. Το να κάνετε async το jQuery core είναι επικίνδυνο — πολλά plugins το περιμένουν. Προτιμήστε controlled defer ή optimised loading σε επίπεδο plugin. Οδηγός βελτιστοποίησης ταχύτητας WordPress
4. Επιλέξτε scripts για async
Google Analytics, ad tags, Facebook Pixel, LinkedIn Insight Tag, chat widgets και sharing scripts είναι καλά για async. Όχι όλα τα τρίτα scripts είναι ίδια: κάποια live chats θέλουν αμέσως user session, κάποια ads περιμένουν συγκεκριμένο container. Ελέγξτε το documentation.
Τα analytics σε async σπάνια βλάπτουν το UX, αλλά ελέγξτε triggers για να μην χαθεί data. Αν χρησιμοποιείτε tag manager, μην βάζετε όλα τα tags σε ένα container — ορίστε triggers. Π.χ. script για σχόλια μόνο σε σελίδες με φόρμα σχολίων, script για προϊόντα μόνο σε σελίδες προϊόντων.
5. Προσθέστε conditional και event-based loading
Defer και async είναι καλό ξεκίνημα, αλλά η δυναμική φόρτωση scripts βάσει χρήστη έχει μεγαλύτερο impact στο TBT. Το live chat μπορεί να φορτώνει μόνο όταν ο χρήστης μείνει 5 δευτερόλεπτα ή πατήσει το help. Το map embed να φορτώνει όταν γίνει scroll στην επικοινωνία. Το video script να καλείται μόνο όταν γίνει κλικ στο play.
Αυτό είναι ιδιαίτερα αποτελεσματικό σε περιεχόμενο και εταιρικά sites, γιατί ο χρήστης δεν χρειάζεται όλα τα widgets σε κάθε σελίδα. Αν αφαιρέσετε 200 KB JavaScript από το πρώτο load, το TBT μειώνεται εκατοντάδες ms σε αδύναμα κινητά.
6. Κάντε testing και σταδιακή εφαρμογή
Δοκιμάστε τις αλλαγές σε staging. Ελέγξτε όλες τις κρίσιμες σελίδες: homepage, κατηγορίες, προϊόντα/υπηρεσίες, επικοινωνία, login, checkout. Εξετάστε τα console errors. Αν δείτε Cannot read property, is not defined ή undefined function, έχετε θέμα με order ή dependencies.
Στα live sites, προχωρήστε σταδιακά: πρώτα βελτιστοποιήστε ανεξάρτητα τρίτα scripts, μετά theme scripts. Μετά από κάθε αλλαγή, μετρήστε το Lighthouse με ίδιο network/device simulation. Μην βασίζεστε σε ένα test — κάντε τρία και πάρτε τον μέσο όρο.
Σημαντικές Σημειώσεις για Defer και Async σε WordPress
Στο WordPress, τα JavaScript αρχεία φορτώνονται μέσω wp_enqueue_script από themes και plugins. Από το 2026, οι νέες εκδόσεις του WordPress επιτρέπουν πιο ελεγχόμενο script strategy, αλλά παλιά themes, page builders και μη συμβατά optimization plugins μπορεί να προκαλέσουν conflicts.
Αν χρησιμοποιείτε performance plugin, μην κάνετε defer όλα τα scripts με ένα click — φτιάξτε exclusion list. Checkout, login, admin bar, security και captcha scripts είναι ευαίσθητα. Σε WooCommerce sites, test τα cart fragments, payment gateway scripts και variation selectors. Λύσεις WooCommerce hosting
Η πρακτική σειρά: αφαιρέστε άχρηστα plugins, κάντε conditional loading όπου χρειάζεται, εφαρμόστε defer σε theme/plugins, τέλος async ή delayed loading σε ανεξάρτητα τρίτα scripts. Έτσι μειώνετε το risk για μεγάλες βλάβες σε μία αλλαγή.
Τι να Προσέξετε σε Custom Software και Framework Projects
Σε React, Vue, Angular, Next.js, Nuxt και άλλα σύγχρονα frameworks, η JavaScript optimization δεν είναι μόνο θέμα HTML defer. Παίζουν ρόλο το bundle size, code splitting, tree shaking, dynamic import και hydration. Ένα μεγάλο bundle 700 KB, ακόμα κι αν φορτωθεί με defer, μπορεί να μπλοκάρει το main thread στην εκτέλεση.
Χρησιμοποιήστε code splitting ανά route. Όταν ο χρήστης είναι στην αρχική, μην κατεβάζετε admin panel, chart libraries ή advanced editors. Τα βαριά components να φορτώνονται on-demand με dynamic import. Εντοπίστε άχρηστες dependencies με package analysis. Προτιμήστε ελαφριές libraries για date, chart ή animation όπου γίνεται.
Σε server-side rendering ή static sites, προσέξτε το hydration: ακόμα κι αν το HTML έρθει γρήγορα, αν ενεργοποιηθούν εκατοντάδες components ταυτόχρονα, το TBT ανεβαίνει. Σε μη interactive περιεχόμενο, αποφύγετε περιττό client-side JavaScript — αυτό είναι κεντρικό στη νέα προσέγγιση performance του 2026.
Hosting, Server Response και Απόδοση JavaScript
Το TBT εξαρτάται από το JavaScript execution στον browser, αλλά το hosting επηρεάζει έμμεσα. Κακή TTFB, έλλειψη compression, μη υποστήριξη HTTP/2 ή HTTP/3, φτωχό caching και μακρινή τοποθεσία server καθυστερούν το download των scripts. Μεγάλη καθυστέρηση στο download σημαίνει μεγαλύτερη διάρκεια loading και χειρότερη εμπειρία.
Ένα ποιοτικό hosting με Brotli/Gzip compression, σωστό browser caching, ενημερωμένο PHP, γρήγορο disk και CDN υποστήριξη βοηθά στη βελτιστοποίηση. Η σωστή εγκατάσταση SSL είναι επίσης σημαντική για νέα browser features, HTTP/2 και ασφαλείς τρίτες συνδέσεις. Hostragons πιστοποιητικά SSL Hostragons έρευνα τομέα
Για παράδειγμα, ένα JavaScript script χωρίς compression είναι 320 KB, αλλά με Brotli πέφτει στα 95 KB. Αυτό δεν μειώνει το TBT αναλογικά, γιατί το TBT μετρά το execution, αλλά το download γίνεται πιο γρήγορο και το overall loading βελτιώνεται. Τα defer, async, caching και καλό hosting πάνε μαζί.
Λίστα Ελέγχου για Μέτρηση και Επαλήθευση
Για να δείτε αν το optimization δουλεύει, μην βασίζεστε μόνο στο PageSpeed score. Το παρακάτω checklist βοηθά στη σωστή αξιολόγηση:
- Συγκρίνετε το mobile TBT πριν και μετά την αλλαγή.
- Μειώθηκαν τα πιο "βαριά" scripts στο report JavaScript execution time;
- Στο Chrome DevTools Performance, έπεσε ο αριθμός των long tasks;
- Υπάρχουν JavaScript errors στο console;
- Δουλεύουν σωστά μενού, search, φίλτρα, φόρμες, καλάθι, checkout;
- Τα τρίτα analytics και ad tags λειτουργούν σωστά;
- Υπάρχει βελτίωση σε INP και interaction delays στα real user metrics;
- Έγινε re-test μετά από cache cleaning;
Διαχωρίστε lab και real-world data. Το TBT είναι laboratory metric (Lighthouse), ενώ το INP (Interaction to Next Paint) είναι πλέον πιο καθοριστικό στο real-user experience. Η μείωση του TBT βοηθά συνήθως και το INP, γιατί το main thread μπλοκάρεται λιγότερο.
Συχνά Λάθη και Πώς να τα Αποφύγετε
Async σε όλα τα scripts ταυτόχρονα
Ένα συχνό λάθος. Το async δεν εγγυάται σειρά, και μπορεί να προκαλέσει random errors σε scripts με dependencies. Αυτό που φαίνεται σωστό σε ένα page μπορεί να χαλάσει σε αργή σύνδεση ή άλλο browser. Προτιμήστε defer όπου υπάρχουν dependencies.
Λανθασμένο defer σε jQuery και plugins
Σε WordPress, πολλά plugins βασίζονται στη σειρά φόρτωσης του jQuery. Αν κάνετε async το jQuery core, τα plugin scripts μπορεί να τρέξουν πριν φορτωθεί το jQuery. Δείτε τα network dependencies και βάλτε critical scripts σε exclusion lists.
Ανεξέλεγκτα scripts τρίτων
Ένας ιδιοκτήτης site συχνά βελτιστοποιεί τα theme scripts αλλά ξεχνά ad, chat και analytics. Ωστόσο, τα reports δείχνουν ότι τα third-party scripts είναι συχνά τα πιο βαριά. Καταργήστε άχρηστα tags, χρησιμοποιήστε triggers, και όταν χρειάζεται καθυστερήστε τη φόρτωση μέχρι την αλληλεπίδραση του χρήστη.
Plugins χωρίς μέτρηση
Performance plugins είναι χρήσιμα, αλλά χωρίς μέτρηση μπορεί να προσθέσουν νέο JavaScript/CSS load. Εντοπίστε το πρόβλημα, μετά επιλέξτε tool, και επιβεβαιώστε με test report ότι όντως το TBT μειώνεται.
Αγνοώντας conflicts με cache και minification
Όταν συνδυάζονται minification, concatenation, defer και async, η σειρά αρχείων μπορεί να αλλάξει. Αυτό οδηγεί σε απρόβλεπτα errors, ειδικά αν χρησιμοποιείτε CDN, server cache και app cache μαζί. Κάντε πάντα cache purge σε όλα τα layers μετά τις αλλαγές.
Ρεαλιστικό Σενάριο Βελτιστοποίησης
Ας υποθέσουμε ένα μεσαίο εταιρικό site με 18 JavaScript requests στην αρχική: 5 για theme/μενού, 4 για sliders/animations, 3 για forms/maps, 6 για analytics/pixels/live chat. Αρχικό Lighthouse TBT στη mobile έκδοση: 920 ms.
Πρώτο βήμα: αφαιρούνται δύο άχρηστα animation plugins, -140 KB JavaScript load. TBT πέφτει στα 760 ms. Δεύτερο: theme και slider scripts γίνονται defer, ελέγχεται η σειρά. TBT 480 ms. Τρίτο: το map script φορτώνεται μόνο στο contact section, το live chat ξεκινά μετά από 7 sec, analytics/pixels γίνονται async. Τελική μέτρηση: TBT 210 ms.
Το σενάριο δείχνει ότι δεν υπάρχει μαγικό setting — χρειάζεται layered προσέγγιση. Defer και async είναι ισχυρά, αλλά το καλύτερο αποτέλεσμα έρχεται με αφαίρεση άχρηστου κώδικα, conditional loading, σωστό caching και ποιοτική υποδομή.
Συμπέρασμα: Ισορροπημένη και Ελεγμένη JavaScript Στρατηγική για Χαμηλό TBT
Η καθυστερημένη φόρτωση JavaScript είναι από τους πιο πρακτικούς και αποτελεσματικούς τρόπους για να μειώσετε το TBT στη σελίδα σας. Το defer είναι ασφαλές για scripts που πρέπει να εκτελεστούν σε σειρά και μετά το DOM, ενώ το async είναι ιδανικό για ανεξάρτητα τρίτα scripts. Για σωστή βελτιστοποίηση: μετρήστε πρώτα, ταξινομήστε scripts, αφαιρέστε άχρηστα, κάντε σταδιακά test και παρακολουθήστε το πραγματικό user experience.
Η χρήση γρήγορης, ασφαλούς και scalable υποδομής στην Hostragons, συνδυασμένη με JavaScript optimization, caching και σωστή SSL εγκατάσταση, προσφέρει κορυφαία web performance. Για να βελτιώσετε το TBT, ξεκινήστε με report, προχωρήστε με μικρά αλλά μετρήσιμα βήματα. Για hosting και performance, δείτε τις λύσεις της Hostragons. Hostragons πακέτα web φιλοξενίας
Συχνές Ερωτήσεις
Μπορούν defer και async να χρησιμοποιηθούν ταυτόχρονα;
Αν βάλετε defer και async μαζί σε ένα script tag, τα σύγχρονα browsers δίνουν προτεραιότητα στο async, χάνοντας τη σειρά. Γι’ αυτό δεν συνιστάται να συνδυάζονται. Χρησιμοποιήστε defer όπου υπάρχει dependency, async όπου όχι.
Η καθυστερημένη φόρτωση JavaScript βελτιώνει άμεσα το SEO ranking;
Δεν εγγυάται άμεση βελτίωση ranking, αλλά βελτιώνει το page experience, interaction speed και Core Web Vitals, που ενισχύουν το SEO. Γρήγορες σελίδες αυξάνουν την ικανοποίηση, τη μετατροπή και την αντιληπτή ποιότητα.
Είναι ασφαλές να βάλω defer σε όλα τα JavaScript αρχεία;
Όχι. Κάποια scripts πρέπει να τρέξουν στην αρχή ή εξαρτώνται από συγκεκριμένη σειρά loading. Ελέγξτε σκοπό, dependencies και χρόνο εκτέλεσης πριν αλλάξετε κάθε script — κάντε test σε staging πρώτα.
Αρκούν μόνο defer και async για να μειώσω το TBT;
Σε μικρά/μεσαία sites φέρνουν μεγάλη βελτίωση. Σε sites με frameworks, πολλά third-party scripts και μεγάλα bundles χρειάζονται extra μέτρα: code splitting, αφαίρεση άχρηστου JavaScript, conditional loading, caching και δυνατή υποδομή.
Ποια scripts στο WordPress δεν πρέπει να γίνουν async;
Scripts με dependency στο jQuery, checkout/cart scripts, validation, security και critical theme functions δεν πρέπει να γίνουν async τυχαία. Αν χαλάσει η σειρά, ο χρήστης δεν θα μπορεί να κάνει ενέργειες. Δοκιμάστε πρώτα defer, ή βάλτε exclusions όπου χρειάζεται.