WordPress หน้าขาว แก้ยังไง? รวมสาเหตุที่พบบ่อยและวิธีเช็กเบื้องต้น

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

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

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

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

คำว่า WordPress หน้าขาว หรือที่หลายคนเรียก คือ White Screen of Death เป็นอาการที่หน้าเว็บโหลดแล้วไม่แสดง Content ตามปกติ บางเคสขาวทั้งหน้า บางเคสเกิดเฉพาะบางหน้า หรือเกิดเฉพาะหลังบ้าน wp-admin ครับ

สาเหตุที่ดูเหมือน “ไม่มีอะไรบอกเลย”เป็นเพราะว่า Error ฝั่ง PHP อาจไม่ได้ถูกตั้งให้แสดงบนหน้าเว็บ หรือระบบหยุดทำงานก่อนโหลดหน้าเว็บเสร็จ ปัจจุบัน WordPress มี Recovery Mode ที่ช่วยรับมือพวก Fatal Error บางประเภท โดยอาจส่งอีเมลไปยังอีเมลของผู้ดูแลเว็บและให้ลิงก์สำหรับเข้าไปแก้ไขปัญหาในส่วนที่มีปัญหาครับ

ถ้าเว็บขึ้นข้อความ “There has been a critical error on this website” แทนหน้าขาว ก็เข้าข่ายครับ เพราะต้นเหตุจำนวนมากยังอยู่ที่ Plugin, Theme, Custom Code หรือ PHP Error เหมือนกันครับ

อาการจุดที่น่าสงสัยเช็กต่ออย่างไร
เว็บขึ้นหน้าขาวทั้งเว็บPlugin / Theme / PHP Fatal ErrorRecovery Mode + Error Log
เฉพาะบางหน้าเป็นหน้าขาวโค้ดหรือ Plugin ที่ทํางานเฉพาะหน้านั้นดู Error Log ของหน้าที่มีปัญหา
หลังอัปเดตแล้วพังทันทีVersion Conflictเช็กสิ่งที่อัปเดตล่าสุด + Backup
หน้าเว็บเปิดได้ แต่ wp-admin เข้าไม่ได้Admin-side Error / Plugin ConflictRecovery Mode หรือ Hosting

ตารางเปรียบเทียบอาการ WordPress หน้าขาวกับจุดที่ควรเริ่มตรวจ เช่น Plugin Theme PHP และ Error Log

WordPress หน้าขาวมักจะเกิดจากอะไรบ้าง

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

1. Plugin Conflict หรือ Plugin ที่ทำให้เว็บพัง

เคสที่ผมเจอบ่อยที่สุดคือ Plugin ตัวหนึ่งอัปเดตแล้วไปชนกับ Plugin อีกตัว หรือใช้ฟังก์ชันที่ไม่เข้ากับ PHP Version ปัจจุบัน อาจทำให้เว็บไซต์ขึ้นหน้าขาวทันที เข้า wp-admin ไม่ได้ หรือบางหน้าที่มีการเรียกใช้งาน Plugin ตัวนั้นทำให้หน้านั้นเกิดพังได้ครับ ถ้าเว็บพังหลังอัปเดต สามารถอ่านบทความนี้เพิ่มเติมได้ครับ เว็บพังหลังอัปเดต WordPress เกิดจากอะไร และจะแก้ยังไงดี?

2. Theme WordPress พังหรือมีโค้ดที่ไม่เข้ากัน

ถ้าเพิ่งอัปเดต Theme, Child Theme หรือแก้ไขไฟล์ใน Theme แล้วเว็บมีปัญหา จุดนี้ควรถูกจัดไว้ในอันดับต้น ๆ ได้เช่นกันครับ โดยเฉพาะเว็บที่มี Custom Code อยู่ใน Theme มานานแล้ว แต่เพิ่งไปชนกับ WordPress หรือ PHP เวอร์ชันใหม่

3. PHP Version เปลี่ยนแล้วเกิด Fatal Error

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

4. อัปเดต WordPress แล้วเว็บพัง

ตัว WordPress Core เองไม่ได้แปลว่าจะเป็นต้นเหตุเสมอไปครับ หลายครั้งการอัปเดต Core ทำให้ Plugin หรือ Theme ที่เคยทำงานได้ต้องเจอกับเงื่อนไขใหม่ จึงดูเหมือนว่าอัปเดต WordPress แล้วเว็บพัง ทั้งที่ต้นเหตุจริงเป็น Compatibility ของส่วนอื่น ๆ

5. Resource หรือ Hosting มีปัญหา

ถ้าไม่ได้มีการอัปเดตอะไรเลย แต่เว็บขึ้นหน้าขาวพร้อมกันหลายจุด สาเหตุอาจจะมาฝั่ง Server ด้วยก็ได้ครับ เช่น Memory ไม่พอ, Process มีปัญหา, PHP Error หรือบริการบางตัวของ Hosting ล่ม เคสแบบนี้ถ้าดูจากหน้าเว็บอย่างเดียวจะเดายากครับ อาจจะต้องติดต่อ Hosting โดยตรงเพื่อสอบถามถึงปัญหาที่เกิดขึ้นครับ

ถ้าเจอ WordPress หน้าขาว ควรเช็กอะไรเป็นลำดับ

ผมแนะนำให้คิดเหมือนกำลังหาว่า “การเปลี่ยนแปลงล่าสุดคืออะไร” มากกว่าพยายามแก้ทุกอย่างพร้อมกันในเวลาเดี่ยวกันครับ ผมเลยจัดลำดับการตรวจสอบหาสาเหตุให้ด้านล่างโดยเน้นให้เจ้าของเว็บไซต์เช็กเองได้เป็นขั้นตอน ๆ ดังนี้

Flowchart ลำดับเช็ก WordPress หน้าขาว เริ่มจาก Backup สิ่งที่อัปเดตล่าสุด Recovery Mode Error Log และส่งทีม Dev เมื่อข้อมูลไม่พอ
Flowchart ลำดับเช็ก WordPress หน้าขาว เริ่มจาก Backup สิ่งที่อัปเดตล่าสุด Recovery Mode Error Log และส่งทีม Dev เมื่อข้อมูลไม่พอ

1. เช็กก่อนว่ามี Backup ที่ใช้ย้อนกลับได้หรือไม่

ก่อนแตะ Plugin, Theme, PHP Version หรือไฟล์เว็บ ผมจะเช็ก Backup ก่อนเสมอครับ ไม่ใช่แค่ดูว่ามีระบบ Backup แต่ต้องรู้ด้วยว่า Backup ล่าสุดคือวันไหน

ถ้าเว็บเป็น E-commerce, Booking หรือมีข้อมูลเข้าทุกวัน การ Restore Backup เก่าโดยไม่ดูช่วงเวลาข้อมูลอาจทำให้ Order, Form หรือข้อมูลสมาชิกหายไปได้ครับ เพราะฉะนั้น Backup คือ Safety Net แต่ไม่ใช่ปุ่ม Undo ที่กดได้โดยไม่คิดครับ

2. ย้อนดูว่าเว็บพังหลังทำอะไรไปล่าสุด

ถามให้ชัดว่าก่อนหน้านั้นเว็บยังเปิดปกติไหม แล้วก่อนเกิด WordPress Error มีอะไรเปลี่ยนบ้าง เช่น อัปเดต Plugin, อัปเดต Theme, อัปเดต WordPress, เปลี่ยน PHP Version, ย้าย Hosting หรือมีคนแก้โค้ด

ถ้าพังทันทีหลังอัปเดต Plugin ตัวเดียว ก็ควรเป็น Plugin ตัวนั้น การเก็บลำดับเหตุการณ์ดังกล่าวจะทำให้ตอนส่งต่อให้ทีม Dev ตรวจสอบนั้น จะเร็วขึ้นมากครับ

ถ้าไม่รู้ว่า Error นั้นคืออะไร? จะมีบทความที่รวมรหัส Error Code บนเว็บไซต์ที่เจ้าของควรรู้ + วิธีเช็กเบื้องต้นให้อ่านด้วยครับ

3. เช็กอีเมล Admin ว่ามี Recovery Mode หรือไม่

WordPress มี Recovery Mode สำหรับ Fatal Error บางกรณี เมื่อระบบตรวจเจอ Error จะส่งอีเมลไปยังอีเมลของผู้ดูแลเว็บไซต์ พร้อมรายละเอียดว่า Plugin หรือ Theme ตัวไหนมีปัญหา และจะมีลิงก์เข้าเว็บใน Recovery Mode ให้เลยครับ

ข้อดีคือส่วนที่มีปัญหาจะถูก Pause สำหรับ Session ของผู้ดูแล ทำให้มีโอกาสเข้า Dashboard เพื่อดูต้นเหตุได้โดยไม่ต้องรีบแก้ผ่าน FTP ครับ ถ้าได้รับอีเมลนี้ ให้เก็บข้อความ Error และชื่อไฟล์ที่ระบุไว้ด้วย เพราะข้อมูลพวกนี้มีประโยชน์มากครับ ซึ่งสามารถดูรายละเอียด Recovery Mode จากเอกสาร WordPress.org ได้ที่หัวข้อ Recovery Mode

4. ดู Error Log ก่อนคาดเดาด้วยตนเอง

ถ้า WordPress หน้าขาวแต่ไม่มีข้อความบนหน้าจอ สิ่งที่ผมอยากให้ทำต่อคือดู Error Log ครับ Hosting ส่วนใหญ่มี Error Log ของ PHP หรือ Server ให้ดู และ WordPress เองก็มีระบบ Debug Log สำหรับการวิเคราะห์เมื่อเปิดใช้งานอย่างถูกต้อง

เอกสารของ WordPress ระบุชัดเจนว่าก่อนเปิด Debug หรือแก้ Configuration ควรมีการ Backup หรือ Staging ก่อน และไม่ควรเปิด Error ให้แสดงต่อผู้ใช้บนเว็บจริงโดยไม่จำเป็น เพราะข้อความ Error อาจมีรายละเอียดภายในระบบครับ แนะนำให้ปิดใช้งานเว็บไซต์ก่อน หรือเปิดโหมด Maintenance ก่อนก็ได้ครับ

ถ้าเจ้าของเว็บไม่คุ้นกับ wp-config.php ผมไม่แนะนำให้เปิด WP_DEBUG ด้วยการลองผิดลองถูกหรือแก้ไฟล์เองทันทีครับ ให้ขอ Error Log จาก Hosting หรือส่งให้ทีม Dev ดูจะปลอดภัยกว่าครับ เอกสารทางการเรื่อง Debugging in WordPress อธิบายโครงสร้าง Debug Log ไว้ค่อนข้างครบเลยครับ

5. เช็ก Plugin หรือ Theme ที่อัปเดตล่าสุด

ถ้าเข้า Dashboard ได้ ให้ดูรายการอัปเดตล่าสุดและ Error ที่ Recovery Mode แจ้งก่อนครับ อย่าปิด Plugin หลายตัวพร้อมกันถ้ายังไม่มี Backup หรือยังไม่รู้ว่า Plugin ไหนเกี่ยวข้องกัน โดยเฉพาะเว็บขายของ เว็บจอง หรือเว็บที่มี Integration กับระบบภายนอก

ถ้าต้องทดสอบจริง ผมจะพยายามทำบน Staging ก่อน เพราะการปิด Plugin บนเว็บจริงอาจทำให้ Payment, Form, Tracking หรือระบบสมาชิกหยุดทำงานชั่วคราวได้ครับ

6. เช็ก PHP Version ว่ามีการเปลี่ยนไหม

ถ้าอาการเกิดหลังเปลี่ยน PHP Version ให้บันทึกเวอร์ชันเดิมและเวอร์ชันใหม่ก่อนครับ แล้วดู Error Log ว่าระบุ Requirement หรือ Function ที่ไม่รองรับหรือไม่ บาง Plugin ต้องการ PHP ใหม่ขึ้น ในขณะที่ Plugin เก่าบางตัวกลับมีปัญหาเมื่อ PHP ใหม่เกินไป

ตรงนี้จึงไม่ใช่เรื่อง “เลือก PHP เวอร์ชันไหนดีที่สุด” แบบตายตัวครับ แต่ต้องดู Compatibility ของ WordPress, Theme และ Plugin ทั้งชุดที่เว็บกำลังใช้อยู่ครับ

สรุป

ถ้าเจอ WordPress หน้าขาว ผมแนะนำให้เริ่มจาก Backup ก่อน แล้วค่อยย้อนดูสิ่งที่เปลี่ยนแปลงล่าสุด เช็ก Recovery Mode, Error Log, Plugin หรือ Theme ที่อัปเดต และ PHP Version ตามลำดับครับ วิธีนี้ไม่ใช่สูตรที่ทำแล้วหายทุกเคส แต่ช่วยลดการเดาและลดโอกาสทำให้เว็บพังได้ครับ

จากประสบการณ์แก้เว็บจริงที่ผ่าน ๆ มา จุดที่ควรระวังคือการรีบปิด Plugin หลายตัว แก้ functions.php หรือเปลี่ยน PHP ไปมาโดยยังไม่มีข้อมูล ซึ่งหลาย ๆ ที่ผมได้รับมาจะเป็นลักษณะนี้เกือบจะทุกเคสครับ ถ้า Error ยังไม่ชัดหรือเว็บมีระบบสำคัญ ผมมองว่าให้หยุดแก้ก่อนแล้วส่งข้อมูลให้ทีม Dev ช่วยตรวจสอบจะปลอดภัยกว่าครับ

FAQ