วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]

วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]

ในบทความนี้จะเป็นวิธีการแก้ไขปัญหา 503 Service Unavailable ที่ทำให้เว็บไซต์ WordPress ของคุณมีปัญหานะครับ โดยปัญหาเว็บไซต์นี้อาจขึ้นว่า “503 Service Unavailable” หรือ “503 Error” หรือแค่ “Service Unavailable” ต่างกันไปครับ


503 Service Unavailable เกิดจากอะไร

วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]
ตัวอย่าง 503 Service Unavailable

ทางเทคนิคคือปัญหาที่เกิดจากฝั่งเซิร์ฟเวอร์ครับ ที่แจ้งว่าระบบจะไม่สามารถใช้งานหรือเข้าถึงได้ชั่วคราว อาจมีหลายเหตุผลซึ่งปัญหา 503 Error นี้หาต้นตอที่แท้จริงได้ค่อนข้างยากครับ ยกตัวอย่างเช่น มีผู้ใช้งานเข้ามาพร้อมกันเยอะเกินไป เซิร์ฟเวอร์หรือระบบกำลังอยู่ในช่วงปรับปรุง หรือปัญหาเกิดจาก Theme / Plugin ในระบบ WordPress ครับ

โดยหากเจอ 503 Error ปกติมักจะขึ้นข้อความประมาณว่า ‘Error 503″ “503 Service Unavailable” ครับ


ก่อนหน้านี้ ได้ทำอะไรไปบ้างไหมครับ?

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

  • อัพเดท Theme/Plugin/WordPress
  • แก้ไขไฟล์ Theme/Plugin
  • แก้ไขการตั้งค่า Theme/Plugin ในเว็บไซต์
  • ลบไฟล์ในระบบ
  • แคชในเว็บไซต์
  • ติดตั้ง Cloudflare / CDN อื่น ๆ
  • แก้ไขไฟล์ Config ใน Server

หากได้กระทำการใด ๆ ในด้านบน จะสามารถหาต้นตอได้ง่ายครับ ไม่ต้องสุ่มหา

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


503 Service Unavailable แก้ไขยังไง

มีวิธีหลากหลายครับ โดยที่ให้ดูไปทีละข้อนะครับ

หากปัญหาเกิดจาก Traffic เข้าเยอะมากจนเว็บล่มและขึ้น 503 Error (พบบ่อย)

ปัญหา 503 Error ส่วนใหญ่ที่ผมเจอ มักจะเกิดจาก traffic หรือคนเข้าเว็บไซต์พร้อมกันเยอะ ๆ หรือ traffic ต่อวันเข้ามาเยอะๆ แล้วเว็บดับ และขึ้น 503 Error มักจะมาจากสาเหตุต่อไปนี้ครับ

  • เซิร์ฟเวอร์หรือโฮสติ้งรับโหลดไม่ไหว: ถ้าเซิร์ฟเวอร์มีทรัพยากรหรือสเป็คไม่สูงพอ เช่น RAM/CPU ไม่พอ หรือทำการ config ตั้งค่าไว้ไม่ดีหรือไม่ได้ตั้งค่าเพื่อรองรับโหลดขนาดนั้น อาจทำให้เว็บดับและขึ้น 503 ได้ครับ
    • หากใช้ Shared Hosting หรือโฮสติ้งทั่วไป (ที่มักชำระเงินเป็นรายปี) ต้องแจ้งทางโฮสติ้งให้ทราบเพื่อหาวิธีแก้ไขปัญหาต่อไปนะครับ เนื่องจากส่วนใหญ่เขาจะไม่บอก Spec อยู่แล้วว่าเท่าไหร่ หรือตั้งค่ายังไง เพราะ Shared Hosting ทางผู้ให้บริการจะตั้งค่าเพื่อให้เว็บหลาย ๆ เว็บอยู่รวมกันได้อย่างราบรื่นครับ
  • เว็บไซต์ไม่มีการปรับจูนระบบที่ดีพอ: เว็บไซต์ที่เขียนไว้ไม่ดี มีโค้ดหรือการวางระบบที่ไม่ดี มีรูปภาพหนัก หรือหากเป็นเว็บ WordPress คือไม่มีการทำ caching หรือใช้ plugin จำนวนเยอะมาก ๆ ก็มีส่วนที่ทำให้เกิด 503 Error ได้ครับ
วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]
ตัวอย่างเว็บที่หนักมาก ๆ และใช้ Plugin จำนวนมาก
  • โฮสติ้งไม่ดี: โฮสติ้งบางที่ไม่มีการปรับระบบที่ดีพอ หรือไม่ได้ปรับจูนให้รองรับ Traffic จำนวนมาก อาจทำให้ล่มและขึ้น 503 ก็ได้ครับ
  • ฐานข้อมูลไม่ได้มีการปรับจูนที่ดีพอ: ฐานข้อมูล หรือ database ที่ใช้อาจมีแต่เศษซากข้อมูลที่ระบบทิ้งไว้ บางทีเยอะเกินและฐานข้อมูลบวม ทำให้เว็บล่มได้ครับ เพราะเวลามีคนเข้ามาเยอะๆ ตัวระบบก็ต้องไปค้นหาข้อมูลจากฐานข้อมูลที่บวม ทุกครั้ง ๆ ที่มีคนเข้ามา และการที่เข้าไปค้นนั่นเองทำให้โหลดหนักขึ้น ๆ เรื่อย ๆ จนระบบรับไม่ไหวครับ

หากปัญหาเกิดจาก Cache ในระบบ / CDN เช่น Cloudflare

วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]
ตัวอย่างการปิด WP Rocket ชั่วคราว

หากลงปลั๊กอินแคช เช่น WP Rocket, SWIFT Performance ฯลฯ แล้วมีปัญหา ให้ลองเช็คการตั้งค่าของปลั๊กอินนั้นก่อนครับ หรือหากหาไม่เจอให้ปิดปลั๊กอินนั้นทิ้งไปครับ อาจเกิดจาก Conflict ของปลั๊กอินนั้น กับตัวอื่นในระบบ หรือการตั้งค่าของเซิร์ฟเวอร์เองครับ

หรือหากมีการใช้ CDN เช่น Cloudflare มาครอบ และมีการตั้งค่าที่ Cloudflare และเว็บไซต์เกิดปัญหาเข้าไม่ได้ และ Error 503 ให้ลองเช็คการตั้งค่าให้ดีครับ ส่วนใหญ่เกิดจากการใส่ HTTPS (SSL) ใน Cloudflare ครับ

หากรู้ว่าปัญหาเกิดจาก Theme/Plugin ตัวใดตัวหนึ่ง หรือหลายตัว

หากได้แก้ไขการตั้งค่าหรือไฟล์ Theme/plugin ใด ๆ แล้วขึ้น Error นี้เลย วิธีที่ง่ายที่สุดคือปิดปลั๊กอิน/ธีมทิ้งก่อนครับ (วิธีปิดปลั๊กอินอยู่ในหัวข้อด้านล่างครับ) หากเป็นการแก้ไขให้แก้ไฟล์กลับเป็นเหมือนเดิมก่อนที่จะเป็นปัญหา หรือหากไม่มี backup ให้ลองหาไฟล์ plugin ต้นฉบับหรือเวอร์ชั่นที่เก่ากว่าเข้าทับดูนะครับ

หากไม่รู้ว่าเกิดจากอะไร

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

หากเข้าหลังบ้าน wp-admin ไม่ได้ ให้เตรียมรหัส FTP ครับ หากหาไม่เจอให้ลองทำตามวิธีการหารหัสโฮสติ้ง รหัส FTP ดูนะครับ และลองใช้โปรแกรมเช่น Filezilla เพื่อต่อเข้าโฮสติ้งนะครับ

ถ้าเข้าแล้ว รูปร่างหน้าตาของไฟล์เว็บไซต์จะเป็นดังรูป จะสังเกตว่ามี folder ชื่อว่า wp-admin, wp-content, wp-includes และไฟล์ขึ้นต้นด้วย wp- ทั้งหลายครับ แสดงว่าน่าจะมาถูกที่แล้ว

วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]
โปรแกรม FileZilla ต่อเข้าระบบโฮสติ้งที่เก็บไฟล์เว็บไซต์แล้ว

หากได้รหัสมาแล้ว สามารถทำตามขั้นตอนต่อไปนี้ได้เลยครับ

  • ขั้นตอนที่ 1: เชื่อมต่อ FTP
  • ขั้นตอนที่ 2: หาไฟล์ที่ชื่อว่า wp-config.php และคลิกขวาและ Edit หรือดาวน์โหลดลงเครื่องมาเพื่อแก้ไขด้วยโปรแกรมเช่น Notepad หรือ Visual Studio ก็ได้ครับ
วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]
คลิกขวาที่ wp-config.php เพื่อแก้ไข
  • ขั้นตอนที่ 3: เปลี่ยน define( 'WP_DEBUG', false ); จาก false เป็น true ครับ เพื่อเปิดโหมด debug
วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]
เปลี่ยนช่องนี้ WP_DEBUG จาก false เป็น true
  • ขั้นตอน 4: ใส่โค้ดต่อไปนี้ต่อจากบรรทัด define( 'WP_DEBUG', false ); ได้เลย
define( 'WP_DEBUG_DISPLAY', false );
 // แสดง Debug ในหน้าจอ (จะปรับเป็น true ก็ได้นะครับ แต่ถ้ามีคนเข้าเว็บอยู่ก็จะเห็น Error บานเลยครับ ผมแนะนำให้ปรับเป็น True เฉพาะเว็บที่คนเข้าไม่เยอะหรือยังไม่ได้ Live นะครับ

define( 'WP_DEBUG_LOG', true ); // บันทึก error เป็นไฟล์เพื่ออ่านได้

ถ้าเสร็จแล้วหน้าตาจะออกมาประมาณนี้ครับ

วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]
ตัวอย่างไฟล์ที่แก้แล้ว

เสร็จแล้วสามารถเซฟได้เลย ถ้าโปรแกรม Filezilla ถามว่าจะอัพโหลดทับไหม ให้คลิก Yes ได้เลยนะครับ หรือหากว่าดาวน์โหลดลงมาที่เครื่องแล้วค่อยอัพขึ้นไป สามารถอัพขึ้นไปทับไฟล์ wp-config ปัจจุบันได้เลยครับ

วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]
Filezilla จะถามว่าเซฟไฟล์ไหม จะขึ้นก็ต่อเมื่อแก้ไขด้วยการคลิกขวาแล้วกด View/Edit เท่านั้น หากดาวน์โหลดลงมาแล้วอัพขึ้นไปทับก็จะไม่มีขั้นตอนนี้ครับ

เสร็จลองไป refresh ที่หน้าเว็บ 1 ทีเพื่อให้ระบบมันเก็บข้อมูล (แต่หากมีคนเข้าอยู่แล้ว ไม่ต้องก็ได้ครับ) ในโปรแกรม Filezilla แล้วไปที่ wp-content จะเห็นว่าไฟล์ debug.log ครับ ให้คลิกขวาและแก้ไขไฟล์นั้น หรือดาวน์โหลดไฟล์นั้นและเปิดด้วย Notepad ได้เลยตามสะดวก

หมายเหตุ: หากในตัวโค้ด ช่อง 'WP_DEBUG_DISPLAY'เป็น true ตัว error log จะแสดงในหน้าเว็บเลยครับ ไม่ต้องทำตามขั้นตอนนี้

วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]
ไฟล์ debug.log

ในนี้แหละครับที่จะขึ้นว่า error เพราะอะไร อาจเป็นชื่อ plugin หรือ theme ที่คุ้น ๆ หรืออาจเคยเห็นไฟล์ที่แก้ไขไปแล้วและมีข้อผิดพลาดก็ได้ครับ

แต่หากเกิดจากไฟล์ WordPress ให้ลองดูหัวข้อด้านล่างนะครับ: หากปัญหาเกิดจากไฟล์ WordPress เอง

วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]
ในเคสนี้ ผมมี Plugin ที่ชื่อ Elementor และใน log มีปัญหา ก็อาจสันนิษฐานได้ครับว่าเกิดจากปลั๊กอิน Elementor ครับ ในไฟล์ log ดังภาพ จะแสดงทั้งหมดครับว่าเกิดขึ้นเวลาไหน ไฟล์ไหน เกิดเพราะอะไร บรรทัดที่เท่าไหร่ หากมีความรู้เรื่องโค้ดสามารถเข้าแก้ไขได้ครับ

หากต้องการปิด เช่นในเคสนี้ Plugin Elementor มีปัญหา ผมจึงไปที่ wp-content/plugins และเปลี่ยนชื่อ Folder elementor เป็น elementor-fix เพื่อปิดปลั๊กอินครับ การที่เปลี่ยนชื่อโฟลเดอร์ Theme/Plugin ใดๆ ไปเป็นชื่ออื่นแม้แต่ตัวอักษรเดียว จะเป็นการปิดปลั๊กอินครับ

วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]

และเท่านี้ หากปลั๊กอินนี้ก่อปัญหาจริง เว็บจะสามารถเข้ามาใช้งานได้ครับ

หากแก้แล้วหาย…

การเปิด mode debug จะทำให้ระบบบันทึก error ทั้งหมดที่เกิดขึ้น ซึ่งอาจเปลืองทรัพยากรของเซิร์ฟเวอร์ อาจทำให้เซิร์ฟเวอร์ทำงาหนักขึ้นหรือไฟล์ debug.log มีขนาดใหญ่ขึ้น เมื่อไม่ใช้แล้วควรปิดโดยลบบรรทัด debug ทั้ง 2


ลองวิธีด้านบนทั้งหมดแล้ว ก็ยังไม่หาย

ปิด Theme/Plugin ทั้งหมด

วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]
โฟลเดอร์ plugins และ themes อยู่ใน wp-content
  1. โดยเราจะเปลี่ยนชื่อโฟลเดอร์ plugins และ/หรือ themes เป็นอย่างอื่นครับ (คำแนะนำผมให้ลบตัว s ข้างหลังออกตัวเดียวพอเพื่อกันสับสน)
    • การกระทำนี้เป็นการปิดการใช้งานธีมหรือปลั๊กอินครับ โดยการที่เราเปลี่ยนชื่อโฟลเดอร์ จะทำให้ WordPress หาไฟล์ไม่เจอและปิดการใช้งาน theme/plugins ทั้งหมดโดยอัตโนมัติครับ เป็นการปิดทั้งหมดเลยนั่นเองแล้วมาไล่ดูกันว่าตัวไหนก่อปัญหา
วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]
เปลี่ยนชื่อ folder plugins และ/หรือ themes
  1. ทีนี้ล็อกอินเข้ามาใน wp-admin แล้ว WordPress จะฟ้องว่าหา theme/plugins ไม่เจอและจะปิดการทำงานของมัน
วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]
ระบบจะแจ้งว่า plugin หาไม่เจอ
  1. ให้ใช้ ftp เปลี่ยนโฟลเดอร์ที่เราเปลี่ยนชื่อเปลี่ยนกลับเหมือนเดิมครับ เปลี่ยนโฟลเดอร์ธีมกลับเป็น themes และปลั๊กอินเป็น plugins
วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]
เปลี่ยนชื่อโฟลเดอร์กลับเป็น plugins และ themes
  1. ไล่เปิดการใช้งานธีม หรือปลั๊กอินดูทีละตัวแล้วกลับไปที่หน้าเว็บ แล้วลองกด Refresh หน้าเว็บดู แล้วดูครับว่าเปิดตัวไหน Refresh หน้าเว็บแล้วขึ้น 503 Error ตัวนั้นคือตัวปัญหาครับ ให้จัดการแก้ปัญหาต่อไป อาจลองอัพเกรดไปเวอร์ชั่นใหม่ ลองแก้ไขโค๊ดดูถ้าหากพัฒนาเอง หรือลบทิ้งแล้วหาตัวอื่นมาแทนครับ

หากปัญหาเกิดจากไฟล์ WordPress เอง

  1. ลบโฟลเดอร์ wp-admin และ wp-includes ทิ้ง และไฟล์ที่ขึ้นต้นด้วย wp- ทั้งหมด (ยกเว้นโฟลเดอร์ wp-content และไฟล์ wp-config.php นะครับ)
วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]
สำคัญอย่ายุ่งกับ wp-content และไฟล์ wp-config.php
  1. ดาวน์โหลดจาก wordpress.org แตกไฟล์และอัพโหลดไฟล์ทั้งหมด ยกเว้น folder wp-content ระบบจะถามว่าต้องการทับไฟล์ไหม ให้ทับได้เลยครับ

อีกหนึ่งความเป็นไปได้: ปัญหาเกิดจาก .htaccess file

ปัญหานี้อาจลองเริ่มจากการเช็คว่าไฟล์ .htaccess มีปัญหาหรือเปล่านะครับ ใช้ FTP เชื่อมต่อไปที่เว็บของเรา แล้วในโฟลเดอร์ที่ติดตั้ง WordPress เปลี่ยนชื่อไฟล์ .htaccess เป็นอย่างอื่นดูครับ เช่น .htaccess_backup ก็ได้

วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]
เปลี่ยนชื่อไฟล์ .htaccess

เสร็จแล้วเข้าหลังบ้าน (wp-admin) ไปที่ ตั้งค่า (Settings) -> ลิ้งค์ถาวร (Permalink) ไม่ต้องแก้ไขอะไรแล้วกดบันทึก (Save) เลยครับ ข้อนี้สำคัญนะครับ ไม่งั้นจะเข้าหน้าอื่นๆ นอกจากหน้าแรกไม่ได้เลย

วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]
วิธีการ Save Permalink หรือลิ้งค์ถาวรแบบง่าย ๆ

หรือถ้ายังไม่หายอีก…

เพิ่ม PHP Memory Limit

อันนี้สำหรับท่านที่ใช้เว็บโฮสติ้งทั่วไปสามารถแจ้งทางผู้ให้บริการเว็บโฮสติ้งให้เพิ่มให้ได้นะครับ แจ้งเขาว่า“ผมต้องการเพิ่ม PHP Memory Limit หน่อยครับ เนื่องจากเว็บติด 503 Error เพราะ Memory Limit ไม่พอหลายครั้ง…”

แต่จะเพิ่มได้เท่าไหร่นั้นขึ้นกับนโยบายของผู้ให้บริการเว็บโฮสติ้งนะครับ บางเจ้าให้มาค่าเริ่มต้นเพียง 64MB ซึ่งบางทีไม่พอต่อการใช้งาน สามารถขอเขาเพิ่มให้เป็น 128MB, 256MB หรือถ้าโฮสไหนใจดีหน่อยให้ 512MB (ส่วนใหญ่ไม่มีหรอกครับ มากที่สุดเท่าที่เคยเจออยู่ที่ 256MB) เท่านี้ก็ไม่น่าติดปัญหาอะไรอีกแล้วครับ

แต่ถ้ามี Server เป็นของตัวเอง หรือเช่า VPS ผู้ใช้งานอาจต้องเพิ่มเองครับ โดยแก้ไฟล์ php.ini หา

php_memory_limit 

แล้วแก้เอาได้ครับ


503 Service Unavailable ป้องกันได้อย่างไร

  • ใช้ Plugin/Theme และ Core Wordpress ที่เป็นเวอร์ชั่นล่าสุด เพื่อให้ระบบทันสมัยและพวก Bug, error และช่องโหว่ด้านความปลอดภัยที่มีจะถูกแก้ไขทั้งหมด
  • ปรับขนาดภาพให้ไซส์เล็ก (เป็นไปได้ต่อ 1 ภาพไม่ควรเกิน 100kb) เพื่อให้รูปโหลดได้เร็วขึ้นและไม่หนักเว็บ
  • ใช้ปลั๊กอินแคช เช่น WP Rocket, SWIFT Perfomance, W3 Total Cache และ Object Cache Pro/Redis เพื่อทำให้เว็บเร็วขึ้นและลด Load ใน Server
  • ใช้โฮสติ้งที่มีคุณภาพ ที่รองรับโหลดหนัก ๆ ที่เว็บไซต์ทีและแบ็คอัพสม่ำเสมอ

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

แต่หากแก้แล้วไม่หาย มาหาเราได้เลยครับ MAKE2WEB ยินดีให้บริการ แก้ปัญหาเว็บไซต์

👋รับแก้ปัญหาเว็บไซต์ WordPress ราคาถูก!

เว็บมีปัญหา ปรึกษา Make2Web

รับแก้ปัญหาเว็บไซต์ แก้ปัญหาเว็บไซต์ WordPress เริ่มต้น 500 บาทเท่านั้น!

หากเว็บไซต์ของคุณมีปัญหา ไม่ว่าจะเป็นปัญหาระบบ การแสดงผล คนทำเว็บหนี หรืออื่น ๆ Make2Web มีบริการรับแก้เว็บไซต์ WordPress แก้เว็บโดนแฮ็ค โดนแฮ็ค ย้ายเว็บไซต์ สำรอง Backup เว็บไซต์ เว็บไซต์หากมีปัญหา แก้ไม่ได้ไม่คิดเงินนะครับ!

วิธีแก้ 503 Service Unavailable บน WordPress [Update 2023]

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *