WordPress Error & Recovery

WordPress เว็บล่ม แก้ยังไง เช็ก 8 สาเหตุทีละขั้นตอน

WordPress เว็บล่ม แก้ยังไง เช็ก 8 สาเหตุทีละขั้นตอน

สรุปคำตอบ

WordPress เว็บล่ม คืออาการที่เปิดเว็บแล้วเจอหน้าขาว ขึ้น Error เช่น 500 หรือ Critical Error หรือหมุนค้างจนเข้าไม่ได้ สาเหตุที่พบบ่อยที่สุดคือ Plugin หรือ Theme ที่เพิ่งอัปเดต รองลงมาคือ Hosting เปลี่ยนเวอร์ชัน PHP, ไฟล์ .htaccess เสีย, เชื่อมต่อฐานข้อมูลไม่ได้, ทรัพยากร Hosting เต็ม, โดเมนหรือ SSL หมดอายุ และโดนแฮก วิธีแก้เบื้องต้นคือสำรองไฟล์และฐานข้อมูลก่อน แล้วปิด Plugin ทั้งหมดด้วยการเปลี่ยนชื่อโฟลเดอร์ wp-content/plugins ผ่าน File Manager หรือ FTP ถ้ายังไม่หายให้เปิด Debug Log เพื่อดูว่าไฟล์ไหนเป็นต้นเหตุ

เปิดเว็บแล้วเจอหน้าขาว ขึ้น Error หรือหมุนค้างจนเข้าไม่ได้ ทุกนาทีที่ เว็บ WordPress ล่ม คือลูกค้าที่หายไป และยิ่งรีบแก้ผิดจุดก็ยิ่งเสี่ยงทำข้อมูลเสียหายเพิ่ม บทความนี้ไล่เช็กจากเรื่องง่ายไปยาก ตั้งแต่ยืนยันว่าเว็บล่มจริง อ่านอาการจากหน้าจอ ไปจนถึง 8 สาเหตุที่เจอบ่อยที่สุดพร้อมวิธีแก้ทีละขั้นตอน

ถ้าเว็บล่มพร้อมกับไฟล์เปิดไม่ได้หรือเซิร์ฟเวอร์ส่งทราฟฟิกออกผิดปกติ อาจเป็นเหตุจาก Botnet หรือ Ransomware บนเซิร์ฟเวอร์

เช็กก่อน: เว็บล่มจริง หรือเข้าไม่ได้แค่เครื่องเรา

ก่อนแตะไฟล์ใดๆ ให้ยืนยันก่อนว่าปัญหาอยู่ที่เว็บจริง ไม่ใช่ที่อินเทอร์เน็ตหรือเบราว์เซอร์ของคุณ

  • เปิดเว็บจากมือถือโดยปิด Wi-Fi แล้วใช้ 4G/5G แทน
  • ลองเปิดในหน้าต่างไม่ระบุตัวตน (Incognito) เพื่อตัด Cache และ Cookie ออก
  • ให้คนอื่นที่อยู่คนละเครือข่ายลองเปิด หรือใช้บริการเช็กสถานะเว็บออนไลน์
  • ถ้าเข้าหน้าเว็บไม่ได้ ให้ลองเข้า /wp-admin/ ด้วย เพราะบางปัญหาหน้าบ้านล่มแต่หลังบ้านยังเข้าได้

ถ้าทุกเครือข่ายเข้าไม่ได้เหมือนกัน แปลว่าเว็บล่มจริง ไปต่อขั้นถัดไปได้เลย

อ่านอาการจากหน้าจอ บอกสาเหตุได้เกินครึ่ง

ข้อความที่เว็บแสดงตอนล่มเป็นเบาะแสที่ดีที่สุด เทียบกับตารางนี้เพื่อรู้ว่าควรเริ่มดูตรงไหน

สิ่งที่เห็นบนหน้าจอ สาเหตุที่พบบ่อย อ่านวิธีแก้ละเอียด
หน้าขาวว่างเปล่า ไม่มีข้อความ PHP Fatal Error จาก Plugin หรือ Theme WordPress หน้าจอขาว
There has been a critical error on this website Plugin/Theme ทำงานผิดพลาดหลังอัปเดต Critical Error ใน WordPress
500 Internal Server Error .htaccess เสีย, หน่วยความจำ PHP ไม่พอ, Plugin WordPress Error 500
Error Establishing a Database Connection เชื่อมต่อฐานข้อมูลไม่ได้ Error Establishing a Database Connection
Briefly unavailable for scheduled maintenance การอัปเดตค้างกลางคัน ดูข้อ 1 ด้านล่าง
403 Forbidden สิทธิ์ไฟล์ผิด หรือ Firewall/Security Plugin บล็อก File Permission ใน WordPress
This site can’t be reached / DNS_PROBE โดเมนหมดอายุ หรือ DNS ผิด ดูข้อ 7 ด้านล่าง
เว็บเด้งไปเว็บอื่น หรือ Google เตือนว่าอันตราย โดนแฮก ติดมัลแวร์ เว็บเด้งไปเว็บอื่น
WordPress เว็บล่ม หน้าขาว Error — WP Doctor Thailand
ข้อความ Error บนหน้าจอช่วยบอกได้ว่าควรเริ่มแก้จากจุดไหน

8 สาเหตุที่ทำให้ WordPress เว็บล่ม และวิธีแก้

1. อัปเดต Plugin แล้วพัง หรืออัปเดตค้าง

สาเหตุอันดับหนึ่งของเว็บล่มคือ Plugin ที่เพิ่งอัปเดต หรือ Plugin สองตัวทำงานชนกัน วิธีแก้คือปิด Plugin ทั้งหมดก่อน แล้วค่อยเปิดทีละตัวเพื่อหาตัวต้นเหตุ

  • ถ้ายังเข้า wp-admin ได้ ให้ปิด Plugin ที่เพิ่งอัปเดตก่อน
  • ถ้าเข้าไม่ได้ ให้เข้า File Manager ของ Hosting หรือ FTP แล้วเปลี่ยนชื่อโฟลเดอร์ wp-content/plugins เป็น plugins-off ทุก Plugin จะถูกปิดโดยไม่ลบการตั้งค่า
  • ถ้าเว็บกลับมา ให้เปลี่ยนชื่อโฟลเดอร์กลับ แล้วปิดทีละ Plugin จนเจอตัวที่ทำให้พัง
  • ถ้าเห็นข้อความ “Briefly unavailable for scheduled maintenance” ให้ลบไฟล์ .maintenance ในโฟลเดอร์หลักของเว็บ

อ่านขั้นตอนละเอียดได้ที่ WordPress พังหลังอัปเดต Plugin และ Plugin Conflict คืออะไร

2. Theme มีปัญหา

Theme ที่อัปเดตแล้วไม่รองรับ WordPress หรือ PHP เวอร์ชันใหม่ ทำให้ทั้งเว็บล่มได้ ให้เปลี่ยนชื่อโฟลเดอร์ Theme ที่ใช้อยู่ใน wp-content/themes แล้ว WordPress จะสลับไปใช้ Theme มาตรฐานอย่าง Twenty Twenty-Five ให้เอง ถ้าเว็บกลับมาได้ แปลว่าปัญหาอยู่ที่ Theme ดูต่อได้ที่ WordPress พังหลังอัปเดต Theme

3. Hosting เปลี่ยนเวอร์ชัน PHP

หลาย Hosting อัปเกรด PHP ให้อัตโนมัติ Plugin หรือ Theme เก่าที่ไม่รองรับจะพังทันที เข้าแผงควบคุม Hosting แล้วดูว่า PHP ถูกเปลี่ยนเมื่อไร ถ้าเพิ่งเปลี่ยน ให้ลดกลับไปเวอร์ชันเดิมชั่วคราวเพื่อให้เว็บกลับมา แล้วค่อยอัปเดตส่วนที่ไม่รองรับ รายละเอียดอยู่ใน PHP Version ไม่รองรับ

4. ไฟล์ .htaccess เสีย

ไฟล์ .htaccess ที่ถูก Plugin เขียนทับผิด หรือถูกมัลแวร์แก้ ทำให้ขึ้น Error 500 ทั้งเว็บ ให้เปลี่ยนชื่อไฟล์เป็น .htaccess-old แล้วลองเปิดเว็บ ถ้ากลับมาได้ ให้เข้า Settings → Permalinks แล้วกด Save เพื่อสร้างไฟล์ใหม่ที่ถูกต้อง อ่านเพิ่มที่ .htaccess พัง ทำให้ WordPress เข้าไม่ได้

5. เชื่อมต่อฐานข้อมูลไม่ได้

ถ้าขึ้น Error Establishing a Database Connection ให้ตรวจ 3 จุดตามลำดับ

  1. ค่า DB_NAME, DB_USER, DB_PASSWORD และ DB_HOST ใน wp-config.php ตรงกับฐานข้อมูลใน Hosting หรือไม่
  2. บริการ MySQL ของ Hosting ล่มอยู่หรือไม่ ดูจากหน้าสถานะหรือถาม Support
  3. ตารางในฐานข้อมูลเสียหายหรือไม่ ซ่อมได้ด้วยการเพิ่ม define( 'WP_ALLOW_REPAIR', true ); ใน wp-config.php แล้วเปิด /wp-admin/maint/repair.php และลบบรรทัดนี้ออกทันทีเมื่อซ่อมเสร็จ

6. ทรัพยากร Hosting เต็ม

เว็บที่จู่ๆ ช้าลงจนล่ม มักมาจากทรัพยากรเต็ม เช่น พื้นที่ดิสก์เต็มเพราะไฟล์ Backup สะสม หน่วยความจำ PHP ไม่พอ หรือบอทยิงเข้ามาจำนวนมาก ลองเพิ่ม define( 'WP_MEMORY_LIMIT', '256M' ); ใน wp-config.php ลบ Backup เก่าที่ค้างในเซิร์ฟเวอร์ และดูกราฟการใช้งานในแผงควบคุม Hosting ว่าชนเพดานหรือไม่

7. โดเมน DNS หรือ SSL หมดอายุ

ถ้าเบราว์เซอร์ขึ้นว่าหาเว็บไม่เจอ หรือเตือนว่าการเชื่อมต่อไม่ปลอดภัย ปัญหาอาจไม่ได้อยู่ที่ WordPress เลย ให้เช็กวันหมดอายุโดเมนกับผู้ให้บริการจดโดเมน ตรวจว่า DNS ยังชี้ไปที่ Hosting ถูกตัว และดูว่าใบรับรอง SSL ต่ออายุอัตโนมัติหรือไม่

8. โดนแฮกหรือติดมัลแวร์

บางครั้งเว็บล่มเพราะ Hosting ระงับบัญชีหลังตรวจพบมัลแวร์ หรือโค้ดอันตรายทำให้ไฟล์ระบบพัง สัญญาณคือมีอีเมลแจ้งจาก Hosting เว็บเด้งไปเว็บอื่น หรือมีผู้ใช้แอดมินที่ไม่รู้จัก กรณีนี้ห้ามแค่กู้เว็บให้กลับมาแล้วจบ ต้องล้างมัลแวร์และปิดช่องโหว่ด้วย เริ่มจาก เว็บ WordPress โดนแฮก ต้องทำอะไรก่อน และ Hosting แจ้งพบ Malware

เปิด Debug Log เพื่อหาสาเหตุที่แท้จริง

ถ้าไล่ทุกข้อแล้วยังไม่เจอ ให้เปิดบันทึก Error ของ WordPress โดยเพิ่มบรรทัดเหล่านี้ใน wp-config.php เหนือบรรทัด “That’s all, stop editing!”

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

จากนั้นเปิดเว็บอีกครั้ง แล้วดูไฟล์ wp-content/debug.log บรรทัดที่ขึ้นต้นด้วย PHP Fatal error จะบอกชื่อไฟล์และ Plugin ที่เป็นต้นเหตุ เมื่อแก้เสร็จให้ตั้ง WP_DEBUG กลับเป็น false และลบไฟล์ log ทิ้ง เพราะอาจมีข้อมูลที่ไม่ควรเปิดเผย

สิ่งที่ไม่ควรทำตอนเว็บล่ม

  • อย่าลบ Plugin ทิ้งทันที การลบอาจทำให้การตั้งค่าหายไปด้วย ให้ใช้วิธีเปลี่ยนชื่อโฟลเดอร์แทน
  • อย่ากู้ Backup เก่าทับทันที ออเดอร์ สมาชิก หรือบทความที่เกิดหลังวันที่ Backup จะหายหมด
  • อย่าติดตั้ง WordPress ใหม่ทับทั้งเว็บ ถ้ายังไม่รู้สาเหตุ อาจทับไฟล์ที่ปรับแต่งไว้
  • อย่าแก้ไฟล์บนเว็บจริงโดยไม่สำรองไฟล์เดิม แก้ผิดบรรทัดเดียวอาจทำให้แย่ลง
จำไว้: ก่อนแก้อะไรก็ตาม ให้สำรองไฟล์และฐานข้อมูลในสภาพปัจจุบันก่อนเสมอ แม้เว็บจะล่มอยู่ก็ตาม เพื่อให้ย้อนกลับได้ถ้าแก้แล้วพลาด ดูวิธีได้ที่ ทำ Backup WordPress อย่างไรให้ปลอดภัย

ป้องกันไม่ให้เว็บล่มซ้ำ

  • ตั้ง Backup อัตโนมัติรายวัน และเก็บสำเนาไว้นอก Hosting
  • อัปเดต Plugin ทีละตัว และทดสอบบนเว็บสำรอง (Staging) ก่อนถ้าเป็นเว็บขายของ
  • ใช้บริการแจ้งเตือนเว็บล่ม เช่น UptimeRobot เพื่อรู้ตัวก่อนลูกค้า
  • ถอด Plugin และ Theme ที่ไม่ได้ใช้ออก และเลิกใช้ของเถื่อน (Nulled)
  • ดูแลความปลอดภัยตาม WordPress Security Checklist

เมื่อไหร่ควรให้ผู้เชี่ยวชาญแก้

ถ้าเว็บเป็นร้านค้าที่ล่มแล้วเสียยอดขายทุกชั่วโมง ไม่มี Backup ที่ใช้ได้ ไม่มีสิทธิ์เข้า Hosting หรือ FTP เว็บล่มซ้ำหลังแก้ไปแล้ว หรือสงสัยว่าโดนแฮก การให้คนที่ทำเรื่องนี้ทุกวันเข้าไปดูจะเร็วและเสี่ยงน้อยกว่า

WP Doctor Thailand รับแก้เว็บล่ม WordPress ตั้งแต่ Error 500 หน้าขาว Critical Error ฐานข้อมูลเชื่อมต่อไม่ได้ ไปจนถึงเว็บพังหลังอัปเดต เราหาสาเหตุจริงจาก Log กู้เว็บกลับมาโดยไม่เสียข้อมูล และส่งรายงานสรุปให้ทุกงาน แพ็กเกจเริ่มต้น 1,490 บาท เสร็จภายใน 24 ชั่วโมงสำหรับปัญหาเดียวที่อาการชัด รับประกันงานทุกแพ็กเกจ และถ้าแก้ไม่สำเร็จคืนเงินเต็มจำนวน ก่อนติดต่อ ดูได้ว่า ต้องเตรียมอะไรบ้าง เพื่อให้เริ่มงานได้ทันที

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

เว็บ WordPress ล่ม ใช้เวลาแก้นานไหม?

ถ้าสาเหตุมาจาก Plugin, Theme, PHP หรือ .htaccess ส่วนใหญ่แก้ได้ภายในไม่กี่ชั่วโมงหลังได้สิทธิ์เข้า Hosting ส่วนกรณีฐานข้อมูลเสียหายหรือโดนแฮกจะใช้เวลามากกว่า เพราะต้องตรวจสอบและกู้ข้อมูลอย่างระมัดระวัง

เว็บล่มแล้วข้อมูลจะหายไหม?

โดยทั่วไปไม่หาย เพราะข้อมูลยังอยู่ในไฟล์และฐานข้อมูล ความเสี่ยงจริงมาจากการแก้ผิดวิธี เช่น ลบ Plugin หรือกู้ Backup เก่าทับ จึงควรสำรองข้อมูลปัจจุบันก่อนเริ่มแก้ทุกครั้ง

เข้าหน้า wp-admin ไม่ได้ จะแก้ยังไง?

เข้าผ่าน File Manager ของ Hosting หรือ FTP แล้วเปลี่ยนชื่อโฟลเดอร์ plugins หรือ Theme ที่ใช้อยู่เพื่อปิดการทำงานชั่วคราว หลายกรณี WordPress จะส่งอีเมลลิงก์ Recovery Mode มาให้แอดมินด้วย ใช้ลิงก์นั้นเข้าไปปิด Plugin ที่มีปัญหาได้

Hosting บอกว่าไม่ใช่ปัญหาฝั่งเขา ต้องทำอย่างไรต่อ?

เปิด Debug Log ตามวิธีในบทความเพื่อดูว่า Error มาจากไฟล์ไหน ถ้าเป็นไฟล์ใน Plugin หรือ Theme แปลว่าปัญหาอยู่ที่ตัวเว็บจริง ให้แก้ตามสาเหตุนั้น หรือส่ง Log ให้ผู้เชี่ยวชาญช่วยวิเคราะห์

จ้างแก้เว็บล่มต้องเตรียมอะไรบ้าง?

เตรียมสิทธิ์เข้า Hosting หรือ cPanel, FTP, บัญชีแอดมิน WordPress และเล่าว่าก่อนเว็บล่มมีการเปลี่ยนแปลงอะไร เช่น อัปเดต Plugin หรือย้าย Hosting ข้อมูลเหล่านี้ช่วยให้หาสาเหตุได้เร็วขึ้นมาก

เว็บ WordPress ล่มเกิดจากอะไรบ่อยที่สุด?

สาเหตุอันดับหนึ่งคือ Plugin ที่เพิ่งอัปเดตหรือ Plugin สองตัวทำงานชนกัน รองลงมาคือ Theme ไม่รองรับเวอร์ชันใหม่ Hosting เปลี่ยนเวอร์ชัน PHP และไฟล์ .htaccess เสีย ข้อความ Error บนหน้าจอช่วยบอกได้ว่าควรเริ่มดูจากจุดไหน

เปิด Debug Log ใน WordPress ทำยังไง?

เพิ่ม define( 'WP_DEBUG', true ); และ define( 'WP_DEBUG_LOG', true ); ใน wp-config.php เหนือบรรทัด “That’s all, stop editing!” แล้วเปิดเว็บอีกครั้งเพื่อดูไฟล์ wp-content/debug.log บรรทัด PHP Fatal error จะบอกชื่อไฟล์และ Plugin ที่เป็นต้นเหตุ เมื่อแก้เสร็จให้ตั้ง WP_DEBUG กลับเป็น false และลบไฟล์ log ทิ้ง

อ่านบทความหลักของหมวดนี้ WordPress Error 500 คืออะไร และแก้ไขอย่างไร

บทความอื่นในหมวดนี้

LINE ส่งปัญหา