การทำ Caching Strategy สำหรับเว็บไซต์ที่มี Traffic สูง

กลยุทธ์แคชที่ได้ผลคือแยกเลเยอร์ Browser–CDN/Edge–Server–Service Worker ตั้ง Cache-Control/ETag ให้เหมาะชนิดคอนเทนต์ ทำ fingerprinting + immutable กับ assets, ตั้ง TTL HTML/JSON สั้นพร้อมสลับ SWR/รีเฟรชฉลาด และวัดผลด้วย CWV/TTFB/Cache-Hit Ratio หลังเปลี่ยน.
Website Caching Strategy Guide (2025): ทำให้เว็บเร็ว เสถียร และคุ้มโฮสติ้ง
สำหรับเจ้าของเว็บ/PM/DevOps เป้าหมายคือ “โหลดไวขึ้น วัดผลได้ ลดต้นทุนทราฟฟิก” โดยไม่ทำให้ข้อมูลผิดเวลา เราจะวางแผนแบบ layered caching (Browser → CDN/Edge → Server → Service Worker) พร้อมเฮดเดอร์และ TTL ที่เหมาะกับงาน
1) เลือกเลเยอร์แคชให้ตรงงาน
เลเยอร์ | เหมาะกับ | ข้อดี | ข้อควรระวัง |
---|---|---|---|
Browser cache | ไฟล์คงที่: JS/CSS/ภาพ/ฟอนต์ | ลดดาวน์โหลดซ้ำ, เร่ง LCP/INP | ต้องทำ fingerprinting และ immutable |
CDN/Edge cache | HTML/static API ที่อนุญาต, ไฟล์สื่อ | ลด TTFB, แบ่งเบา origin, กาง TTL ยาวได้ | คีย์แคช/คุกกี้/ฮีดเดอร์ Vary มีผลต่อ hit |
Server cache | เพจที่เรนเดอร์ซ้ำบ่อย | กันโหลด DB/แอป, ต้นทุนต่ำ | ต้องล้างแคชตามอีเวนต์เผยแพร่ |
Service Worker | PWA/ฟีเจอร์ออฟไลน์/สลับ SWR | คุมกลยุทธ์ต่อไฟล์/เส้นทางละเอียด | ต้องจัดลำดับอัปเดตและเวอร์ชันให้ดี |
2) ค่าที่ควรรู้: Cache-Control/Validators/Vary
หัวข้อ | ตัวอย่าง | ใช้เมื่อ | หมายเหตุ |
---|---|---|---|
max-age , s-maxage |
Cache-Control: public, max-age=31536000, immutable Cache-Control: public, s-maxage=600, max-age=60 |
ไฟล์คงที่ (ยาว), HTML ผ่าน CDN (สั้น) | s-maxage สำหรับ proxy/CDN |
no-store , no-cache |
no-store สำหรับข้อมูลอ่อนไหว |
หน้าแอดมิน/เช็คเอาต์/ข้อมูลส่วนตัว | no-cache = ต้อง revalidate ก่อนใช้ |
Validator | ETag , Last-Modified |
HTML/JSON ที่เปลี่ยนบ่อย | ช่วยลด payload ด้วย conditional request |
Vary |
Vary: Accept-Encoding, Accept-Language |
คอนเทนต์ขึ้นกับภาษา/รูปแบบบีบอัด | อย่าใส่คุกกี้โดยไม่จำเป็น จะทำให้ miss |
Immutable | immutable + ชื่อไฟล์มีแฮช |
JS/CSS/ฟอนต์/รูป | เปลี่ยนไฟล์ = เปลี่ยนชื่อ (fingerprinting) |
3) ตารางแนะนำ TTL/เฮดเดอร์ ต่อชนิดคอนเทนต์
ชนิด | Browser | CDN/Edge | Server | หมายเหตุ |
---|---|---|---|---|
HTML (หน้าเงิน/บล็อก) | max-age=60 |
s-maxage=600 + ETag |
page cache 1–10 นาที | ใช้ revalidate ทันทีหลังเผยแพร่ |
API JSON (สาธารณะ) | max-age=30–300 |
s-maxage=300–1800 + ETag |
object cache 1–30 นาที | ถ้าเรียลไทม์ให้ลด TTL หรือ no-store |
ภาพ/ไอคอน/ฟอนต์ | max-age=31536000, immutable |
ตาม Browser | — | ใส่แฮชไฟล์เสมอ |
JS/CSS ที่มีแฮช | max-age=31536000, immutable |
ตาม Browser | — | เปลี่ยนเวอร์ชันด้วยไฟล์เนม |
หน้าแอดมิน/บัญชี | no-store |
no-store |
— | หลีกเลี่ยงแคชทุกชั้น |
4) อาการยอดฮิต → ตัวชี้วัด → วิธีแก้
อาการ | ตัวชี้วัด | สาเหตุ | วิธีแก้ |
---|---|---|---|
TTFB สูง | TTFB p75 > 800ms | Edge ไม่แคช HTML/API | ตั้ง s-maxage + ETag และ purge ตามอีเวนต์ |
Hit Ratio ต่ำ | Edge hit < 60% | คีย์แคชแตกจากคุกกี้/พารามิเตอร์ | กำหนดคีย์ชัด, ไม่นำคุกกี้ที่ไม่จำเป็นมาพิจารณา |
LCP/INP ไม่ผ่าน | CWV fail | ไฟล์ใหญ่/โหลดซ้ำ | immutable+fingerprinting, preload LCP, ลดสคริปต์ |
5) โค้ดตัวอย่างเฮดเดอร์ (Nginx)
# สินทรัพย์มีแฮช
location ~* \.(js|css|png|jpg|jpeg|gif|webp|avif|svg|woff2)$ {
add_header Cache-Control "public, max-age=31536000, immutable";
}
# HTML (ผ่าน CDN ได้ยาวกว่า)
location ~* \.(html)$ {
add_header Cache-Control "public, s-maxage=600, max-age=60";
add_header Vary "Accept-Encoding, Accept-Language";
etag on;
}
# หลังบ้าน/เช็คเอาต์
location /admin/ {
add_header Cache-Control "no-store";
}
6) ตัวอย่าง Service Worker: stale-while-revalidate แบบเรียบง่าย
// sw.js (ตัวอย่างอย่างย่อ)
self.addEventListener('fetch', (event) => {
const req = event.request;
if (req.method !== 'GET') return;
event.respondWith((async () => {
const cache = await caches.open('v1');
const cached = await cache.match(req);
const fetchPromise = fetch(req).then(res => {
cache.put(req, res.clone());
return res;
});
return cached || fetchPromise; // SWR: เสิร์ฟของเก่าแล้วรีเฟรช
})());
});
7) Fingerprinting + immutable (ตัวอย่าง)
<link rel="preload" as="style" href="/assets/app.3f9c1c7.css">
<link rel="stylesheet" href="/assets/app.3f9c1c7.css">
<script defer src="/assets/app.9a21be4.js"></script>
บริการที่เกี่ยวข้อง (Internal Links)
- ปรับปรุงเว็บให้เร็ว/คอนเวิร์ตสูง
- ออกแบบ/พัฒนา Webflow
- บริการ UX/UI Design
- Corporate Website สำหรับธุรกิจ
- บริการทั้งหมด
อ่านต่อ (บทความที่เกี่ยวข้อง)
- Critical CSS คืออะไร
- กลยุทธ์โหลด Web Font
- Progressive Web App (PWA) คืออะไร
- Tree Shaking คืออะไร
- UX/UI บน Webflow ที่คอนเวิร์ต
อ้างอิงภายนอก (E-E-A-T)
- MDN — HTTP caching, Cache-Control, ETag/Last-Modified: MDN Caching, Cache-Control, Conditional requests
- IETF — HTTP Caching (RFC 9111): rfc9111
- Google web.dev — Use HTTP caching, HTTP performance, Optimize LCP
- Cloudflare Docs — Cache-Control at the edge, Cache keys
- Workbox — Workbox docs
FAQ (People Also Ask)
ควรแคช HTML ไหม?
ถ้าเป็นหน้าเนื้อหา/การตลาดทั่วไป แคชที่ CDN ได้โดยตั้ง s-maxage
สั้น ๆ + ETag และ purge เมื่อเผยแพร่ ส่วนเพจส่วนตัว/หลังบ้านให้ no-store
ETag ต่างจาก Last-Modified อย่างไร?
ทั้งคู่เป็นตัวตรวจสอบเวอร์ชัน (validator) เพื่อทำ conditional request; ETag ยืดหยุ่น/แม่นยำกว่า ในขณะที่ Last-Modified เรียบง่ายและถูกคำนวณอัตโนมัติ
stale-while-revalidate
ใช้เมื่อไร?
เหมาะกับ CDN/พร็อกซีและใช้คู่กับ SW หรือ TTL สั้น ช่วยเสิร์ฟของเก่าทันทีระหว่างดึงของใหม่ ลด TTFB/สั่นไหวของระบบ
ทำไม Cache-Hit Ratio ต่ำ?
คีย์แคชแตกเพราะคุกกี้/พารามิเตอร์, ไม่มี s-maxage
, หรือมี Vary
กว้างเกิน แก้ด้วยคีย์เฉพาะที่จำเป็นและกำหนดกฎ bypass ให้ชัด
อัปเดตล่าสุด: 23 Aug 2025
เกี่ยวกับผู้เขียน
Vision X Brain Team — ทีม Website/SEO/CRO & Webflow เราวางกลยุทธ์แคชแบบครบเลเยอร์ ตั้งแต่ CDN/Edge จนถึง Service Worker เพื่อให้เว็บเร็วขึ้นอย่างยั่งยืนและวัดผลได้จริง สนใจเริ่มต้นดูที่ บริการทั้งหมด
ก่อนปรับ UX คนเข้าเว็บแล้วออกเลยค่ะ แต่พอรีดีไซน์ใหม่ กลายเป็นจุดที่ปิดการขายได้ดีที่สุดแทน!

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

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

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

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

Recent Blog

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

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