cPanel
Optimize Website ในตัว cPanel คืออะไร?
Optimize Website เป็นเครื่องมือใน cPanel ที่ช่วยให้คุณบีบอัดไฟล์เว็บไซต์ (HTML, CSS, JavaScript) โดยใช้ GZIP Compression ซึ่งช่วยลดขนาดเว็บไซต์ได้มากถึง 60-70% ทำให้การโหลดหน้าเว็บเร็วขึ้น ช่วยประหยัดแบนวิดท์ และเพิ่มประสิทธิภาพ SEO ของเว็บไซต์
Optimize Website ทำงานโดยเปิดใช้ Apache Module ชื่อ mod_deflate ซึ่งทำการบีบอัดไฟล์ HTML, CSS, JavaScript บนเซิร์ฟเวอร์ก่อนส่งไปยังเบราว์เซอร์ของผู้เยี่ยมชม เมื่อเบราว์เซอร์ได้รับข้อมูลที่บีบอัดแล้ว มันจะทำการคลายความบีบอัดโดยอัตโนมัติ ผู้เยี่ยมชมจึงไม่ต้องทำอะไรเพิ่มเติม
เหตุใดการบีบอัดไฟล์จึงสำคัญต่อประสิทธิภาพเว็บ?
หน้าเว็บสมัยใหม่มีไฟล์ HTML, CSS, JavaScript จำนวนมาก ทีละไฟล์อาจไม่ใหญ่ แต่รวมกันแล้วอาจมีขนาด 500KB ถึง 2MB ปัญหา:
- ความเร็วโหลดช้า — เพิ่ม Bounce Rate (ผู้เยี่ยมชมออกจากเว็บไป) เพราะผู้คนไม่ชอบรอ
- แบนวิดท์เสียเปล่า — ถ้าเว็บไซต์มี Traffic สูง การส่งไฟล์ที่ไม่บีบอัดจะใช้แบนวิดท์มากขึ้น ปลายปีอาจมีค่าใช้งาน
- ตัดสินใจ SEO — Google Lighthouse ให้ความสำคัญกับ Page Speed ดังนั้นการให้ GZIP ช่วยเพิ่มคะแนน Lighthouse และอันดับ Google Search
GZIP บีบอัดได้ดีเพราะ HTML, CSS, JavaScript มี Pattern และข้อความซ้ำ ๆ กันเยอะ ซึ่งเหมาะสำหรับการบีบอัดแบบ Lossless (ไม่หลุดข้อมูล)
วิธีเปิด GZIP ผ่าน Optimize Website ใน cPanel
วิธีนี้เป็นวิธีที่ง่ายและรีบ ใช้ได้ทั่วไป:
- Login เข้า cPanel ที่ https://yourdomain.com:2083
- ค้นหา Optimize Website ในเมนู Software/Services หรือ Performance
- ปกติจะแสดงสถานะว่า Compression เปิด (Enabled) หรือปิด (Disabled) อยู่แล้ว
- ถ้าสถานะเป็น Disabled ให้คลิก Enable หรือตัวแสดงการทำงาน
- หากเป็น Enabled อยู่แล้ว ไม่ต้องทำอะไรเพิ่มเติม
หลังจากนั้น GZIP จะถูกเปิดใช้งานอัตโนมัติสำหรับไฟล์ HTML, CSS, JavaScript ทั้งหมด
ตั้งค่า GZIP เพิ่มเติมผ่าน .htaccess (Advanced)
ถ้าต้องการควบคุม GZIP ให้เจาะจงมากขึ้น เช่นเพิ่มเติมประเภทไฟล์ที่ต้องการบีบอัด หรือปรับระดับการบีบอัด สามารถตั้งค่า .htaccess โดยตรงได้:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json application/xml+rss
</IfModule>
อธิบาย: บรรทัดนี้บอก Apache ให้บีบอัด (DEFLATE) ไฟล์ประเภท HTML, CSS, JavaScript, JSON เป็นต้น
หรือใช้การตั้งค่า Mod_deflate ที่ละเอียดขึ้น:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json
AddOutputFilter DEFLATE js css svg xml
DeflateCompressionLevel 9
</IfModule>
DeflateCompressionLevel 9 หมายถึงระดับการบีบอัดสูงสุด (1-9 เมื่อ 9 เป็นสูงสุด) ค่า 9 บีบอัดมากแต่ใช้ CPU มาก เลือก 6-7 พอสำหรับสมดุลระหว่างการบีบอัดกับ CPU
เปรียบเทียบการบีบอัดก่อนและหลังเปิด GZIP
ตัวอย่างผลของการบีบอัด GZIP:
- ไฟล์ HTML บริมาณ 50KB → บีบอัดเป็น 12KB (ลดลง 75%)
- ไฟล์ CSS บริมาณ 30KB → บีบอัดเป็น 7KB (ลดลง 77%)
- ไฟล์ JavaScript บริมาณ 100KB → บีบอัดเป็น 25KB (ลดลง 75%)
หน้าเว็บเฉลี่ยประกอบด้วย HTML (50KB), CSS (30KB), JavaScript (100KB) รวม 180KB ถ้าเปิด GZIP จะลดเหลือ 44KB ที่ต้องทำให้ผู้เยี่ยมชมอัพโหลด ซึ่งเร็วขึ้นมาก
ตรวจสอบว่า GZIP ทำงานถูกต้อง
หลังเปิด GZIP ให้ตรวจสอบว่าทำงาน:
# 1. ตรวจสอบ Response Header ด้วย curl
curl -sI -H "Accept-Encoding: gzip" https://yourdomain.com | grep -i "content-encoding"
# ควรแสดง: Content-Encoding: gzip
# 2. ดูรายละเอียด Header ทั้งหมด
curl -sI -H "Accept-Encoding: gzip" https://yourdomain.com
# 3. ตรวจสอบผ่าน Chrome DevTools (F12) → Network
# เปิดหน้าเว็บ ไปที่ tab Network
# คลิกที่ request แถวแรก (document) ไปที่ Response Headers
# ดูว่า Content-Encoding มีค่า "gzip" หรือไม่
# 4. ตรวจเช็ค ขนาดไฟล์ที่อัพโหลด vs ขนาดจริง
# ใน Network tab คลิกไฟล์ HTML จะแสดง:
# Transferred: 12 KB (size after compression)
# Size: 50 KB (original size)
curl -sI -H "Accept-Encoding: gzip" https://yourdomain.com | grep -i encoding หรือสำหรับ Windows ใช้ PowerShell: Invoke-WebRequest -Uri "https://yourdomain.com" -Method Head | Select-Object -ExpandProperty Headers | Select-Object Content-Encodingแก้ปัญหาที่พบบ่อย
Error: "GZIP ไม่เปิด Optimize Website เนื่องจาก mod_deflate ไม่ติดตั้ง"
บางเซิร์ฟเวอร์ไม่มี Apache mod_deflate เปิดใช้งาน หากเจอข้อความ "mod_deflate not available" ให้ติดต่อ Hosting Provider ขอให้เปิด mod_deflate
วิธีแก้ชั่วคราว: ลอง .htaccess ด้านบน หากเป็น IfModule มันจะตรวจสอบและข้ามไปถ้า mod_deflate ไม่มี แล้วติดต่อ Hosting Provider ขอตั้งค่า
Error: "หลังเปิด GZIP หน้าเว็บดูหัก (ตัวอักษรมลทินหรือไทยเสีย)"
ปกติไม่เกิด แต่หากเกิดขึ้นมักเนื่องจาก Charset Encoding ไม่ตรงกัน
วิธีแก้: ตรวจสอบในไฟล์ HTML ว่ามี <meta charset="UTF-8"> หรือไม่ ถ้าไม่มีให้เพิ่มเข้าไป ส่วนใหญ่เป็นที่อยู่ใน <head> แล้ว
Error: "ไฟล์ PDF, Excel, รูปภาพ ไม่ต้องบีบอัด แต่บีบอัดเฉพาะ HTML, CSS, JS"
GZIP อัตโนมัติจะบีบอัดเฉพาะประเภทไฟล์ที่กำหนด (text-based) ไม่มีผลต่อไฟล์ที่บีบอัดแล้ว เช่น JPG, PDF, MP4 ดังนั้นไม่ต้องกังวล
หากต้องการตรวจสอบ ดูไฟล์ที่บีบอัดไหม่ผ่าน .htaccess ด้านบนที่มี AddOutputFilterByType DEFLATE
Error: "หลังเปิด GZIP คะแนน Lighthouse ขึ้นแต่ยังต่ำ"
GZIP เป็นเพียงขั้นตอนหนึ่ง การเพิ่มความเร็วมี factor อื่น ๆ ด้วย:
- Caching — ตั้งค่า Browser Cache ให้ยาวขึ้น
- Image Optimization — ลดขนาดรูปภาพ เปลี่ยน WebP
- Minify CSS/JS — ลบ Whitespace และ Comment ออก
- Lazy Load Images — ใช้ Plugin สำหรับรูปที่ไม่อยู่บนหน้า
Error: "CPU Usage ขึ้นหลังเปิด GZIP"
การบีบอัดต้องใช้ CPU ดังนั้นถ้า Hosting Plan มี Resource น้อย อาจเห็น CPU สูงขึ้น แต่ส่วนใหญ่ปรับ DeflateCompressionLevel เป็น 6 แทน 9 ก็ช่วยได้
วิธีแก้: ลดระดับการบีบอัดจาก 9 เป็น 5-6 ลดการใช้ CPU ลง แต่ยังบีบอัดได้ดี
คำถามที่พบบ่อย
Q: GZIP บีบอัดรูปภาพได้หรือไม่?
A: ไม่ GZIP ทำงานเฉพาะกับไฟล์ text-based เช่น HTML, CSS, JavaScript รูปภาพ (JPG, PNG, GIF, WebP) มีการบีบอัดในตัวแล้ว และการบีบอัด GZIP ซ้ำจะไม่ช่วยใด ๆ ทั้ง นั้น ถ้าต้องการลดขนาดรูปให้ใช้ Image Manager หรือเปลี่ยนเป็น WebP
Q: ทำไมบางเบราว์เซอร์ยังมี Content-Encoding ไม่ใช่ gzip?
A: เบราว์เซอร์เก่าบางตัว (เช่น Internet Explorer 5) ไม่รองรับ GZIP ดังนั้น Hosting Provider อาจปิดการบีบอัดสำหรับเบราว์เซอร์เหล่านั้น หรือเบราว์เซอร์ที่ร้องขอไม่มี Accept-Encoding: gzip ใน Header ส่วนใหญ่เบราว์เซอร์สมัยใหม่รองรับ จึงไม่เป็นปัญหา
Q: GZIP ต้องติดตั้งหรือส่วนประกอบเพิ่มเติมอื่น ๆ หรือไม่?
A: ไม่ GZIP ใช้ mod_deflate ซึ่งเป็น Apache Module มาตรฐาน มีอยู่ในเซิร์ฟเวอร์ส่วนใหญ่แล้ว คุณเพียงแค่เปิด Optimize Website ใน cPanel หรือเพิ่มบรรทัด .htaccess ข้างบน ไม่ต้องติดตั้งอะไรเพิ่มเติม