🔥 แค่ 5 นาที เปลี่ยนมุมมองได้เลย

INP คืออะไร? เกณฑ์ผ่าน + วิธีลดดีเลย์อินพุต (2025)

ยาวไป อยากเลือกอ่าน?

INP (Interaction to Next Paint) คือค่าวัดความไวต่อการแตะ/คลิก โดยพิจารณาอินเทอร์แอ็กชันที่ช้าที่สุดเกือบทั้งหมดของหน้า เกณฑ์ผ่านคือ ≤200 ms; 200–500 ms ต้องปรับปรุง; >500 ms แย่ วิธีลดคือหั่น Long Tasks, ลด JS/สคริปต์ที่สาม และทำแฮนด์เลอร์ให้เบา

INP คืออะไร (เข้าใจเร็ว)

INP วัดเวลาตอบสนองหลังผู้ใช้ คลิก/แตะ/กดคีย์ จนเบราว์เซอร์เพนต์เฟรมถัดไปที่สะท้อนการเปลี่ยนแปลงบนหน้าจอ แตกต่างจากตัวชี้วัดเก่าเพราะสะท้อนทั้งหน้าและหลายเหตุการณ์ ไม่ใช่เหตุการณ์เดียว

เกณฑ์ผ่าน (Threshold 2025)

สถานะค่าที่วัดได้ความหมาย
ดี≤ 200 msตอบสนองไว
ต้องปรับปรุง200 – 500 msยังมีดีเลย์ให้รู้สึกได้
แย่> 500 msช้า รบกวนประสบการณ์

อาการ → สาเหตุ → วิธีแก้ (โฟกัสมือถือ)

อาการสาเหตุหลักวิธีแก้เร็วเครื่องมือเช็ค
แตะปุ่มแล้วหน่วง Long Tasks บนเมนเธรด (bundle ใหญ่/งานซิงก์) หั่นงานยาวเป็นก้อนเล็ก, แยกโค้ด on-demand, เลื่อนงาน non-critical ไป idle DevTools Performance, Web Vitals overlay
เปิดเมนู/โมดัลกระตุก รีเฟรช layout บ่อย, อ่าน-เขียน DOM สลับกัน Batch DOM, ใช้ transform/opacity, ลด forced reflow Performance Profiler (Bottom-Up/Events)
พิมพ์แล้วตัวอักษรขึ้นช้า แฮนด์เลอร์ key/input หนัก, sync validation ดีบาวซ์/ธรอตเทิล, ย้าย validation เป็น async/idle Performance + Sources (breakpoints)
แตะลิงก์แล้วไม่ขยับ สคริปต์ที่สามบล็อก (tag/ads/analytics) ตัด/โหลดแบบ lazy, ใช้ consent-mode, ย้ายไปหลัง interaction Coverage, Network blocking

โค้ดตัวอย่าง: หั่น Long Tasks ให้ INP ดีขึ้น

// แบ่งงานหนักเป็นชิ้นเล็ก & ยกไปช่วงว่าง
function chunkWork(items, doChunk) {
  const DEADLINE_MS = 50; // ไม่บล็อกเมนเธรดนาน
  function run() {
    const start = performance.now();
    while (items.length && performance.now() - start < DEADLINE_MS) {
      doChunk(items.shift());
    }
    if (items.length) {
      (window.requestIdleCallback || setTimeout)(run, 0);
    }
  }
  run();
}

How-to: ลด INP ให้ “ผ่าน” ทีละขั้น

  1. วัดจากผู้ใช้จริง (RUM): เปิดรวบรวม Web Vitals ในโปรดักชัน + อ่าน CrUX/Field data
  2. โปรไฟล์อินเตอร์แอ็กชัน: DevTools → Record → กดปุ่ม/เปิดเมนู → หา Long Tasks >50 ms
  3. ลดงานบนอินพุต: ทำแฮนด์เลอร์ให้เล็ก, ใช้ passive listeners, ดีบาวซ์/ธรอตเทิล
  4. แยก/เลื่อนโหลด JS: Code-split เส้นทาง, โหลด 3rd-party แบบ lazy/consent-mode
  5. ลดงาน layout: ใช้ transform/opacity, batch DOM, หลีกเลี่ยง forced reflow
  6. ทดสอบมือถือจริง: วัด INP บนอุปกรณ์กลาง-ล่าง ไม่ใช่เครื่องแรงอย่างเดียว
  7. วนซ้ำ: รีคอร์ด → ปรับ → วัดซ้ำจน ≤200 ms

อ่านต่อ & เชื่อมโยงภายใน

แชร์

Recent Blog

5 ขั้นตอนสร้างเว็บไซต์ E-Commerce ที่ทำให้ยอดขายพุ่งสูงทันที

เคยรู้สึกว่าเว็บไซต์ของคุณไม่ดึงดูดลูกค้าไหม? มาดู 5 ขั้นตอนง่ายๆ ที่จะช่วยแก้ปัญหานี้และทำให้ยอดขายพุ่งสูงขึ้น! อ่านต่อ...

เคล็ดลับการออกแบบเว็บไซต์ด้วย Webflow: เพิ่มความเร็วและประสิทธิภาพทันที
เคล็ดลับการออกแบบเว็บไซต์ด้วย Webflow: เพิ่มความเร็วและประสิทธิภาพทันที

เว็บไซต์ของคุณช้าอยู่หรือเปล่า? หากใช่ นี่คือปัญหาที่คุณต้องแก้ไขเพื่อให้ลูกค้าไม่ออกจากเว็บไซต์ อ่านต่อเพื่อค้นพบเคล็ดลับการออกแบบที่ช่วยเพิ่มความเร็ว!

5 เหตุผลที่เว็บไซต์ของคุณควรปรับปรุงเพื่อเพิ่มผลลัพธ์ทันที
5 เหตุผลที่เว็บไซต์ของคุณควรปรับปรุงเพื่อเพิ่มผลลัพธ์ทันที

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