ข้อผิดพลาด 503 ใน WordPress: คืออะไรและจะแก้ไขได้อย่างไร (คู่มือปี 2023)

เผยแพร่แล้ว: 2023-07-11

พยายามจัดการกับข้อผิดพลาด 503 ใน WordPress?

ข้อผิดพลาด 503 หรือ AKA 503 Service Unavailable error 🐞 ปรากฏขึ้นเมื่อเซิร์ฟเวอร์ของเว็บไซต์ WordPress ไม่พร้อมใช้งานด้วยเหตุผลบางประการ

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

ข้อผิดพลาด 503 ใน WordPress คืออะไร?

ข้อผิดพลาด 503 Service Unavailable แสดงขึ้นเมื่อเว็บเซิร์ฟเวอร์ของคุณไม่พร้อมใช้งานด้วยเหตุผลบางประการ ขออภัย ข้อผิดพลาดไม่ได้บอกคุณอย่างเจาะจงว่ามีอะไรผิดปกติ ซึ่งหมายความว่าอาจต้องใช้เวลาในการแก้ไขข้อผิดพลาด

ขึ้นอยู่กับการตั้งค่าโฮสติ้งและเว็บเบราว์เซอร์ของคุณ คุณอาจเห็นข้อผิดพลาดนี้รูปแบบใดรูปแบบหนึ่งต่อไปนี้:

  • บริการ 503 ไม่พร้อมใช้งาน
  • บริการ 503 ไม่สามารถใช้งานได้ชั่วคราว
  • ข้อผิดพลาดเซิร์ฟเวอร์ HTTP 503
  • ข้อผิดพลาด HTTP 503
  • ข้อผิดพลาด 503 บริการไม่พร้อมใช้งาน
  • เซิร์ฟเวอร์ไม่สามารถให้บริการตามคำขอของคุณได้ชั่วคราวเนื่องจากปัญหาการหยุดทำงานของการบำรุงรักษาหรือความจุ กรุณาลองใหม่อีกครั้งในภายหลัง.

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

อะไรทำให้เกิดข้อผิดพลาด 503 ใน WordPress

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

หากข้อผิดพลาด 503 เกิดจากการบำรุงรักษา การโจมตี DDoS หรือการเพิ่มขึ้นอย่างรวดเร็วของทราฟฟิก ข้อผิดพลาดนั้นอาจแก้ไขได้เองภายในเวลาสั้นๆ หากมีสาเหตุมาจากโค้ดที่ไม่ถูกต้อง อาจเกิดขึ้นอีกจนกว่าคุณจะแก้ไขปัญหา

วิธีแก้ไขข้อผิดพลาด 503 ใน WordPress

ก่อนที่คุณจะเริ่มดำเนินการตามขั้นตอนด้านล่างนี้ คุณควรตรวจสอบบางสิ่งก่อน

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

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

หน้าสถานะบริการ WP Engine

หากคุณไม่ได้เรียกใช้การอัปเดตและโฮสต์ของคุณไม่ได้ระบุว่ามีปัญหากับเซิร์ฟเวอร์ คุณสามารถเริ่มขั้นตอนการแก้ปัญหาต่อไปนี้

  • ปิดใช้งานปลั๊กอิน
  • เปลี่ยนเป็นธีมเริ่มต้น
  • ปิดใช้งานเครือข่ายการส่งเนื้อหา
  • ปิดใช้งาน WordPress Heartbeat API
  • เปิดใช้งานโหมด wp_debug
  • อัปเกรดแผนการโฮสต์ของคุณ

ปิดใช้งานปลั๊กอิน

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

เนื่องจากคุณไม่สามารถเข้าถึง wp-admin ได้ คุณจะต้องใช้ไคลเอ็นต์ FTP เพื่อเข้าถึงไดเร็กทอรีปลั๊กอิน (หรือเครื่องมืออย่าง cPanel File Manager)

เชื่อมต่อกับโฮมไดเร็กตอรี่ของคุณโดยใช้ FTP โดยทั่วไปแล้วโฮมไดเร็กทอรีจะเรียกว่าอย่างใดอย่างหนึ่งต่อไปนี้:

  • public_html
  • www
  • html
  • สาธารณะ
  • ชื่อไซต์ของคุณ

จากโฮมไดเร็กทอรี ไปที่ไดเร็กทอรี wp-content และค้นหา plugins

ไดเร็กทอรีปลั๊กอิน WordPress บนเว็บเซิร์ฟเวอร์

คลิกขวาที่ไดเร็กทอรีนี้และใช้ฟังก์ชัน Rename เพื่อเปลี่ยนชื่อเป็น plugins_old

เปลี่ยนชื่อไดเร็กทอรีปลั๊กอินเพื่อทดสอบข้อผิดพลาด 503 ใน WordPress

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

หากข้อผิดพลาดหายไป เป็นไปได้ว่าปลั๊กอินตัวใดตัวหนึ่งของคุณเป็นตัวการ

ในการระบุปลั๊กอินปัญหา ให้ทำตามขั้นตอนเหล่านี้:

  1. เปลี่ยนไดเรกทอรี plugins_old กลับไปเป็น ปลั๊กอิน
  2. นำทางไปยังโฟลเดอร์ ปลั๊กอิน
  3. เริ่มต้นด้วยปลั๊กอินตัวแรกในรายการและเปลี่ยนชื่อโฟลเดอร์ปลั๊กอิน เช่น เปลี่ยน antispam-bee เป็น antispam-bee-test
  4. ตรวจสอบเว็บไซต์ของคุณเพื่อหาข้อผิดพลาด 503 หากปรากฏขึ้น แสดงว่าคุณทราบว่าปลั๊กอินใดทำให้เกิดข้อผิดพลาด
ทดสอบปลั๊กอินแต่ละตัวเพื่อค้นหาว่าปลั๊กอินใดทำให้เกิดข้อผิดพลาด 503 ใน WordPress

ตอนนี้ คุณจะต้องปิดการใช้งานปลั๊กอินนั้นไว้ 🔌 และมองหาทางเลือกอื่น

เปลี่ยนเป็นธีมเริ่มต้น

แหล่งที่มาของข้อผิดพลาด 503 อีกประการหนึ่งคือธีมของคุณ เพื่อทดสอบสิ่งนี้ คุณสามารถเปลี่ยนไซต์ของคุณเป็นธีมเริ่มต้นที่โหลดด้วย WordPress เช่น Twenty Twenty Three

ขออภัย คุณไม่สามารถใช้เคล็ดลับเดียวกันกับปลั๊กอินและเปลี่ยนชื่อโฟลเดอร์ธีมได้ หากคุณทำเช่นนั้น WordPress จะแสดงข้อผิดพลาดโดยบอกว่า The theme directory "[theme-name]" does not exist

คุณต้องใช้ phpMyAdmin เพื่อเข้าถึงฐานข้อมูล WordPress และเปลี่ยนธีมที่ใช้งานอยู่แทน

⚠️ หมายเหตุเราถือว่าคุณยังคงติดตั้งธีมเริ่มต้น Twenty Twenty-Three บนไซต์ของคุณ หากคุณลบธีมเริ่มต้น คุณอาจต้องติดตั้งโดยใช้ FTP ก่อน คุณสามารถอัปโหลดโฟลเดอร์ธีมไปยังโฟลเดอร์ wp-content/themes ของไซต์ด้วยตนเอง

ล็อกอินเข้าสู่ phpMyAdmin ผ่านแผงควบคุมการโฮสต์ และมองหาตาราง wp_options ขึ้นอยู่กับโฮสต์ของคุณ อาจมีคำนำหน้าแตกต่างจาก wp_ เช่น wpcz_options

คลิกลิงก์ค้นหาและทำการค้นหาในตารางสำหรับ template คำในช่อง option_name

ค้นหาตาราง wp_options สำหรับ option_name เช่นเทมเพลต

คุณควรมีหนึ่งผลลัพธ์ ดับเบิลคลิกที่ option_value (กำเนิดในตัวอย่างนี้) และเปลี่ยนชื่อธีมเป็นยี่สิบยี่สิบสาม

ผลการค้นหาเทมเพลตชื่อตัวเลือก

นี่คือสิ่งที่ควรมีลักษณะเมื่อคุณทำเสร็จแล้ว:

เปลี่ยนชื่อ option_value เป็น 22223

ทำซ้ำขั้นตอนเดิมสำหรับ stylesheet option_name

ตอนนี้คุณได้อัปเดตธีมที่ใช้งานอยู่ ไปที่ส่วนหน้าของไซต์ของคุณเพื่อดูว่าข้อผิดพลาด 503 Service Unavailable ยังคงอยู่หรือไม่

หากข้อผิดพลาดหายไป เป็นไปได้ว่าธีมของคุณเป็นปัญหา

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

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

ปิดใช้งานเครือข่ายการจัดส่งเนื้อหา (หากคุณใช้อยู่)

หากคุณไม่ได้ใช้ CDN ให้ข้ามขั้นตอนนี้ ถ้าคุณอ่านต่อ

บางครั้ง CDN อาจเป็นสาเหตุของข้อผิดพลาด 503 ใน WordPress ในการทดสอบสิ่งนี้ CDN ของคุณควรมีวิธีหยุดบริการชั่วคราว บน Cloudflare คุณจะพบตัวเลือกนี้ในส่วน การดำเนินการขั้นสูง ของเมนู การดำเนินการด่วน ซึ่งอยู่ด้านขวามือของหน้า จอภาพรวม (เลื่อนลงเพื่อดู)

หยุด Cloudflare บนไซต์ชั่วคราวเพื่อตรวจสอบว่าทำให้เกิดข้อผิดพลาด 503 ใน WordPress หรือไม่

หากการหยุด CDN ชั่วคราวช่วยแก้ปัญหาได้ คุณอาจไม่ต้องการปิดใช้งาน CDN ในระยะยาว ดังนั้นให้ติดต่อผู้ให้บริการของคุณเพื่อขอความช่วยเหลือ

ปิดใช้งาน WordPress Heartbeat API

WordPress heartbeat API ควบคุมการทำงานที่สำคัญหลายอย่างบน WordPress ตัวอย่างเช่น การกระทำต่อไปนี้ควบคุมการเต้นของหัวใจ:

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

heartbeat API ส่งพัลส์จากไคลเอ็นต์ไปยังเซิร์ฟเวอร์ สื่อสารโดยใช้ AJAX ไฟล์ที่ใช้คือ /wp-admin/admin-ajax.php ซึ่งส่งผลให้เกิดคำขอจำนวนมากไปยังเซิร์ฟเวอร์ ซึ่งอาจเป็นปัญหาหากคุณใช้โฮสติ้งที่ใช้ร่วมกันและมีทรัพยากรจำกัด

หากต้องการดูว่า WordPress heartbeat API ทำให้เกิดข้อผิดพลาด 503 ใน WordPress หรือไม่ คุณสามารถปิดใช้งานได้ชั่วคราวโดยเพิ่มโค้ดลงในไฟล์ functions.php ของธีมที่ใช้งานอยู่

ใช้ตัวแก้ไข FTP เพื่อเข้าถึงไดเร็กทอรีธีมของคุณ คลิกขวาที่ไฟล์ functions.php ของคุณเพื่อแก้ไข (คุณอาจต้องการสำรองข้อมูลก่อน)

วิธีแก้ไขไฟล์ functions.php ของธีมเพื่อตรวจสอบว่า heartbeat API ทำให้เกิดข้อผิดพลาด 503 ใน WordPress หรือไม่

เพิ่มรหัสต่อไปนี้หลังจากเริ่มต้น

 add_action( 'init', 'stop_heartbeat', 1 ); function stop_heartbeat() { wp_deregister_script('heartbeat') }

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

น่าเสียดายที่การปิดใช้งาน heartbeat API จะหยุดการทำงานที่มีประโยชน์มากมาย ดังนั้นจึงเป็นการดีกว่าที่จะจำกัดการเต้นของหัวใจแทน คุณสามารถใช้ปลั๊กอิน Heartbeat Control เพื่อทำสิ่งนี้ได้ อย่าลืมเอาโค้ดปิด heartbeat ออกจาก functions.php ของคุณก่อน

เปิดใช้งานโหมด wp_debug

โหมดดีบั๊กถูกสร้างขึ้นใน WordPress เพื่อแก้ปัญหาข้อผิดพลาด มันไม่ได้เปิดใช้งานตามค่าเริ่มต้น ดังนั้นคุณต้องมีรหัสเพื่อเปิดใช้งาน

ใช้ไคลเอนต์ FTP เพื่อเข้าถึงไฟล์ wp-config.php แก้ไขและเพิ่มบรรทัดโค้ดต่อไปนี้:

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

บันทึกและอัปโหลดไฟล์อีกครั้ง

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

คุณยังสามารถค้นหาบันทึกการดีบักของเว็บเซิร์ฟเวอร์ของคุณ ซึ่งโดยปกติจะพบได้ที่นี่:

  • อาปาเช่: /var/log/apache2/error.log
  • Nginx: /var/log/nginx/error.log

ติดต่อผู้ให้บริการโฮสติ้งของคุณเพื่อขอความช่วยเหลือเพิ่มเติมในการตีความไฟล์บันทึก หากคุณต้องการ

อัปเกรดแผนการโฮสต์ของคุณ

หากคุณไม่สามารถระบุแหล่งที่มาของข้อผิดพลาด 503 ของคุณได้ แต่สงสัยว่าการโฮสต์ของคุณต้องรับผิดชอบ คุณอาจต้องพิจารณาการอัปเกรดแผนการโฮสต์ของคุณ สิ่งนี้ใช้โดยเฉพาะในสองสามกรณี:

  1. คุณกำลังใช้โฮสติ้งที่ใช้ร่วมกันและคุณกำลังใช้งานทรัพยากรเซิร์ฟเวอร์มากเกินไป
  2. เว็บไซต์ของคุณได้รับความนิยมมากขึ้นและการเข้าชมของคุณเพิ่มขึ้น

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

👉 ศึกษาคู่มือการโฮสต์เว็บที่ดีที่สุดของเราเพื่อดูว่าเราแนะนำอะไรสำหรับการโฮสต์ประเภทต่างๆ

ไปที่ด้านบน

แก้ไขข้อผิดพลาด 503 ใน WordPress ให้ดี 🎯

หากคุณเห็นข้อผิดพลาด 503 ใน WordPress ไม่ต้องตกใจ ขั้นตอนการแก้ปัญหาคือ:

  • ปิดใช้งานปลั๊กอิน
  • เปลี่ยนเป็นธีมเริ่มต้น
  • ปิดการใช้งาน CDN หากใช้งาน
  • ปิดใช้งาน WordPress Heartbeat API
  • เปิดใช้งานโหมด wp_debug
  • อัปเกรดแผนการโฮสต์ของคุณ

📌 หวังว่าขั้นตอนเหล่านี้จะช่วยให้คุณค้นพบต้นตอของข้อผิดพลาด 503 และยุติปัญหาของคุณได้