วินิจฉัยและแก้ไข Render-Blocking Resources เพื่อเพิ่มคะแนน PageSpeed

แก้ Render-Blocking Resources โดย: แยก critical CSS แล้ว inline, โหลด CSS ที่เหลือแบบ async, ใส่ defer/async ให้สคริปต์ที่ไม่จำเป็นตอนแรก, preload ฟอนต์/รูป LCP และ preconnect ต้นทางสำคัญ จากนั้นวัด LCP/INP/CLS ด้วย Lighthouse/PSI และปรับซ้ำจนผ่านเกณฑ์.
Fix Render-Blocking Resources ให้คะแนน PageSpeed พุ่ง (2025)
เป้าหมาย ทำให้ “พับแรก” (above-the-fold) เร็วและวาดจอได้ทันที โดยไม่ต้องรอ CSS/JS ที่ไม่จำเป็น วิธีด้านล่างนี้ทำได้กับทุกสแตก และยิ่งเข้าท่ากับสแตติกไซต์/เว็บที่คุมโค้ดได้ เช่น Webflow, Headless, หรือธีมที่แก้ได้
ทำไมถึงช้า? (อะไรที่บล็อกเรนเดอร์)
| ตัวการ | สัญญาณ | ผลกระทบต่อ CWV | แนวทางแก้ |
|---|---|---|---|
| CSS ไฟล์ใหญ่/หลายไฟล์ | PSI ชี้ “Eliminate render-blocking resources” | LCP ช้า, FCP ช้า | Critical CSS inline, โหลดส่วนที่เหลือแบบ async |
| JS บนหัวหน้า (blocking) | สคริปต์ไม่มี defer/async |
LCP/INP แย่ | ย้ายลงท้าย, ใส่ defer, แยกโค้ด |
| ฟอนต์เว็บ | ไฟล์ฟอนต์โหลดช้า/คิวรอ | LCP/CLS จาก FOIT/FOUT | preconnect, preload, font-display:swap |
| ภาพฮีโร่ LCP | ไม่ preload/ไม่มีขนาดชัด | LCP ช้า/CLS ขยับ | preload + ใส่ width/height อย่างถูกต้อง |
เช็กลิสต์แก้แบบเร็ว
| หัวข้อ | ทำอะไร | ตัวอย่าง/หมายเหตุ |
|---|---|---|
| Critical CSS | ดึงสไตล์ที่จำเป็นกับพับแรกมา inline | <style>/* critical */ ... </style> |
| Async CSS | โหลดไฟล์ที่เหลือแบบไม่บล็อก | <link rel="preload" as="style" href="app.css" onload="this.rel='stylesheet'"> |
| Defer JS | เลื่อนสคริปต์ที่ไม่จำเป็นตอนแรก | <script src="app.js" defer></script> |
| Preconnect/Preload | อุ่นการเชื่อมต่อ/ลำดับโหลดสิ่งสำคัญ | <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> |
| Fonts | ลด FOIT/FOUT | @font-face{font-display:swap} |
โค้ดตัวอย่างที่ใช้บ่อย
<!-- 1) Inline critical CSS (ย่อให้สั้นและเฉพาะพับแรก) -->
<style>/* critical */ header{display:grid} .hero{min-height:60vh} ... </style>
<!-- 2) โหลด CSS ที่เหลือแบบ async -->
<link rel="preload" href="/assets/app.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="/assets/app.css"></noscript>
<!-- 3) เลื่อน JS ที่ไม่จำเป็นตอนแรก -->
<script defer src="/assets/app.js"></script>
<!-- สำหรับสคริปต์ที่ไม่พึ่งพา DOM อาจใช้ async ได้ -->
<script async src="https://example.com/ads.js"></script>
<!-- 4) ฟอนต์: preconnect + preload + swap -->
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="preload" as="font" href="/fonts/Inter-Var.woff2" type="font/woff2" crossorigin>
<style>@font-face{font-family:Inter;src:url(/fonts/Inter-Var.woff2) format('woff2');font-display:swap;}</style>
<!-- 5) รูป LCP: preload + ไซส์ชัด -->
<link rel="preload" as="image" href="/img/hero.avif" imagesizes="100vw" imagesrcset="/img/hero.avif 1x, /img/hero@2x.avif 2x">
<img src="/img/hero.avif" alt="Hero" width="1280" height="720" decoding="async" fetchpriority="high">
เวิร์กโฟลว์ 6 ขั้น (ทำจริงในโปรเจกต์)
- วัดปัจจุบันด้วย Lighthouse/PageSpeed Insights (มือถือก่อน)
- ลิสต์ไฟล์ CSS/JS ที่บล็อก → ตัด critical CSS สำหรับพับแรก
- Inline critical CSS + โหลด CSS ที่เหลือแบบ async
- ใส่
defer/asyncให้ JS ตามการพึ่งพา, ย้ายสคริปต์ลงท้าย - เพิ่ม
preconnect/preloadให้ฟอนต์/รูป LCP/สคริปต์สำคัญ - ทดสอบซ้ำ ดู LCP/INP/CLS และปรับปรุงจนผ่านเกณฑ์
คำแนะนำเพิ่มเติม (Webflow/ทั่วไป)
- วางโค้ด Head สำหรับ preconnect/preload และ critical CSS
- วางโค้ด Footer สำหรับสคริปต์ที่ใช้
defer - รวมไฟล์/ลบโค้ดที่ไม่ใช้, ตรวจ third-party ที่หนัก (แท็ก/แชต/วิเคราะห์)
อ้างอิงภายนอก (มาตรฐาน/แนวทาง)
- Google web.dev — Eliminate render-blocking resources
- Google web.dev — Optimize CSS loading
- Google web.dev — Preload critical assets
- MDN —
defervsasync - Google — Core Web Vitals & Search
บริการที่เกี่ยวข้อง (Internal Links)
อ่านต่อ (บทความที่เกี่ยวข้อง)
- Crawl Budget Optimization
- SEO Log File Analysis
- UX/UI บน Webflow ที่คอนเวิร์ต
- Information Architecture คืออะไร
FAQ (People Also Ask)
ควรเลือก async หรือ defer สำหรับ JS?
ส่วนใหญ่ใช้ defer กับสคริปต์ที่อ้าง DOM เพราะจะรันหลังพาร์สเสร็จและรักษาลำดับ; async เหมาะกับสคริปต์อิสระ (เช่น แท็กวิเคราะห์/โฆษณา)
Critical CSS ต้องใหญ่แค่ไหน?
เฉพาะองค์ประกอบพับแรก (layout/typography/สีหลัก) ปกติไม่เกินไม่กี่ KB เพื่อหลีกเลี่ยงบวม
แก้ฟอนต์เว็บให้ไม่บล็อกอย่างไร?
ใช้ preconnect ต้นทางฟอนต์, preload ไฟล์หลัก, และ font-display:swap เพื่อลด FOIT/FOUT
อัปเดตล่าสุด: 24 Aug 2025
เกี่ยวกับผู้เขียน
Vision X Brain — ทีม Website/SEO/CRO & Webflow ที่ช่วยธุรกิจทำเว็บให้เร็ว น่าเชื่อถือ และคอนเวิร์ตสูง เราออปติมाइซ์ CWV, วางสคีมา และปรับสถาปัตยกรรมคอนเทนต์ให้เติบโตอย่างยั่งยืน
ก่อนปรับ UX คนเข้าเว็บแล้วออกเลยค่ะ แต่พอรีดีไซน์ใหม่ กลายเป็นจุดที่ปิดการขายได้ดีที่สุดแทน!

หลังรีแบรนด์กับ Vision X Brain ยอดขายพุ่ง x3 ภายใน 2 เดือน!

เปลี่ยนเว็บกับ Vision X Brain แค่ไม่กี่วัน ลูกค้าใหม่เริ่มเข้าใจธุรกิจเราทันที

หลังรีดีไซน์กับ Vision X Brain ลูกค้าระดับองค์กรเริ่มเข้ามาจองงานผ่านเว็บไซต์เอง — ไม่ต้องพึ่งคอนเนคชั่นเหมือนก่อน

หลังจากเปลี่ยนเว็บไซต์กับ Vision X Brain ผู้ใช้งานกล้ากดทดลองระบบตั้งแต่หน้าแรก — ไม่ต้องตาม โทร หรืออธิบายซ้ำอีก

Recent Blog

ค้นพบข้อดีของ responsive web design พร้อมเคล็ดลับเพิ่มยอดขายและสร้างประสบการณ์เว็บที่ดีกับลูกค้า เหมาะสำหรับธุรกิจออนไลน์ยุคใหม่ปี 2025

เรียนรู้การวิเคราะห์ ux/ui เบื้องต้น สำหรับเจ้าของธุรกิจและผู้ทำเว็บไซต์ เพิ่มยอดขายและสร้างประสบการณ์ผู้ใช้ที่ดีขึ้นในปี 2025

ค้นหาคำตอบ ทำไมต้องออกแบบเว็บไซต์ใหม่ พร้อมแนวทางปรับปรุงให้ธุรกิจโดดเด่น เพิ่มยอดขาย และดึงดูดลูกค้าออนไลน์ในปี 2025
