GZIP Compression เป็นหนึ่งในวิธีที่ง่ายและได้ผลที่สุดในการเพิ่มความเร็วเว็บไซต์ โดยการบีบอัดไฟล์ HTML, CSS, JavaScript และ XML ก่อนส่งไปยังเบราว์เซอร์ของผู้ใช้ ไฟล์เว็บทั่วไปสามารถลดขนาดได้ 60–80% ทำให้หน้าเว็บโหลดเร็วขึ้นอย่างเห็นได้ชัด โดยเฉพาะบนมือถือหรือเครือข่ายช้า
GZIP Compression คืออะไร ทำงานอย่างไร
เมื่อเบราว์เซอร์ขอไฟล์จากเซิร์ฟเวอร์ เบราว์เซอร์จะส่ง Header Accept-Encoding: gzip ไปด้วย ถ้าเซิร์ฟเวอร์รองรับ GZIP จะบีบอัดไฟล์ก่อนส่ง แล้วเบราว์เซอร์จะแตกไฟล์อัตโนมัติ กระบวนการนี้โปร่งใสต่อผู้ใช้ทั้งหมด
บน Shared Hosting ที่ใช้ Apache (ซึ่ง DirectAdmin ส่วนใหญ่ใช้) เราเปิด GZIP ได้ผ่าน mod_deflate หรือ mod_gzip ใน .htaccess
ผลลัพธ์จริง: ไฟล์ HTML ทั่วไป 200KB ลดเหลือ ~50KB, CSS Framework 100KB ลดเหลือ ~20KB — ผู้ใช้โหลดหน้าเร็วขึ้น 3–5 เท่าในเครือข่ายช้า
วิธีเปิด GZIP ผ่าน .htaccess บน DirectAdmin
วิธีที่ 1: ใช้ mod_deflate (แนะนำ)
เพิ่ม Code ต่อไปนี้ใน .htaccess ที่ root ของเว็บไซต์ (public_html):
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>
วิธีที่ 2: ใช้ mod_gzip (เซิร์ฟเวอร์เก่า)
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>
วิธีเข้าแก้ไข .htaccess ผ่าน DirectAdmin
- ล็อกอิน DirectAdmin → File Manager
- ไปที่
public_html - คลิก
.htaccessแล้วเลือก Edit - เพิ่ม Code GZIP ด้านบนต่อท้ายไฟล์
- คลิก Save
ไฟล์ประเภทใดที่ควรและไม่ควร Compress
| ประเภทไฟล์ | ควร Compress? | เหตุผล |
|---|---|---|
| HTML, CSS, JS | ✅ ใช่ | ลดขนาดได้ 60–80% |
| XML, JSON, SVG | ✅ ใช่ | เป็น text-based ลดได้มาก |
| JPEG, PNG, WebP | ❌ ไม่ | บีบอัดแล้ว ไม่ประหยัดขนาด |
| PDF, ZIP, MP4 | ❌ ไม่ | บีบอัดแล้ว อาจใหญ่ขึ้น |
วิธีทดสอบว่า GZIP ทำงานหรือไม่
ทดสอบผ่าน Browser Developer Tools
- กด F12 เปิด DevTools → แท็บ Network
- รีโหลดหน้าเว็บ
- คลิกไฟล์ HTML หลัก → แท็บ Headers
- มองหา
Content-Encoding: gzipใน Response Headers
ทดสอบผ่านเว็บไซต์ออนไลน์
- GTmetrix (gtmetrix.com) — ตรวจสอบ Score และ GZIP status
- PageSpeed Insights — Google ตรวจแล้วแนะนำถ้ายังไม่ได้เปิด
- Check GZIP Compression (checkgzipcompression.com) — ทดสอบโดยตรง
ผลกระทบต่อ Lighthouse และ SEO
Google PageSpeed Insights และ Lighthouse มี Audit ชื่อ "Enable text compression" ถ้าเว็บยังไม่เปิด GZIP จะถูกหักคะแนน Performance การเปิด GZIP ช่วยยก Score ได้ 5–15 คะแนนในหลายกรณี นอกจากนี้ Page Speed เป็นหนึ่งใน Ranking Factor ของ Google โดยตรง
สำหรับ WordPress: Plugin เช่น WP Rocket, W3 Total Cache หรือ LiteSpeed Cache มีตัวเลือก Enable GZIP ในตัว แต่แนะนำให้ตั้งผ่าน .htaccess ด้วยเพื่อความแน่ใจ
เปรียบเทียบ GZIP กับ Brotli Compression
GZIP เป็น Compression Algorithm มาตรฐานที่ใช้กันมากว่า 20 ปี แต่ปัจจุบันมีตัวเลือกใหม่คือ Brotli ที่ Google พัฒนาขึ้น ซึ่งบีบอัดได้ดีกว่า GZIP ประมาณ 15–25% สำหรับไฟล์ข้อความ
| คุณสมบัติ | GZIP (mod_deflate) | Brotli (mod_brotli) |
|---|---|---|
| ประสิทธิภาพการบีบอัด | ดี (60–80%) | ดีมาก (70–85%) |
| รองรับบน Shared Hosting | ✅ แทบทุก Server | ⚠️ Apache 2.4.26+ เท่านั้น |
| เปิดผ่าน .htaccess | ✅ ง่าย | ต้อง mod_brotli ถูก Load |
| Browser Support | ✅ 100% | ✅ Chrome, Firefox, Edge, Safari |
สำหรับ DirectAdmin Hosting ทั่วไป GZIP ผ่าน mod_deflate เป็นตัวเลือกที่ปลอดภัยและได้ผลดีที่สุด Brotli ยังไม่พร้อมใช้บน Shared Hosting ส่วนใหญ่เพราะต้องการ mod_brotli ที่ต้อง Enable ระดับ Server
GZIP กับการลด Bandwidth และค่าใช้จ่าย
สำหรับเว็บไซต์ที่มี Traffic สูง การเปิด GZIP ไม่เพียงแต่ทำให้เร็วขึ้น แต่ยังลด Bandwidth ที่ใช้ไปอย่างมีนัยสำคัญ ซึ่งส่งผลโดยตรงต่อต้นทุน:
- เว็บที่โหลด 1GB ต่อวันจาก Text Files สามารถลดเหลือ ~300MB เมื่อเปิด GZIP
- ลด Load บน Server เพราะส่งข้อมูลน้อยลงต่อ Request
- ผู้ใช้มือถือใช้ Data น้อยลง ลดอัตราการออกจากหน้าเว็บก่อนโหลดเสร็จ
- Shared Hosting มี Bandwidth Limit — GZIP ช่วยให้อยู่ในโควต้าได้นานขึ้น
ประมาณการประหยัด Bandwidth: เว็บไซต์ทั่วไปที่มี Visitor 1,000 คน/วัน โหลดหน้าละเฉลี่ย 500KB ถ้าเปิด GZIP ลดได้ 70% จะประหยัด Bandwidth ได้ราว 350MB ต่อวัน หรือประมาณ 10GB ต่อเดือน
GZIP กับ Browser Caching — ใช้ร่วมกันได้ไหม
GZIP Compression และ Browser Caching เป็นสองเทคนิคที่ทำงานเสริมกัน ไม่ใช่แทนกัน ทั้งสองควรเปิดพร้อมกัน:
- GZIP ลดขนาดไฟล์ในการส่ง (Transfer Size) — ผลทุก Request
- Browser Cache เก็บไฟล์ไว้ในเครื่องผู้ใช้ — ผลตั้งแต่ Request ที่ 2 ขึ้นไป
เพิ่ม Cache-Control Header ใน .htaccess ควบคู่กับ GZIP:
# ตั้ง Cache สำหรับ Static Files (CSS, JS, Images)
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType image/jpeg "access plus 3 months"
ExpiresByType image/png "access plus 3 months"
ExpiresByType image/webp "access plus 3 months"
</IfModule>
การใช้ GZIP + Browser Cache + HTTP/2 (ที่ AsiaGB Hosting รองรับ) พร้อมกันคือ Combination ที่ได้ Lighthouse Performance Score สูงที่สุดสำหรับ Static Website บน Shared Hosting โดยไม่ต้องพึ่ง CDN
แก้ปัญหา GZIP ไม่ทำงาน
- Error 500: mod_deflate อาจไม่ได้เปิดบนเซิร์ฟเวอร์ ลองใช้ mod_gzip แทน หรือติดต่อ Support
- Cached response: Clear browser cache แล้วทดสอบใหม่
- Plugin conflict (WordPress): ปิด Plugin ทีละตัวเพื่อหาตัวที่ conflict
เข้าใจกระบวนการ HTTP Compression ในเชิงลึก
ก่อนจะตั้งค่า GZIP ควรเข้าใจขั้นตอนที่เกิดขึ้นจริงเมื่อ Browser ส่ง Request มาที่ Server:
- Browser ส่ง HTTP Request พร้อม Header
Accept-Encoding: gzip, deflate, br - Apache อ่าน Header แล้วตรวจสอบว่า mod_deflate หรือ mod_brotli โหลดอยู่หรือไม่
- ถ้า mod_deflate โหลดอยู่ Apache บีบอัด Response Body ก่อนส่ง
- Apache เพิ่ม
Content-Encoding: gzipและVary: Accept-Encodingใน Response Header - Browser รับข้อมูลบีบอัด แตกไฟล์อัตโนมัติ แล้ว Render หน้าเว็บตามปกติ
Header Vary: Accept-Encoding มีความสำคัญมากสำหรับ CDN และ Proxy Cache เพราะบอกให้รู้ว่า Response ที่ถูก Cache ไว้แตกต่างกันตาม Encoding ที่ Browser รองรับ ป้องกันการส่งข้อมูลบีบอัดให้กับ Browser ที่ไม่รองรับโดยไม่ตั้งใจ
ขนาดไฟล์ก่อนและหลัง GZIP (ตัวอย่างจริง)
| ไฟล์ | ขนาดก่อน GZIP | ขนาดหลัง GZIP | ประหยัด |
|---|---|---|---|
| Bootstrap CSS | 160 KB | 27 KB | 83% |
| jQuery JS | 90 KB | 31 KB | 66% |
| WordPress HTML | 120 KB | 35 KB | 71% |
| SVG Icon File | 45 KB | 11 KB | 76% |
ตัวเลขด้านบนคือค่าเฉลี่ยจากสถานการณ์จริง อัตราการบีบอัดจะแตกต่างกันตาม Content ของไฟล์ ไฟล์ที่มี Pattern ซ้ำๆ หรือ Whitespace มากจะบีบอัดได้ดีกว่าไฟล์ที่มีข้อมูลหลากหลาย
GZIP สำหรับ WordPress บน DirectAdmin
WordPress เป็น CMS ที่มีไฟล์ CSS และ JavaScript จำนวนมาก ทำให้ GZIP มีผลชัดเจนเป็นพิเศษ นอกจากการตั้งผ่าน .htaccess แล้ว ยังมีวิธีตรวจสอบและเพิ่มประสิทธิภาพเพิ่มเติม:
Plugin ที่รองรับ GZIP สำหรับ WordPress
- WP Rocket — เปิด GZIP ได้ใน Performance → Enable GZIP Compression พร้อมกับ Caching ครบชุด
- W3 Total Cache — เปิดได้ใน Browser Cache → Enable GZIP Compression
- LiteSpeed Cache — เปิดได้ใน LiteSpeed Cache → Page Optimization → HTML/CSS/JS Minify + Compress
- Autoptimize — รวม Minify + ตั้งค่า Encoding Header ได้ในตัว
อย่างไรก็ตาม แนะนำให้ตั้ง GZIP ผ่าน .htaccess ควบคู่กับ Plugin เสมอ เพราะถ้า Plugin ถูกปิดหรือมีปัญหา การบีบอัดจาก .htaccess จะยังคงทำงานต่อไป ไม่ขึ้นอยู่กับ WordPress
ตรวจสอบ GZIP บน WordPress ด้วย Query Monitor
Plugin Query Monitor (ฟรี) แสดงข้อมูล Request/Response Header โดยตรงใน Admin Bar ช่วยให้เห็นว่า Content-Encoding: gzip ถูกส่งจริงหรือไม่ โดยไม่ต้องเปิด DevTools
GZIP กับ Core Web Vitals — Largest Contentful Paint (LCP)
Core Web Vitals เป็น Ranking Factor สำคัญของ Google ตั้งแต่ปี 2021 และ LCP (Largest Contentful Paint) คือ Metric ที่ได้รับผลโดยตรงจากการเปิด GZIP โดยเฉพาะถ้าไฟล์ HTML ของหน้าแรกมีขนาดใหญ่
- LCP ดี: < 2.5 วินาที | พอใช้: 2.5–4 วินาที | ต้องปรับ: > 4 วินาที
- GZIP ลด Time-to-First-Byte (TTFB) ทางอ้อม โดยลดเวลาส่งข้อมูลจาก Server ไปยัง Browser
- หน้าที่มี CSS External ขนาดใหญ่ได้ประโยชน์มาก เพราะ GZIP ทำให้ CSS Render-Blocking ลดลง
| Optimization | ผลต่อ LCP | ผลต่อ Performance Score |
|---|---|---|
| เปิด GZIP | ดีขึ้น (HTML/CSS เร็วขึ้น) | +5 ถึง +15 คะแนน |
| เพิ่ม Browser Cache | ดีขึ้น (Visit ซ้ำเร็วมาก) | +3 ถึง +8 คะแนน |
| Image WebP | ดีขึ้นมาก (LCP Image) | +5 ถึง +20 คะแนน |
| HTTP/2 | ดีขึ้น (Multiplexing) | +2 ถึง +5 คะแนน |
การเปิด GZIP เป็นขั้นตอนแรกที่ควรทำก่อนสิ่งอื่นใดใน Web Performance Optimization เพราะทำได้ง่าย ฟรี และให้ผลทันทีโดยไม่ต้องเปลี่ยน Code หรือ Design ของเว็บแต่อย่างใด
สรุปขั้นตอนเปิด GZIP บน DirectAdmin แบบครบชุด
เพื่อให้ง่ายต่อการนำไปใช้ นี่คือ Checklist ที่ครอบคลุมการตั้งค่า GZIP และ Performance Optimization เสริมบน DirectAdmin Hosting:
- เปิด GZIP ผ่าน .htaccess — ใช้ mod_deflate สำหรับ HTML, CSS, JS, XML, SVG, JSON ทั้งหมด
- ทดสอบทันที — เปิด DevTools (F12) → Network → ดู Response Header หา
Content-Encoding: gzip - ตั้ง Browser Cache — เพิ่ม mod_expires ใน .htaccess สำหรับ Static Files ควบคู่กับ GZIP
- ตรวจสอบ Lighthouse — ก่อนและหลังเปิด GZIP เพื่อวัดผลเปรียบเทียบ Performance Score
- ตรวจ WordPress Plugin Conflict — ถ้าใช้ WordPress ตรวจสอบว่า Plugin ไม่ส่ง Header ซ้ำซ้อน
- เปิดใช้ HTTP/2 — AsiaGB Hosting รองรับ HTTP/2 อยู่แล้ว ร่วมกับ GZIP จะเพิ่มประสิทธิภาพสูงสุด
หลังทำ Checklist ครบทั้ง 6 ข้อ เว็บไซต์ของคุณควรได้ Lighthouse Performance Score ขั้นต่ำ 85 คะแนน หรือสูงกว่าบนอุปกรณ์ Desktop โดยไม่ต้องลงทุนเพิ่มใน Infrastructure
ต้องการ Hosting ที่รองรับ GZIP ครบชุด?
AsiaGB Hosting รองรับ mod_deflate, HTTP/2 และการตั้งค่า .htaccess เต็มรูปแบบ เพิ่มความเร็วเว็บได้ทันที
สมัคร Hosting AsiaGB