วิธีแก้ WordPress ขึ้น 500 Internal Server Error

ข้อผิดพลาด “500 Internal Server Error” หมายถึงเซิร์ฟเวอร์พบปัญหาภายใน แต่ไม่ได้ระบุสาเหตุชัดเจนบนหน้าเว็บ WordPress อาจเปิดไม่ได้ทั้งเว็บไซต์ หรือเกิดเฉพาะบางหน้า สาเหตุที่พบบ่อย ได้แก่ ปลั๊กอินหรือธีมมีปัญหา ไฟล์ตั้งค่าเซิร์ฟเวอร์ผิดพลาด ข้อจำกัดทรัพยากร หรือการเปลี่ยนแปลงหลังอัปเดตเว็บไซต์

เริ่มจากตรวจสิ่งที่เพิ่งเปลี่ยนและสำรองข้อมูลก่อนแก้ไฟล์ หากแก้ทีละขั้น จะช่วยหาต้นเหตุได้ง่ายขึ้น ComSiam แนะนำให้ตรวจ Error Log ของโฮสติ้งก่อนทดลองเปลี่ยนค่าหลายอย่างพร้อมกัน

❶ ตรวจสอบว่าเกิดปัญหากับหน้าใดบ้าง

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

หากเกิดเฉพาะบางหน้า ให้จด URL และเวลาที่พบปัญหาไว้ หากเกิดทั่วเว็บไซต์ ให้ตรวจสอบสถานะโฮสติ้งและ Error Log เพื่อดูว่ามีเหตุขัดข้องหรือไม่

❷ ตรวจสอบ Error Log ของโฮสติ้ง

เข้าแผงควบคุมโฮสติ้งแล้วค้นหาส่วน Error Log หรือบันทึกข้อผิดพลาด ตรวจรายการที่ตรงกับเวลาที่เว็บไซต์แสดงข้อผิดพลาด 500

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

❸ ปิดปลั๊กอินที่เพิ่งเปลี่ยนแปลง

หากปัญหาเริ่มหลังติดตั้งหรืออัปเดตปลั๊กอิน ให้ปิดปลั๊กอินตัวนั้นชั่วคราวผ่านหน้าแอดมิน แล้วทดสอบเว็บไซต์ หากเข้าแอดมินไม่ได้ ให้ใช้ File Manager หรือ FTP เปลี่ยนชื่อโฟลเดอร์ของปลั๊กอินที่สงสัย เพื่อให้ WordPress หยุดโหลดปลั๊กอินดังกล่าว

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

❹ ตรวจสอบธีมที่ใช้งานอยู่

หากข้อผิดพลาดเกิดหลังเปลี่ยนหรืออัปเดตธีม ให้ลองสลับไปใช้ธีมมาตรฐานที่ติดตั้งไว้ หากเข้าแอดมินไม่ได้ ให้ตรวจ Error Log หรือขอให้โฮสติ้งช่วยตรวจไฟล์ธีมก่อนเปลี่ยนชื่อหรือลบไฟล์

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

❺ ตรวจสอบไฟล์ตั้งค่าและไฟล์ .htaccess

ไฟล์ .htaccess ที่เสียหายหรือมีคำสั่งที่เซิร์ฟเวอร์ไม่รองรับอาจทำให้เกิดข้อผิดพลาด 500 ได้ หากเข้าแอดมินได้ ให้ไปที่ การตั้งค่า → ลิงก์ถาวร แล้วกดบันทึกการเปลี่ยนแปลงเพื่อให้ WordPress สร้างกฎลิงก์ใหม่

หากเข้าแอดมินไม่ได้ ให้ดาวน์โหลดสำเนาไฟล์ .htaccess ก่อนแก้ไข และขอให้โฮสติ้งตรวจสอบว่ามีกฎใดผิดพลาดหรือขัดกับการตั้งค่าเซิร์ฟเวอร์หรือไม่ อย่าลบไฟล์นี้โดยไม่เก็บสำเนา เพราะอาจทำให้ลิงก์ถาวรของเว็บไซต์ใช้งานไม่ได้

❻ ตรวจสอบ PHP และทรัพยากรของเซิร์ฟเวอร์

ข้อผิดพลาด 500 อาจเกิดจากสคริปต์ใช้หน่วยความจำหรือทรัพยากรเกินข้อจำกัด หรือจากธีมและปลั๊กอินที่ไม่รองรับเวอร์ชัน PHP ปัจจุบัน

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

❼ ตรวจสอบสิทธิ์ไฟล์และการเปลี่ยนแปลงล่าสุด

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

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

❽ ติดต่อโฮสติ้งเมื่อยังแก้ไม่ได้

หากตรวจปลั๊กอิน ธีม และไฟล์ตั้งค่าแล้วแต่ยังพบข้อผิดพลาด ให้ส่งข้อมูลต่อไปนี้แก่ฝ่ายสนับสนุน:

  • URL ที่แสดงข้อผิดพลาด
  • เวลาที่พบปัญหา
  • การเปลี่ยนแปลงล่าสุดก่อนเว็บไซต์เริ่มมีปัญหา
  • รายการที่ลองตรวจสอบแล้ว
  • ข้อความจาก Error Log หากมี

ComSiam แนะนำให้ขอให้โฮสติ้งตรวจสอบ Log ฝั่งเซิร์ฟเวอร์ด้วย เพราะข้อผิดพลาด 500 อาจเกิดจากการตั้งค่าที่ผู้ดูแลเว็บไซต์เข้าถึงไม่ได้

สรุป

เมื่อ WordPress ขึ้น 500 Internal Server Error ให้ตรวจว่าปัญหาเกิดกับหน้าใด อ่าน Error Log แล้วตรวจปลั๊กอิน ธีม ไฟล์ .htaccess และการตั้งค่าเซิร์ฟเวอร์ตามลำดับ สำรองข้อมูลก่อนแก้ไฟล์หรือเปลี่ยนค่าระบบ หากยังหาสาเหตุไม่พบ ให้ส่งเวลาที่เกิดปัญหาและข้อความผิดพลาดให้โฮสติ้งตรวจสอบ การแก้ทีละจุดช่วยลดโอกาสทำให้เว็บไซต์มีปัญหาเพิ่ม ComSiam แนะนำให้ทดสอบเว็บไซต์หลังแก้ทุกครั้งก่อนเปิดใช้งานส่วนที่เปลี่ยนกลับ