เร่งความเร็ว WordPress บน Shared Hosting

ปรับแต่ง caching, GZip, CDN และ optimize รูปภาพ ให้เว็บ WordPress โหลดเร็วขึ้นอย่างเห็นผลจริง

เร่งความเร็ว WordPress บน Shared Hosting

ทำไม WordPress บน Shared Hosting ถึงช้า

WordPress เป็น CMS ที่ทรงพลังแต่หากตั้งค่าไม่ดีจะทำให้เว็บโหลดช้ามาก โดยเฉพาะบน Shared Hosting ที่ทรัพยากรถูกแบ่งปันกับผู้ใช้รายอื่น สาเหตุหลักที่ทำให้ WordPress ช้า ได้แก่

ขั้นตอนที่ 1 — เลือก Caching Plugin ให้เหมาะสม

Caching plugin คือตัวช่วยที่สำคัญที่สุดในการเร่งความเร็ว WordPress โดยระบบจะบันทึกหน้า HTML ที่ประมวลผลแล้วไว้เป็น static file ทำให้ request ถัดมาไม่ต้องรัน PHP ใหม่ทั้งหมด

W3 Total Cache (ฟรี)

W3TC เป็น plugin ยอดนิยมที่รองรับ page cache, object cache, database cache และ browser cache ในตัวเดียว ติดตั้งฟรีจาก WordPress Plugin Directory และปรับแต่งได้ละเอียด เหมาะสำหรับผู้ที่ต้องการควบคุมทุกระดับ

LiteSpeed Cache (ฟรี รองรับ LiteSpeed Server)

หาก Hosting ของคุณใช้ LiteSpeed Web Server (พบบ่อยใน cPanel Hosting ยุคใหม่) ให้ใช้ LiteSpeed Cache เพราะทำงานร่วมกับ server โดยตรง ได้ผลลัพธ์ดีกว่า plugin ทั่วไปมาก ฟีเจอร์ครอบคลุมตั้งแต่ page cache, image optimization, CSS/JS minify และ lazy load

WP Rocket (จ่ายเงิน)

WP Rocket เป็น premium caching plugin ที่ตั้งค่าง่ายที่สุด เหมาะสำหรับมือใหม่ที่ไม่อยากเสียเวลาปรับแต่งละเอียด แค่ติดตั้งและเปิดใช้งานก็ได้ประสิทธิภาพที่ดีแล้ว

ขั้นตอนที่ 2 — เปิด GZip Compression ใน .htaccess

GZip compression ทำให้ไฟล์ HTML, CSS, JavaScript ที่ส่งจาก server ไปยัง browser มีขนาดเล็กลงได้ถึง 70% เพิ่มบรรทัดต่อไปนี้ใน .htaccess ที่ root ของ WordPress

# Enable GZip Compression
<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/plain text/xml
  AddOutputFilterByType DEFLATE text/css text/javascript
  AddOutputFilterByType DEFLATE application/javascript application/x-javascript
  AddOutputFilterByType DEFLATE application/json application/xml
  AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>

# Browser Caching
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType image/jpg "access plus 1 year"
  ExpiresByType image/jpeg "access plus 1 year"
  ExpiresByType image/png "access plus 1 year"
  ExpiresByType image/gif "access plus 1 year"
  ExpiresByType image/webp "access plus 1 year"
  ExpiresByType text/css "access plus 1 month"
  ExpiresByType application/javascript "access plus 1 month"
</IfModule>

ขั้นตอนที่ 3 — อัปเกรด PHP เป็นเวอร์ชันล่าสุด

PHP 8.2 เร็วกว่า PHP 7.4 ประมาณ 20–30% และเร็วกว่า PHP 5.6 เกือบ 3 เท่า สามารถเปลี่ยน PHP version ได้ใน cPanel > Software > Select PHP Version เลือกเวอร์ชัน 8.2 หรือ 8.3

หมายเหตุ: ก่อนอัปเกรด PHP ให้ทำ backup เว็บก่อนทุกครั้ง และตรวจสอบ compatibility ของ plugin ที่ใช้งานอยู่

ขั้นตอนที่ 4 — ใช้ CDN กระจายไฟล์ Static

CDN (Content Delivery Network) ช่วยให้ไฟล์รูปภาพ, CSS, JavaScript ถูกส่งจาก server ที่ใกล้กับผู้เข้าชมมากที่สุด ลด latency และ server load ได้อย่างมาก สำหรับ WordPress บน Shared Hosting แนะนำ

ขั้นตอนที่ 5 — Optimize รูปภาพ

รูปภาพที่ไม่ได้ optimize มักเป็นสาเหตุหลักที่ทำให้หน้าเว็บโหลดช้า แนะนำให้ใช้ plugin ดังนี้

นอกจาก plugin ยังควรอัปโหลดรูปที่มีขนาดเหมาะสมตั้งแต่แรก รูปที่แสดงบนเว็บ 800px ไม่ควรอัปโหลดรูป 4000px ขึ้นไป

ขั้นตอนที่ 6 — Minify CSS และ JavaScript

Minify คือการลบ whitespace, comment และย่อ variable name ใน CSS/JS เพื่อลดขนาดไฟล์ caching plugin ส่วนใหญ่มีฟีเจอร์นี้ในตัว หรือใช้ Autoptimize plugin ได้ฟรี


ตรวจสอบความเร็วเว็บด้วย Command Line

# วัดเวลาโหลดด้วย curl
curl -o /dev/null -w "DNS: %{time_namelookup}s | Connect: %{time_connect}s | TTFB: %{time_starttransfer}s | Total: %{time_total}s\n" -s https://yoursite.com

# ตรวจสอบว่า GZip ทำงานหรือไม่
curl -I -H "Accept-Encoding: gzip" https://yoursite.com | grep -i content-encoding

# ดู response header ทั้งหมด
curl -I https://yoursite.com

# ทดสอบ cache header
curl -I https://yoursite.com/wp-content/themes/your-theme/style.css | grep -i cache
Tip: TTFB (Time to First Byte) ที่ดีควรต่ำกว่า 200ms และ Total Time ไม่ควรเกิน 3 วินาที หากเกินให้ตรวจสอบ caching plugin ก่อนเป็นอันดับแรก

แก้ปัญหาที่พบบ่อย

หลังเปิด Cache แล้วเว็บแสดงข้อมูลเก่า

ให้ Clear Cache จาก plugin dashboard ทุกครั้งที่แก้ไขเนื้อหา หรือตั้งค่า cache expiry ให้สั้นลง W3TC และ WP Rocket มีปุ่ม "Purge All Caches" บน admin bar

GZip ไม่ทำงานทั้งที่ใส่ .htaccess แล้ว

บาง hosting ปิด mod_deflate ไว้ ให้ตรวจสอบด้วย curl -I -H "Accept-Encoding: gzip" URL หาก content-encoding: gzip ไม่ปรากฏ ให้ติดต่อ hosting support เพื่อเปิด module

CSS/JS หายหลัง Minify

Plugin บางตัว minify แล้วทำให้ JavaScript error เกิดขึ้น ให้ไปที่ Autoptimize > Exclusions แล้วเพิ่ม script ที่มีปัญหาเข้า exclude list

ความเร็วดีบน Desktop แต่ Mobile ยังช้า

เปิด Lazy Load สำหรับรูปภาพ และเปิด Defer JavaScript ใน caching plugin จะช่วยให้ Mobile score ดีขึ้นมาก เพราะหน้าจอมือถือโหลด resource น้อยกว่า

Cloudflare Cache ทำให้ Admin ผิดปกติ

ตั้งค่า Page Rule ใน Cloudflare ให้ bypass cache สำหรับ URL ที่มี /wp-admin/* และ /wp-login.php เพื่อให้ admin ทำงานปกติ


คำถามที่พบบ่อย

ควรใช้ caching plugin กี่ตัว

ใช้ได้แค่ตัวเดียวเท่านั้น การใช้หลายตัวพร้อมกันทำให้เกิด conflict และอาจทำให้เว็บเสียหาย เลือกตัวที่เหมาะกับ hosting ของคุณแล้วใช้ตัวเดียวให้ครบฟีเจอร์

Shared Hosting เร่งความเร็วได้มากแค่ไหน

ด้วยการ optimize ที่ถูกต้อง WordPress บน Shared Hosting สามารถโหลดได้ภายใน 1–2 วินาทีได้ ถ้าต้องการเร็วกว่านั้นอย่างมีนัยสำคัญ อาจต้องพิจารณาอัปเกรดเป็น VPS หรือ Cloud Hosting

PageSpeed Insights กับ GTmetrix ใช้ตัวไหนดีกว่า

ใช้ทั้งคู่ครับ PageSpeed Insights ใช้ข้อมูล Core Web Vitals จริงจาก Chrome users ส่วน GTmetrix ให้รายละเอียด waterfall chart ที่ช่วยวิเคราะห์ได้ลึกกว่า ทั้งคู่ฟรีและเสริมกัน