
สรุปสั้น: เว็บ WordPress ส่วนใหญ่ล่มด้วยสาเหตุซ้ำ ๆ ไม่กี่อย่าง คือ ฐานข้อมูลเชื่อมต่อไม่ได้, ปลั๊กอินหรือธีมมีข้อผิดพลาด, เซิร์ฟเวอร์รับโหลดไม่ไหว, ใบรับรอง SSL หรือโดเมนหมดอายุ และโฮสติ้งระงับบัญชี วิธีหาสาเหตุให้เร็วที่สุดคือดู อาการ ที่หน้าเว็บแสดงหรือรหัส HTTP ที่ได้ แล้วไล่แก้ตามตารางด้านล่าง
ขั้นแรก: เช็คก่อนว่าเว็บล่มจริงไหม
เมื่อลูกค้าบอกว่า “เข้าเว็บไม่ได้” บางครั้งเว็บไม่ได้ล่ม แต่เป็นที่เน็ต เครื่อง หรือเบราว์เซอร์ของคนนั้น ให้ตรวจจากภายนอกก่อน เช่นด้วย เครื่องมือเช็คเว็บล่มฟรี ซึ่งบอกได้ทันทีว่าเว็บตอบรหัสอะไร ใช้เวลาตรงไหน และใบรับรอง SSL ยังใช้ได้ไหม
สองอย่างที่ต้องจดไว้จากผลตรวจคือ รหัส HTTP (เช่น 500, 502, 503) และ ข้อความบนหน้าเว็บ เพราะใช้ชี้สาเหตุได้แทบทุกกรณี
ดูอาการ แล้วรู้สาเหตุ
| อาการที่เห็น | สาเหตุที่พบบ่อย | เริ่มแก้ตรงไหน |
|---|---|---|
| “Error establishing a database connection” | ฐานข้อมูลดับหรือรับการเชื่อมต่อไม่ไหว, รหัสผ่านฐานข้อมูลใน wp-config.php ไม่ตรง | เช็คว่าบริการฐานข้อมูล (MySQL/MariaDB) ยังทำงาน, ดูค่าใน wp-config.php, ถามโฮสติ้งเรื่องทรัพยากร |
| “There has been a critical error on this website” หรือหน้าขาว, รหัส 500 | ปลั๊กอินหรือธีมมีข้อผิดพลาด มักเกิดหลังอัปเดต หรือหน่วยความจำ PHP ไม่พอ | ดูอีเมลแจ้งเตือนของ WordPress (มีลิงก์ Recovery Mode) หรือเปิด log แล้วปิดปลั๊กอินตัวที่มีปัญหา |
| 502 Bad Gateway, 504 Gateway Timeout | PHP ตอบไม่ทัน: worker ไม่พอ, ปลั๊กอินทำงานหนัก, คำขอจากบอทจำนวนมาก | ดูการใช้ CPU/RAM ของเซิร์ฟเวอร์, เพิ่มแคช, บล็อกบอทที่ยิง wp-login.php และ xmlrpc.php |
| 503 และข้อความ “Briefly unavailable for scheduled maintenance” | อัปเดตค้างกลางทาง ไฟล์ .maintenance ยังอยู่ | ลบไฟล์ .maintenance ที่โฟลเดอร์หลักของเว็บ แล้วเช็คว่าอัปเดตครบ |
| Cloudflare 521, 522, 524 | Cloudflare ปกติ แต่เซิร์ฟเวอร์ต้นทางไม่ตอบ (521 ปฏิเสธการเชื่อมต่อ, 522 เชื่อมต่อไม่ทัน, 524 ประมวลผลนานเกินไป) | เช็คที่เซิร์ฟเวอร์ต้นทางโดยตรง ปัญหาไม่ได้อยู่ที่ Cloudflare |
| เบราว์เซอร์เตือนว่าการเชื่อมต่อไม่ปลอดภัย | ใบรับรอง SSL หมดอายุ (ต่ออายุอัตโนมัติล้มเหลว) หรือใบรับรองไม่ตรงกับโดเมน | ต่ออายุใบรับรอง แล้วเช็คว่าระบบต่ออายุอัตโนมัติยังทำงาน |
| หาเว็บไม่เจอเลย หรือขึ้นหน้าที่จอดโดเมน | โดเมนหมดอายุ หรือ DNS ถูกเปลี่ยน | ต่ออายุโดเมนกับผู้ให้บริการจดโดเมน แล้วเช็คค่า DNS |
| “Account suspended” หรือหน้าของโฮสติ้ง | ใช้ทรัพยากรเกินแพ็กเกจ หรือค้างชำระ | ติดต่อโฮสติ้ง |
| เว็บเปิดได้ แต่ช้ามาก | ไม่มีแคชหน้าเว็บ, ปลั๊กอินหนัก, ฐานข้อมูลช้า | ดูว่าเวลาหมดไปกับขั้นไหน ถ้าเป็นการรอเซิร์ฟเวอร์ (TTFB) ให้เริ่มที่แคชและปลั๊กอิน |
ไล่หาสาเหตุทีละขั้น
- ตรวจจากภายนอก จดรหัส HTTP ข้อความ และเวลาที่ใช้ ถ้าเวลาส่วนใหญ่เป็น “รอเซิร์ฟเวอร์” แปลว่าปัญหาอยู่ที่ตัวเว็บหรือโฮสติ้ง ไม่ใช่เครือข่าย
- ดู log ข้อผิดพลาด เปิด
WP_DEBUGและWP_DEBUG_LOGใน wp-config.php แล้วดูไฟล์wp-content/debug.logหรือดู error log ของเว็บเซิร์ฟเวอร์ในแผงควบคุมของโฮสติ้ง ข้อความใน log มักบอกชื่อปลั๊กอินหรือไฟล์ที่พัง - ปิดปลั๊กอินทั้งหมดชั่วคราว ถ้าเข้าหน้าแอดมินไม่ได้ ให้เปลี่ยนชื่อโฟลเดอร์
wp-content/pluginsผ่าน FTP หรือ File Manager ถ้าเว็บกลับมา ค่อยเปิดทีละตัวเพื่อหาตัวต้นเหตุ ถ้ายังไม่กลับมา ลองสลับเป็นธีมมาตรฐาน - เช็คทรัพยากรของเซิร์ฟเวอร์ CPU, RAM และพื้นที่ดิสก์เต็มไหม ดิสก์เต็มทำให้ฐานข้อมูลหยุดทำงานได้ และเป็นสาเหตุที่คนมักมองข้าม
- ถามว่าเปลี่ยนอะไรล่าสุด อัปเดตปลั๊กอิน เปลี่ยนเวอร์ชัน PHP หรือย้ายโฮสติ้ง สาเหตุส่วนใหญ่คือสิ่งที่เพิ่งเปลี่ยน
ทำให้รู้ก่อนลูกค้าโทรมา
ทุกสาเหตุข้างบนเกิดได้ตอนตีสามหรือวันหยุด ปัญหาจริงคือรู้ช้า ไม่ใช่แก้ยาก ถ้าดูแลเว็บ WordPress หลายเว็บ ควรมีระบบตรวจที่แจ้งเตือนทันที PulseAvesta ช่วยได้ตรงนี้ ใช้ฟรี:
- ตรวจทุก 5 นาที และแจ้งเตือนเข้า LINE, Telegram หรืออีเมล พร้อมบอกสาเหตุ เช่น 502, หมดเวลา, ไม่พบโดเมน
- จับหน้าที่พังแต่ยังตอบปกติ ตั้งข้อความที่หน้าเว็บห้ามมีได้ เช่น
Error establishing a database connectionหรือcritical errorบางกรณีหน้าพังแต่ยังตอบรหัส 200 เช่น แคชเก็บหน้า error ไว้ หรือหน้าระงับบัญชีของโฮสติ้ง - แยกเวลาตอบสนอง เห็นว่าเว็บช้าที่ DNS การเชื่อมต่อ SSL หรือตัวเซิร์ฟเวอร์ ตั้งแต่ก่อนจะล่มจริง
- เตือนก่อน SSL และโดเมนหมดอายุ สองสาเหตุที่ป้องกันได้ 100% ถ้ารู้ล่วงหน้า
- ตรวจจับเนื้อหาเปลี่ยน ช่วยให้รู้เร็วถ้าเว็บถูกแฮกแล้วถูกแก้หน้า
คำถามที่พบบ่อย
เว็บ WordPress ล่มบ่อย ควรย้ายโฮสติ้งไหม
ดูสาเหตุก่อน ถ้าล่มเพราะฐานข้อมูลดับหรือ 502/504 บ่อยในช่วงคนเข้าเยอะ และเวลารอเซิร์ฟเวอร์สูงแม้เปิดแคชแล้ว แพ็กเกจอาจเล็กเกินไป แต่ถ้าล่มหลังอัปเดตปลั๊กอิน ย้ายโฮสติ้งก็ไม่ช่วย
รหัส 500 กับ 502 ต่างกันอย่างไร
500 คือ PHP ของเว็บเองเกิดข้อผิดพลาด มักมาจากปลั๊กอินหรือธีม ส่วน 502 คือตัวกลาง เช่นเว็บเซิร์ฟเวอร์หรือ CDN ไม่ได้คำตอบที่ถูกต้องจาก PHP มักเกิดจาก PHP ล่มหรือรับโหลดไม่ไหว
ทำไมฉันเปิดเว็บได้ แต่ลูกค้าเปิดไม่ได้
อาจเป็นเพราะเบราว์เซอร์ของคุณใช้แคชเดิม, ไฟร์วอลล์บล็อกบางประเทศหรือบางเครือข่าย หรือ DNS ของบางผู้ให้บริการยังไม่อัปเดต ตรวจจากภายนอกด้วยเครื่องมือเช็คเว็บล่มจะช่วยแยกได้ว่าเป็นที่ตัวเว็บหรือที่ฝั่งผู้ใช้