Website

Paano Pababain ang Total Blocking Time (TBT) sa Iyong Website Gamit ang Defer/Async na JavaScript Loading

  • 12 minutong pagbasa
  • Team ng Hostragons
Paano Pababain ang Total Blocking Time (TBT) sa Iyong Website Gamit ang Defer/Async na JavaScript Loading

Ang delayed o “defer/async” na JavaScript loading ay isang paraan para mabawasan ang Total Blocking Time (TBT) sa iyong website. Sa simpleng salita, nilalagay mo ang defer o async attribute sa mga script na hindi kritikal, kaya’t hindi na-block ang main thread ng browser, at mas mabilis makikita at magagamit ng bisita ang iyong site. Ang resulta: mas maaga silang makakapindot, mas mataas ang Core Web Vitals scores, at mas maganda ang user experience. Upang ma-implement ito, tukuyin muna ang mga critical at non-critical scripts, gamitin ang defer sa mga may dependencies, async sa independent na third-party scripts, at sukatin ang TBT gamit ang PageSpeed Insights, Lighthouse, at Chrome DevTools.

Sa mga modernong website, ang performance problem ay madalas hindi dahil sa images kundi sa hindi kontroladong JavaScript. Sa isang e-commerce site, sabay-sabay naglo-load ang product filters, live chat, ad pixels, analytics, comments plugin, A/B test tools, at theme scripts—ang main thread ng browser ay natatabunan. Lalo itong halata sa mobile devices: kahit makita na ang headline, baka hindi agad mag-react ang menu sa tap, at mataas ang TBT sa Lighthouse.

Sa gabay na ito, tatalakayin natin kung ano ang ginagawa ng defer at async, kailan dapat gamitin, paano i-apply sa WordPress at custom projects, paano mag-measure nang tama, at kung ano ang realistic na improvements sa TBT. Ang mga tips ay applicable sa Hostragons infrastructure at sumusunod sa web standards, pati na sa tamang hosting, CDN, SSL, at caching na nagpapalakas sa JavaScript optimization. Hostragons Mga Paket ng Web Hosting

Ano ang TBT at Bakit Malapit ang Ugnayan nito sa JavaScript?

Ang TBT o Total Blocking Time ay nagme-measure kung gaano katagal bago maging interactive ang page. Sa Lighthouse lab tests, tumataas ang TBT kapag maraming mahahabang JavaScript tasks na lumampas ng 50 milliseconds sa pagitan ng First Contentful Paint at Time to Interactive. Halimbawa, kung may JS task na tumagal ng 180ms, ang 130ms ng iyon ay dagdag sa TBT.

Kritikal ang metric na ito para sa user experience: matapos mag-load ang page, kapag tinap ang menu, add-to-cart, o search box, kung nag-e-execute pa ang JavaScript, delayed ang response. Nararamdaman ng user na parang nag-lag, o sira ang site. Sa 2026 SEO standards, hindi man single-point ang ranking, pero ang mabilis at responsive sites ay mas mataas ang user satisfaction at conversion rates.

Mga Karaniwang Sintomas ng Mataas na TBT

  • TBT sa Mobile PageSpeed Insights report ay higit sa 300ms.
  • Lighthouse report ay nagpapakita ng “Reduce JavaScript execution time” o “Minimize main-thread work” warnings.
  • Visible ang page, pero delayed ang response ng menu, slider, filter, o forms.
  • Third-party ad, live chat, o analytics scripts ay may mataas na cost sa report.
  • Sa entry-level Android devices, ramdam ang lag sa scroll at tap.

Ang “healthy” TBT target ay below 200ms para sa content sites. Sa mas komplikadong e-commerce o SaaS, kailangan ng code splitting, pagtanggal ng unnecessary packages, caching, server response improvements, at critical CSS optimization. Pero ang deferred JavaScript loading ay kadalasan unang solusyon na mabilis ang resulta.

Ano ang Defer at Async?

Kapag ginamit ang standard script tag sa HTML, hihinto ang browser sa parsing para i-download at i-execute ang JavaScript, saka lang itutuloy ang page rendering. Para sa critical scripts, okay ito—pero kapag lahat ng scripts ay ganito, tumatagal ang loading. Ang defer at async ay attributes na binabago ang behavior na ito.

Paano gumagana ang Defer?

Sa defer, magpa-parsing ang HTML habang dinadownload ang script sa background. Ang execution ay mangyayari pagkatapos ma-parse ang buong HTML. Ang scripts na may defer ay sinusunod ang order ng pagkakasulat sa HTML—kaya ideal ito para sa scripts na may dependencies. Halimbawa, library muna, tapos theme script.

Sample usage: <script defer src=/js/app.js></script>. Hindi na-block ang initial render, at mag-e-execute ang app.js kapag ready na ang DOM. Supported ito sa modern browsers at mainam sa conventional scripts.

Paano gumagana ang Async?

Sa async, dinadownload din ang script habang nagpa-parsing ang HTML, pero mag-e-execute ito agad pag tapos ang download. Pwedeng huminto sandali ang parsing. Walang order guarantee: ang unang matapos, yun ang mauunang mag-execute. Kaya ang async ay para sa independent scripts tulad ng analytics, ads, pixels, widgets, at social media.

Sample usage: <script async src=/js/analytics.js></script>. Kung dependent ang analytics.js sa ibang scripts, risk ito. Kaya async ay mabilis, pero kailangan ng tamang classification.

Defer vs Async: Comparison Table

Defer vs Async: Comparison Table
Katangiandeferasync
Na-block ba ang HTML parsing habang dinadownload?Hindi, background download.Hindi, background download.
Kailan nag-e-execute?Pagkatapos ng HTML parsing.Kaagad pagkatapos ng download.
Order guaranteeMeron, sinusunod ang order sa HTML.Wala, race condition.
Best use caseTheme scripts, dependent modules, main app scripts.Independent analytics, ad, pixel, widget codes.
RiskMay delay kung kailangan agad mag-execute.Risk sa dependencies, pwedeng mag-error.
TBT impactSafe at balanced sa pag-reduce ng blocking.Effective sa paghiwalay ng third-party loads.

Praktikal na rule: Kung kailangan ng sequence, defer ang gamitin. Kung independent, async. Kung di sigurado, mag-test muna sa staging environment, check ang console errors at critical interactions. Gabaysa sa Staging Environment at Backup

Step-by-Step Plan para sa Delayed JavaScript Loading

Hindi dapat basta-basta lagyan ng defer/async ang lahat ng script tags—baka masira ang critical functions tulad ng payment, search, menu, validation, o cart. Ang tamang proseso ay: measure, classify, gradual change, test, at monitor.

1. Sukatin ang Current Performance

Gumawa ng baseline. Gamitin ang PageSpeed Insights para sa mobile at desktop scores. Sa Lighthouse, i-record ang TBT, First Contentful Paint, Largest Contentful Paint, at Speed Index. Sa DevTools Performance tab, tingnan ang main thread—mahahaba at dilaw na blocks ay usually JavaScript parsing, compiling, at execution.

Halimbawa, gumawa ng table: mobile TBT 780ms, JavaScript execution time 2.8s, main-thread work 4.5s. Pagkatapos ng optimization, bumaba ang TBT sa 280ms (64% improvement). Mas madali makita kung aling changes ang effective.

2. Ilista lahat ng JavaScript Scripts

Sa source code o Network tab, enumerate lahat ng JS files. Tukuyin ang source, size, kailan kailangan, at dependencies. Pwede i-group:

  • Kritikal: Kailangan agad para mag-display o mag-navigate.
  • Dependent local scripts: Theme, slider, gallery, app modules.
  • Independent third-party scripts: Analytics, ads, pixel, chat, social.
  • Unused/legacy scripts: Hindi na ginagamit.
  • Conditional scripts: Halimbawa, form validation sa contact page lang.

Ang pinakamagandang optimization ay minsan hindi defer kundi pagtanggal ng unnecessary scripts. Ang isang 90KB compressed file ay pwedeng mag-cost ng 300ms sa parsing/execution sa mobile. Linisin muna bago mag-delay.

3. Tukuyin ang Mga Script na Pwedeng i-Defer

Usually, theme scripts, menu behaviors, slider codes, gallery modules, at app bundles ay good candidates for defer. Pero dapat hindi ito heavily dependent sa document.write o blocking na methods, at okay lang na mag-execute pagkatapos ng DOM.

Sa WordPress, jQuery migrate, main theme file, at plugin scripts ay may dependencies. Async ang jQuery core ay risky—maraming plugins ang umaasa sa sequence. Kaya defer sa mga dependent scripts, o optimized plugin loading. Gabayan sa pag-optimize ng bilis ng WordPress

4. Tukuyin ang Mga Script na Pwedeng i-Async

Google Analytics, ad tags, Facebook Pixel, LinkedIn Insight Tag, chat widgets, at social share codes ay puwedeng async. Pero hindi lahat ng third-party scripts ay pareho—ang iba ay kailangan ng page/session initialization, ang iba ay may container sequence. Check ang documentation.

Ang async sa analytics ay usually safe. Para maiwasan ang data loss, check ang triggers sa real-time reports. Sa tag manager, ayusin ang tag triggers—halimbawa, huwag i-load ang comment tracking kung walang comment form, o product interaction tracking sa non-product pages.

5. Gumamit ng Conditional at Event-Based Loading

Defer at async ay good start, pero mas advanced ang event-based loading—mas malaking epekto sa TBT. Halimbawa, ang live chat ay mag-load lang pag tap ang help button o pagtagal ng 5 seconds. Map embed script, mag-load lang pag-scroll sa contact section. Video script, mag-load lang pag-click ng play.

Bagay ito sa content at corporate sites—hindi lahat ng widget ay kailangan sa bawat page. Ang pagtanggal ng 200KB JS sa initial load ay malaki ang epekto sa lag lalo na sa mobile.

6. Test at Gradual Deployment

Mag-test muna sa staging, huwag agad sa live site. Manual testing sa homepage, category, product/service page, contact, login, at checkout. Check ang console errors—“Cannot read property”, “is not defined”, o “undefined function” ay sign ng dependency problem.

Sa live deployment, unahin muna ang third-party scripts, pagkatapos theme scripts. Gawin ang Lighthouse report sa parehong network/device simulation. Huwag mag-rely sa single measurement—average ng 3 tests ang mas accurate.

Paano I-apply ang Defer at Async sa WordPress Sites

Sa WordPress, ang JavaScript ay niloload gamit ang wp_enqueue_script. Sa modern WordPress (2026 onwards), mas kontrolado ang script strategies. Pero may conflicts sa old themes, page builders, at incompatible optimization plugins.

Kung gagamit ng performance plugin, huwag “one-click” defer sa lahat. Gumawa ng exclusion list—payment page, login, admin bar, security validation, captcha ay sensitive. Sa WooCommerce, dapat i-test ang cart fragments, payment gateway scripts, at variation selectors. Mga Solusyon sa WooCommerce Hosting

Practical order sa WordPress: Tanggalin muna ang unused plugins. Conditional loading ng plugin scripts. Defer sa theme/plugin scripts. Async o delayed loading sa independent third-party codes. Ito ay para maiwasan ang big breaks.

Pag-iingat sa Custom Software at Framework Projects

Sa React, Vue, Angular, Next.js, Nuxt, at modern frameworks, hindi lang defer sa HTML ang kailangan. Bundle size, code splitting, tree shaking, dynamic import, at hydration cost ay factors sa TBT. Kahit defer, kung isang bundle ay 700KB, matagal pa rin ang blocking.

Sa custom projects, gawin ang route-based code splitting—huwag mag-load ng admin panel, chart library, o editor code sa homepage. Gumamit ng dynamic import sa heavy components. Alisin ang unused dependencies gamit ang bundle analyzer tools. Subukan ang mas magaan na libraries sa halip na malalaking date, chart, or animation packages.

Sa SSR o static generation, kahit mabilis ang HTML, kung sabay-sabay ang hydration ng hundreds of components, tataas ang TBT. Iwasan ang unnecessary client-side JavaScript sa non-interactive content—ito ang core ng performance sa 2026.

Hosting, Server Response, at JavaScript Performance

Directly, TBT ay execution sa browser; pero ang hosting ay may indirect impact. Mabagal na TTFB, walang compression, walang HTTP/2 o HTTP/3, poor caching, o malayo ang server ay nagdudulot ng delayed JS arrival, mas mahaba ang page lifecycle, at pangit ang UX.

Ang quality hosting ay may Brotli/Gzip compression, browser cache, updated PHP, fast disk, at CDN integration. Ang tamang SSL setup ay mahalaga sa modern browsers, HTTP/2, at secure third-party integrations. Hostragons Mga Sertipiko ng SSL Hostragons Pagsusuri ng Domain

Halimbawa, ang JS file na 320KB ay pwedeng maging 95KB sa Brotli. Hindi direktang bababa ang TBT, pero mas mabilis ang download, mas efficient ang resource prioritization, at mas maganda ang overall loading. Kaya dapat sabay-sabay ang defer, async, caching, at hosting.

Checklist para sa Measurement at Validation

Hindi sapat ang PageSpeed score lang. Heto ang checklist:

  • Na-compare ba ang mobile TBT before at after?
  • Nabawasan ba ang JavaScript execution time ng pinakamabigat na files?
  • Sa DevTools, nabawasan ba ang long tasks?
  • May JavaScript errors ba sa console?
  • Working ba ang menu, search, filter, form, cart, at checkout?
  • Tama ba ang triggering ng analytics at ad tags?
  • Improved ba ang real user data sa INP at interaction delay?
  • Na-clear ba ang cache at na-test ulit?

Ang mahalaga: ihiwalay ang lab (Lighthouse TBT) at field (real user INP) data. TBT ay lab metric, pero ang pagbaba nito ay kadalasang nagbibigay ng INP improvement, dahil mas konti ang thread blocking.

Mga Karaniwang Pagkakamali at Paano Iwasan

Async sa Lahat ng Scripts

Pinakamadalas na mistake. Walang sequence guarantee ang async, kaya pwedeng magka-error ang dependent scripts. Sa isang page, baka okay—pero sa mabagal na connection o ibang browser, biglang sira. Sa dependent scripts, defer ang mas safe.

Maling Pag-delay ng jQuery at Dependent Plugins

Sa WordPress, maraming plugin ang sumasandal sa jQuery order. Async ang jQuery core ay mag-cause ng plugin errors. Ang solution: review ang dependency network at ilagay sa exclusion list ang critical scripts.

Hindi Nababantayan ang Third-Party Scripts

Habang in-optimize ang theme scripts, nakakalimutan ang ad, chat, at analytics codes. Sa Lighthouse, kadalasang pinakamabigat ang third-party sources. Tanggalin ang unused tags, conditional triggers, at kung puwede, event-based loading.

Pag-install ng Plugin nang Walang Measurement

Performance plugins ay helpful, pero kapag hindi measured, nagdadagdag ng JS at CSS load. Diagnose muna ang problem, saka pumili ng tool. I-validate na talaga nagbababa ng TBT gamit ang report.

Hindi Pinapansin ang Cache at Minification Conflicts

Kung sabay ang minification, bundling, defer, at async, nagbabago ang script order. Pwedeng mag-cause ng unexpected errors sa production. Pag may CDN, server cache, at app cache, laging mag-clear ng lahat ng layers pagkatapos ng changes.

Sample ng Realistic Optimization Scenario

Sa isang mid-sized corporate website, may 18 JavaScript requests sa homepage: 5 para sa theme/menu, 4 para sa slider/animation, 3 para sa forms/map, 6 para sa analytics/pixel/live chat. Initial Lighthouse mobile TBT ay 920ms.

Step 1: Alisin ang dalawang animation plugins—140KB JS load reduction, TBT bumaba sa 760ms. Step 2: Defer ang theme at slider scripts, test ang dependencies, TBT naging 480ms. Step 3: Map script ay event-based loading (sa contact section lang), chat ay delayed ng 7 seconds, analytics/pixel ay async. Final TBT: 210ms.

Ipinapakita nito na hindi magic ang isang setting—layered approach ang susi: defer, async, code removal, conditional loading, caching, at quality hosting.

Konklusyon: Balanced, Tested JavaScript Strategy para sa Mas Mababang TBT

Ang delayed JavaScript loading ay practical at effective para pababain ang TBT. Defer ang safe sa sequential at DOM-ready scripts; async ay ideal sa independent third-party scripts. Para sa best results: measure muna, classify scripts, tanggalin unnecessary files, gradual test, at monitor real user experience.

Sa Hostragons, mabilis, secure, at scalable ang infrastructure—kasama ang JS optimization, caching, at SSL setup, para sa mas stable web performance. Para sa TBT improvement, gumawa muna ng report, tapos mag small but measurable steps. Para sa tamang hosting at performance infrastructure, tingnan ang Hostragons solutions. Hostragons Mga Paket ng Web Hosting

Mga Madalas Itanong

Puwede ba ang defer at async sabay sa isang script?

Kung parehong defer at async ang nilagay, magpa-prioritize ang async sa modern browsers—mawawala ang order guarantee. Hindi recommended gamitin ang parehong attribute sa same file. Defer sa dependent, async sa independent scripts.

Nakaka-apekto ba ang delayed JS loading sa SEO ranking?

Hindi automatic, pero pinapaganda nito ang page experience, interaction speed, at Core Web Vitals—tumutulong sa SEO. Ang mas responsive na site ay mas mataas ang user satisfaction, conversion, at crawl quality.

Safe ba mag-defer sa lahat ng JS files?

Hindi. May scripts na kailangan mag-execute agad o may dependencies sa order. Dapat i-review ang purpose, dependency, at execution timing—mag-test sa staging.

Sapat ba ang defer/async para sa TBT reduction?

Sa maliit/medium sites, malaki ang improvement. Pero sa heavy frameworks o maraming third-party codes/bundles, kailangan pa ng code splitting, unused JS removal, conditional loading, caching, at solid hosting.

Alin ang hindi dapat i-async sa WordPress?

jQuery-dependent plugins, payment/cart scripts, form/security validation, at critical theme functions ay hindi dapat basta async. Baka bumagsak ang user actions. Defer muna, o ilagay sa exclusion list.

Ibahagi ang artikulong ito:

Team ng Hostragons

Mga napapanahong gabay mula sa aming ekspertong koponan sa hosting, mga server, at mga domain name. Sama-sama nating hanapin ang tamang solusyon para sa iyong proyekto.

Makipag-ugnayan sa Amin