Core Web Vitals คือค่าวัด 3 ตัว ที่ Google ใช้อธิบายว่าหน้าเว็บให้ความรู้สึกอย่างไรกับคนที่ใช้งาน ได้แก่ เนื้อหาหลักปรากฏเร็วแค่ไหน หน้าเว็บ
ถ้า Search Console แจ้งว่า URL ของคุณ “แย่” นี่คือ
คำตอบ สั้น ๆ
Core Web Vitals คือค่าวัดประสบการณ์การใช้หน้าเว็บในโลกจริง 3 ตัว แต่ละตัวมีเกณฑ์ “ดี” ที่ Google
- LCP (Largest Contentful Paint) วัดการโหลด คือเวลาที่ใช้จนรูปภาพหรือบล็อก
ข้อความ ที่ใหญ่ที่สุดในจอปรากฏขึ้น ค่าที่ดีคือไม่เกิน 2.5 วินาที - INP (
ระยะเวลา จากการโต้ตอบถึงการแสดงผลถัดไป ) วัดการตอบสนอง คือหน้าเว็บใช้เวลานานแค่ไหนกว่าจะตอบสนอง ให้เห็น หลังการคลิก แตะ หรือกดแป้น ค่าที่ดีคือไม่เกิน 200มิลลิวินาที - CLS (Cumulative Layout Shift) วัดความนิ่งของ
หน้าจอ คือเนื้อหาขยับโดยไม่คาดคิด มากแค่ไหน ค่าที่ดีคือไม่เกิน 0.1
หน้าเว็บจะผ่าน เมื่อทั้งสามค่าอยู่ในเกณฑ์ดี ที่เปอร์เซ็นไทล์ที่ 75 ของการเข้าชมจริง โดยประเมินแยกกัน
เกณฑ์ Core Web Vitals และวัดจากใคร
Google แบ่งค่าวัดแต่ละตัวออกเป็น 3 ระดับ:
| ค่าวัด | วัดอะไร | ดี | ต้องปรับปรุง | แย่ |
|---|---|---|---|---|
| LCP | การโหลด | ไม่เกิน 2.5 วินาที | ไม่เกิน 4 วินาที | เกิน 4 วินาที |
| INP | การ |
ไม่เกิน 200 |
ไม่เกิน 500 |
เกิน 500 |
| CLS | ความนิ่งของ |
ไม่เกิน 0.1 | ไม่เกิน 0.25 | เกิน 0.25 |
ข้อมูลมาจาก
3 ใน 4 ของการเข้าชมต้องดี การเข้าชมที่ช้ามากเพียงไม่กี่ครั้ง ไม่ทำให้ผล
นี่คือเหตุผลที่คะแนน Lighthouse ใน PageSpeed Insights มักไม่ตรงกับ Search Console เพราะ Lighthouse คือการโหลดหน้าแบบจำลองหนึ่งครั้ง โดยไม่มีใครโต้ตอบ มีประโยชน์ในการวินิจฉัย แต่ไม่ใช่สิ่งที่ Google ประเมิน คู่มือ การอ่านรายงาน PageSpeed Insights ของเราอธิบายความต่างนี้ และ คู่มือเพิ่มความเร็ว
LCP: เนื้อหาหลักมาถึงหรือยัง?
LCP หรือ Largest Contentful Paint คือเวลาตั้งแต่
สาเหตุที่มักทำให้ LCP แย่
แนวทางของ web.dev จาก Google แบ่ง LCP ออกเป็น 4 ส่วน แต่ละส่วนแก้ต่างกัน:
- การ
ตอบสนอง ของเซิร์ฟเวอร์: HTML ใช้เวลานานแค่ไหนกว่าจะมาถึงโฮสติ้ง ที่ช้า และการไม่มีแคชหน้าเว็บ (page caching) คือสาเหตุที่พบบ่อย - ความล่าช้าก่อนโหลด: นานแค่ไหนกว่าเบราว์เซอร์จะ
ค้นพบ รูปภาพ รูปหลักที่ตั้งเป็น lazy load ตั้งเป็นพื้นหลัง ใน CSS หรือถูกสไลเดอร์ แทรกเข้ามา จะถูกพบช้า - เวลาโหลด: ไฟล์ใช้เวลาดาวน์โหลดนานแค่ไหน ซึ่งมักเป็นรูปจากกล้องที่ไม่ได้
บีบอัด - ความล่าช้าในการแสดงผล: ช่วงเวลาก่อนรูปที่ดาวน์โหลดแล้วจะปรากฏ มักเป็นเพราะสไตล์ชีต สคริปต์ หรือฟอนต์ ยังบล็อกหน้าอยู่
วิธีแก้ LCP ที่ควรลองก่อน
- หา
องค์ประกอบ LCP ให้เจอก่อน PageSpeed Insights ระบุไว้ในส่วนการวินิจฉัย บางครั้งเป็นหัวข้อ ไม่ใช่รูปที่คุณคาดไว้ - อย่าใช้ lazy load กับ
องค์ประกอบ นี้ lazy loading มีไว้สำหรับรูปที่อยู่ถัดลงไปด้านล่าง การเพิ่มfetchpriority="high"ให้รูปหลัก คือการขอให้เบราว์เซอร์ดึงรูปนั้นตั้งแต่เนิ่น ๆ - ปรับขนาดให้พอดี รูปหลักที่ปรับขนาดให้พอดีกับ
หน้าจอ และบันทึกเป็น WebP หรือ AVIF มักมีขนาดเพียงเศษเสี้ยว ของต้นฉบับ ตามที่ คู่มือปรับแต่ง รูปภาพ ของเราอธิบายไว้ - แก้เซิร์ฟเวอร์ที่ช้า ถ้าแค่ HTML ก็กินงบเวลา 2.5 วินาทีไปมากแล้ว การปรับรูปภาพก็ไม่ช่วย ให้เพิ่มแคชหน้าเว็บ หรือย้ายไป
โฮสติ้ง ที่ดีกว่า - กำจัดสิ่งที่บล็อกการแสดงผล บทความ อธิบายทรัพยากรที่บล็อกการแสดงผล พาไล่ดูวิธีแก้มาตรฐาน สำหรับ CSS สคริปต์ และฟอนต์ที่หนัก
INP: แตะแล้วหน้าเว็บตอบสนอง ไหม?
INP คือ
ทำไม INP จึงมาแทน FID
FID หรือ First Input Delay วัดเฉพาะเวลารอ ก่อนที่เบราว์เซอร์จะ เริ่ม จัดการการโต้ตอบครั้งแรก โดยไม่นับการ
สาเหตุที่มักทำให้ INP แย่
เกือบทุกครั้งคือ JavaScript ที่ทำให้เธรดหลัก (main thread) ของเบราว์เซอร์ยุ่งอยู่ การคลิกถูกจัดการบนเธรดเดียวกับที่รันสคริปต์ การแตะ
- ตัวจัดการแท็ก (tag manager) ที่แบกแท็กการตลาดเก่าสะสมมาหลายปี
วิดเจ็ต แชต เครื่องมือ ขอความยินยอมคุกกี้วิดเจ็ตรีวิว และโพสต์โซเชียล ที่ฝังไว้- ตัว
สร้าง หน้า (page builder)สไลเดอร์ และไลบรารีแอนิเมชัน ที่โหลดสคริปต์หนัก ๆ ในทุกหน้า - หน้าที่ใหญ่มากจนมี
องค์ประกอบ นับพัน ซึ่งทำให้การอัปเดตหน้าจอ ทุกครั้งต้องทำงานมากขึ้น - ตัวจัดการการคลิก (click handler) ที่ทำงานหนักก่อนอัปเดต
หน้าจอ
วิธีแก้ INP ที่ควรลองก่อน
- ตรวจว่ามีอะไรรันอยู่บนหน้า ลบแท็กและปลั๊กอินที่ไม่ได้ใช้ และโหลดที่เหลือเฉพาะหน้าที่จำเป็น คู่มือ สคริปต์ภายนอกกับความเร็ว
เว็บไซต์ ของเราแสดงวิธีดูว่ามีอะไรโหลดอยู่บ้าง - โหลด
วิดเจ็ต เมื่อต้องใช้วิดเจ็ต แชต แผนที่ หรือวิดีโอ รอให้มีคนคลิกก่อนค่อยโหลดก็ได้ ตอบสนอง ก่อน ทำงานทีหลัง แสดงสถานะว่าถูกกด หรือไอคอนหมุนทันที แล้วค่อยทำงานหนักนักพัฒนา เรียกสิ่งนี้ว่าการคืนเธรดหลัก (yielding)- ทดสอบด้วยมือ การทดสอบ Lighthouse มาตรฐานวัด INP ไม่ได้ เพราะไม่มีใครโต้ตอบกับหน้า จึงรายงาน Total Blocking Time แทน ถ้าจะทำให้ปัญหาเกิดซ้ำ ให้ใช้แผง Performance ใน Chrome DevTools โดยเปิดการจำกัดความเร็ว CPU แล้วลองแตะเมนูและ
แบบฟอร์ม ไปเรื่อย ๆ
CLS: หน้าเว็บอยู่นิ่งไหม?
CLS หรือ Cumulative Layout Shift วัดการขยับที่ไม่
สาเหตุที่มักทำให้ CLS แย่
- รูปภาพ วิดีโอ และ iframe ที่ไม่ได้
กำหนด ความกว้างและความสูง - แผนที่
วิดเจ็ตรีวิว และโฆษณา ที่โหลดช้าแล้วดันเนื้อหาลง - แบนเนอร์คุกกี้หรือโปรโมชัน ที่ถูกแทรกไว้ด้านบน หลังหน้าแสดงผลแล้ว
- เว็บฟอนต์ที่สลับเข้ามา ด้วยสัด
ส่วนต่าง จากฟอนต์สำรอง - แอนิเมชันที่เปลี่ยนตำแหน่งหรือขนาด แทนที่จะใช้ CSS transform
วิธีแก้ CLS ที่ควรลองก่อน
กำหนด ขนาดให้รูปภาพและสิ่งที่ฝังไว้ แอตทริบิวต์widthและheightหรือaspect-ratioใน CSS ช่วยให้เบราว์เซอร์จองพื้นที่ไว้ การกำหนด ความสูงขั้นต่ำ ก็ช่วยจองพื้นที่ให้วิดเจ็ต ที่โหลดช้าได้เช่นกัน- ให้แบนเนอร์ลอยทับ อย่าแทรก ประกาศคุกกี้ที่ติดอยู่ด้านล่างของจอ ไม่ทำให้อะไรขยับ
- ปรับฟอนต์สำรองให้
ใกล้เคียง ด้วยค่าปรับอย่างsize-adjustเพื่อให้ตอนสลับฟอนต์ข้อความ แทบไม่ขยับ - ตรวจตลอดการเข้าชม การทดสอบแบบแล็บมาตรฐาน บันทึกการขยับเฉพาะตอนหน้ากำลังโหลด ถ้า Search Console แจ้ง CLS ที่ Lighthouse ไม่เจอ ให้เลื่อนหน้าบน
มือถือ ดู รูปที่ไม่ได้กำหนด ขนาดซึ่งอยู่ลึกลงไป และส่วนหัวติดจอที่เปลี่ยนขนาด คือตัวการที่พบบ่อย
วิธีอ่านรายงาน Core Web Vitals ใน Search Console
รายงานอยู่ในส่วน “ประสบการณ์” ของ Search Console มีกราฟแยกสำหรับ
ถ้ารายงานไม่แสดงข้อมูลเลย มักเป็นเพราะ Chrome UX Report ยังมีการเข้าชมจริงของ
ทำไม URL จึงถูกจัดกลุ่ม
Search Console ไม่ได้ตัดสิน URL
ไล่แก้ทีละ ปัญหา
- เริ่มจากปัญหาระดับ “แย่” บน
มือถือ ซึ่งปัญหามักหนักที่สุด - เปิดดูปัญหา เพื่อดูกลุ่มที่ได้รับ
ผลกระทบ ค่าของแต่ละกลุ่ม และ URL ตัวอย่าง - ทดสอบ URL ตัวอย่างใน PageSpeed Insights แล้วใช้ส่วนการวินิจฉัยหาสาเหตุ
- แก้ที่เทมเพลต แล้วยืนยันว่าดีขึ้น ด้วยการทดสอบในแล็บ
- คลิก “เริ่มติดตาม” บนหน้าปัญหา จากนั้น Search Console จะเฝ้าดูข้อมูล
ภาคสนาม ใหม่ของปัญหานั้น ในช่วง 28 วัน
ทำไมต้องรอราว 28 วันกว่าจะเห็นผล
ข้อมูล
Core Web Vitals มีผลต่ออันดับใน Google แค่ไหน?
มีผล แต่ไม่ได้สำคัญกว่าความตรงกับสิ่งที่ค้นหา เอกสารเรื่องประสบการณ์หน้าเว็บ ของ Google Search Central บอกว่าระบบจัดอันดับของ Google ใช้ Core Web Vitals และแนะนำให้ได้ผลที่ดี แต่ก็บอกด้วยว่า เนื้อหาที่ตรงที่สุดยังติดอันดับได้ แม้ประสบการณ์หน้าเว็บจะต่ำกว่ามาตรฐาน ว่าไม่มีสัญญาณประสบการณ์หน้าเว็บเพียงตัวเดียว และคะแนนที่ดีไม่ได้
ความเร็วจึงไม่ชนะ
เหตุผลที่
คำถาม ที่พบบ่อย
ต้องได้คะแนน Lighthouse 100 ถึงจะผ่าน Core Web Vitals ไหม?
ไม่ต้อง คะแนนนั้นสรุปผลการทดสอบในแล็บแบบจำลองหนึ่งครั้ง ส่วนการประเมินใช้การเข้าชมจริง หน้าที่ได้คะแนน 70 กว่า ๆ อาจผ่านได้ ส่วนหน้าที่คะแนนสูงก็อาจไม่ผ่าน
ข้อมูล Core Web Vitals รวมผู้เข้าชม จาก iPhone ด้วยไหม?
ไม่รวมในข้อมูล
TTFB และ FCP นับเป็น Core Web Vitals ไหม?
ไม่นับ TTFB (เวลาจนได้รับข้อมูลไบต์แรก) และ FCP หรือ First Contentful Paint เป็นค่าวัดเสริมที่แสดงใน PageSpeed Insights และมีประโยชน์ในการวินิจฉัย เช่น TTFB ที่ช้ามักอธิบายได้ว่าทำไม LCP จึงแย่ มีเพียง LCP INP และ CLS ที่นับในการประเมิน
เว็บไซต์ WordPress ผ่าน Core Web Vitals ได้ไหม?
ได้ เมื่อเลือก
ทำอะไรต่อ
หน้าที่ไม่ผ่าน
การรักษาผลไว้ยากกว่า ทุกปลั๊กอิน แท็ก