WordPress ขึ้นหน้าขาว White screen

WordPress ขึ้นหน้าขาว White screen

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

ปัญหาการขึ้นหน้าขาวที่หน้าเว็บไซต์หรือหลังเว็บไซต์เรียกว่า WordPress White Screen of Death แปลเป็นภาษาไทยก็ประมาณ“หน้าขาวแห่งความตาย”แต่คงไม่ถึงตาย มีปัญหาย่อมมีทางแก้ส่วนใหญ่เกิดจากโปรแกรมที่ทำงานร่วมกับ WordPress มีปัญหาโปรแกรมที่ว่าก็คือธีมกับปลั๊กอิน(โดยหลักการธีมก็คือโปรแกรมชนิดหนึ่ง)

หากเราอัพเดท WordPress หรือธีมหรือปลั๊กอินเป็นเวอร์ชันล่าสุดแล้วตามหลักการก็ไม่น่ามีปัญหาเพราะปกติผู้พัฒนาโปรแกรมจะมีการทดสอบก่อนที่จะออกเวอร์ชันใหม่ให้อัพเดท ก่อนการอัพเดทคุณควรตรวจสอบก่อนว่าธีมหรือปลัั๊กอินนั้นทดสอบกับ WordPress เวอร์ชันที่คุณใช้อยู่หรือไม่(ซึ่งควรเป็นเวอร์ชั่นล่าสุด)แต่หากเราอัพเดพแล้วอาจใช้ไม่ได้ซึ่งต้องพิจารณาหาสาเหตุต่อไป

ปัญหาจากธีม

เป็นกรณีที่สังเกตได้ง่ายที่สุดเพราะหากเราเปลี่ยนธีมหรืออัพเดทธีมที่ใช้อยู่แล้วเกิดปัญหาก็แสดงว่าปัญหาอยู่ที่ธีมถ้าคุณยังเข้าหลังเว็บได้ให้ลองสลับไปใช้ธีมมาตรฐาน twenty seventeen ดูว่าปัญหาหน้าขาวหายไปหรือไม่

ถ้าหายแสดงว่าปัญหาอยู่ที่ธีม (แต่ก็ไม่จำเป็นเพราะปัญหาอาจมาจากตัวปลั๊กอินที่ไม่สามารถทำงานร่วมกับธีมเวอร์ชั่นนั้นก็ได้-อ่านหัวข้อถัดไป)

แต่ถ้าไม่หายแสดงว่าปัญหาอาจมาจากตัวปลั๊กอินไม่ใช่ตัวธีม ก่อนที่จะเกิดปัญหาคุณอาจจะไปทำอะไรบางอย่างกับปลั๊กอินโดยไม่รู้ตัว

ถ้าเข้าหลังเว็บแล้วเป็นหน้าขาวด้วยก็ให้อ่านหัวข้อถัดไป

ปัญหาจากปลั๊กอิน

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

ต้องแน่ใจว่าปัญหาเกิดจากปลั๊กอิน

ลองทบทวนดูว่าก่อนเกิดหน้าขาวคุณทำอะไรเกี่ยวกับปลั๊กอินไปบ้าง เช่นแก้ไข settingsหรือลงปลั๊กอินใหม่ ถ้าหน้าขาวเกิดขึ้นเฉพาะที่หน้าเว็บไซต์คุณยังเข้าด้านหลังเว็บได้ก็ค่อยอุ่นใจลองแก้ไข settings กลับไปที่เดิมหรือ deactivate ปลั๊กอินที่เพิ่งลงใหม่ (ที่คิดว่าเป็นตัวปัญหา) ถ้าหายแสดงว่าปลั๊กอินตัวนั้นมีปัญหาลอง deactivate และ activate กลับไปกลับมาถ้าเกิดหน้าขาวสลับไปสลับมาก็แสดงว่าเป็นปลั๊กอินตัวนั้นแน่นอน

แต่ถ้าคุณเข้าด้านหลังเว็บไม่ได้อันนี้งานหนักหน่อย ถ้าคุณมีปลั๊กอินต้องสงสัยและต้องการ deactivate แต่คุณเข้าด้านหลังเว็บไม่ได้ก็ต้องใช้ file manager ใน direct admin ช่วยหรือใช้ FileZilla แล้วแต่สะดวก ลบปลั๊กอิน (อยู่ที่public_html/ wp-content / plugins) ต้องสงสัยออกซึ่งจะเป็นการ deactivate ปลั๊กอินตัวนั้นโดยอัตโนมัติ ลอง refresh ทั้งด้านหน้าและด้านหลังว่ายังขึ้นหน้าขาวอีกหรือไม่

ถ้ายังขึ้นอีกให้คุุณลองเดาว่าก่อนหน้านั้นยังมีปลั๊กอินตัวใดที่คุณเข้าไปยุ่งเกี่ยว(โดยเปลี่ยน settings หรือ update) ไล่ลบปลั๊กอินไปเรื่อยๆจนกระทั่งจะไม่เหลือปลั๊กอินเลยซึ่งโดยหลักการระบบของ WordPress สามารถทำงานได้แม้จะไม่มีปลั๊กอินสักตัว! ถ้าไม่มีปลั๊กอินเลยสักตัวแล้วยังขึ้นหน้าขาวเหมือนเดิมแสดงว่าปัญหาไม่ได้เกิดจากปลั๊กอิน

การหาปลั๊กอินที่ทำให้เกิดปัญหา

ถ้าคุณจำไม่ได้ว่าก่อนเกิดปัญหาคุณทำอะไรกับปลั๊กอินไปบ้างให้ลองเดาแล้วไล่ลบปลั๊กอินไปเรื่อยๆ สมมติว่าลบปลั๊กอินตัวหนึ่งแล้วปัญหาหน้าขาวหายไปที่ด้านหลังเว็บหายไปให้คุณติดตั้งปลั๊กอินตัวนั้นกลับเจ้าไปแล้ว activate-deactivate ดูว่าปัญหาหน้าขาวเกิดขึ้นกลับไปกลับมาหรือไม่ถ้าใช่ก็แสดงว่าปัญหาอาจจะมาจากปลั๊กอินตัวนั้น ที่ผมใช้คำว่า “อาจจะ”ก็เพราะว่าบางทีปัญหาอาจจะเกิดจากการทำงานร่วมกันของปลั๊กอินสองตัวเช่นปลั๊กอิน A ทำงานร่วมกับปลั๊กอิน B ไม่ได้แต่เราลบ B ก่อนแล้วหน้าขาวหายไปก็ไม่ได้แปลว่าปัญหาเกิดจาก B ตัวเดียวเพราะถ้าเราลบ A ก่อนก็จะได้ผลเหมือนกัน

เมื่อเจอตัวปลั๊กอินที่เป็นปัญหา

ถ้าการ settings บางอย่างของปลั๊กอินทำให้เกิดปัญหาหน้าขาวอันนี้สาหัสหน่อยเพราะระบบของ WordPress จะไม่ลบ settings ของปลั๊กอินหลังจากที่เรา deactivate หรือแม้แต่ delete ปลั๊กอินตัวนั้นไปก็ตาม เมื่อเราติดตั้งปลั๊กอินตัวเดิมอีกครั้งแล้ว activate มันก็จะยังคงใช้ settings อันเดิมอยู่

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

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

ข้อสังเกตวิธีที่ง่ายกว่าการลบปลั๊กอินก็คือใช้ file manager ใน direct admin หรือใน FileZilla เปลี่ยนชื่อโฟลเดอร์ของปลั๊กอินเป็นชื่ออื่นเช่น ถ้าเราคิดว่า Gutenberg เป็นปัญหาก็เปลี่ยนชื่อโฟลเดอร์เป็น _gutenberg หรือ gutenberg.old ก็เท่ากับว่าเราได้ deactivate ปลั๊กอินตัวนี้

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

ปัญหาจากโฮสต์ที่คุณใช้

ธีมหรือปลั๊กอินที่มีฟีเจอร์หลายอย่างมักจะต้องการโฮสต์ที่มีการเซตค่าบางอย่างไว้สูงกว่าปกติเช่นจำนวนหน่วยความจำที่จัดสรรให้เว็บไซต์,เวอร์ชั่นต่ำสุดของ php ที่ใช้และการเซตบางอย่างเป็นพิเศษใน wp-config.php ของ WordPress ซึ่งโดยปกติธีมหรือปลั๊กอินมักจะมีเมนูเตือนให้เราเซตค่าต่างๆให้ได้ตามต้องการ

บทความนี้ผมสมมติว่าคุณเกิดปัญหาจากการใช้ธีมหรือปลั๊กอินที่ไม่ได้กินทรัพยากรอะไรมาก สาเหตุจากกรณีนี้คงไม่เกิด แต่ถ้าคุณใช้ปลั๊กอินพิเศษคุณคงมีความรู้ทางด้านเทคนิคมากพอที่จะแก้ปัญหาได้ ผมจะไม่ลงรายละเอียดในกรณีนี้