รวมวิธีแก้ Error WordPress ยอดฮิต

เว็บล่ม เจอ 500, 403, 503 หรือ Error establishing database connection? คู่มือนี้รวมวิธีแก้ทีละขั้นบน cPanel สำหรับมือใหม่ที่ไม่ต้องใช้ SSH

แก้ Error WordPress 500 403 503 database connection บนหน้าจอคอมพิวเตอร์

ก่อนแก้ Error ทุกครั้ง: สำรองข้อมูลก่อน

ก่อนแตะไฟล์หรือฐานข้อมูลใดๆ ให้สำรองเว็บก่อนเสมอ ผ่าน cPanel → Backup หรือปลั๊กอินสำรองข้อมูล หาก Error ทำให้เข้า wp-admin ไม่ได้ ให้ดาวน์โหลดโฟลเดอร์ public_html และ Export ฐานข้อมูลจาก phpMyAdmin ก่อนเริ่มแก้

Tip: เปิด Debug Log เพื่อดูสาเหตุที่แท้จริง — แก้ไฟล์ wp-config.php เพิ่ม define('WP_DEBUG', true); และ define('WP_DEBUG_LOG', true); ข้อความ Error จะถูกบันทึกใน wp-content/debug.log

500 Internal Server Error

Error ทั่วไปที่สุด มักเกิดจากไฟล์ .htaccess เสีย, Plugin/Theme ขัดแย้ง หรือ PHP Memory ไม่พอ

วิธีแก้

  1. รีเซ็ต .htaccess — ใน File Manager เปลี่ยนชื่อ .htaccess เป็น .htaccess_old แล้วเข้า wp-admin → Settings → Permalinks → Save เพื่อสร้างใหม่
  2. ปิด Plugin ทั้งหมด — เปลี่ยนชื่อโฟลเดอร์ wp-content/plugins เป็น plugins_off ถ้าเว็บกลับมา แสดงว่า Plugin ตัวใดตัวหนึ่งคือต้นเหตุ
  3. เพิ่ม PHP Memory — เพิ่ม define('WP_MEMORY_LIMIT', '256M'); ใน wp-config.php

403 Forbidden

Server ปฏิเสธการเข้าถึง มักเกิดจาก File Permissions ผิด, .htaccess บล็อก หรือ Security Plugin/ModSecurity

# ตั้งค่า Permissions ที่ถูกต้อง (ใน File Manager → Permissions)
โฟลเดอร์ (Directories):  755
ไฟล์ (Files):            644
wp-config.php:           600 หรือ 640

ถ้ายังไม่หาย ให้ตรวจ .htaccess ว่ามีบรรทัด "Deny from all" หลงเหลือ และลองปิด Security Plugin ชั่วคราว หากเป็น ModSecurity ของ Server ให้ติดต่อผู้ให้บริการ Hosting เพื่อ Whitelist Rule

503 Service Unavailable

มักเกิดเมื่อเว็บค้างใน Maintenance Mode หลังอัปเดตไม่สมบูรณ์ หรือ Server โหลดเกิน

  1. ใน File Manager ลบไฟล์ .maintenance ที่อยู่ใน Root ของ WordPress
  2. ถ้าเกิดจาก Resource เกิน ให้ตรวจ cPanel → Resource Usage ว่า CPU/RAM เต็มหรือไม่
  3. ปิด Plugin ที่กินทรัพยากร เช่น Backup/Security ที่รันพร้อมกัน

Error Establishing a Database Connection

WordPress เชื่อมต่อฐานข้อมูลไม่ได้ ตรวจ wp-config.php ว่าค่าตรงกับที่ตั้งใน cPanel → MySQL Databases

// wp-config.php — ตรวจ 4 ค่านี้ให้ตรงกับ cPanel
define('DB_NAME', 'user_wpdb');      // ชื่อ Database
define('DB_USER', 'user_wpuser');    // ชื่อ User
define('DB_PASSWORD', 'รหัสที่ตั้งไว้');
define('DB_HOST', 'localhost');      // ส่วนใหญ่ใช้ localhost

ตรวจว่า User ถูกผูกกับ Database แล้วใน cPanel → MySQL Databases → "Add User To Database" และให้สิทธิ์ ALL PRIVILEGES ถ้าค่าถูกหมดแต่ยังไม่ได้ ให้ลองซ่อมตารางตามบทความ ซ่อมฐานข้อมูล MySQL

White Screen of Death (หน้าจอขาว)

หน้าจอว่างเปล่าไม่มีข้อความ Error มักเกิดจาก PHP Fatal Error ใน Plugin/Theme เปิด WP_DEBUG เพื่อดูบรรทัดที่ Error แล้วปิด Plugin/เปลี่ยนเป็น Theme พื้นฐาน อ่านวิธีละเอียดที่ แก้ WordPress White Screen

ตรวจสอบว่าเว็บกลับมาทำงานถูกต้อง

# 1. ตรวจ HTTP Status Code (ควรได้ 200)
curl -I https://yourdomain.com
# มองหา: HTTP/2 200

# 2. ดู PHP Error Log ล่าสุดใน cPanel
cPanel → Metrics → Errors
# หรือดูไฟล์ wp-content/debug.log

# 3. ทดสอบหน้าสำคัญ
- หน้าแรก
- หน้า /wp-admin/ (เข้า Dashboard ได้)
- 1 หน้าบทความ + 1 หน้า Page
Tip: หลังแก้เสร็จ อย่าลืมปิด WP_DEBUG (เปลี่ยนกลับเป็น false) เพราะการเปิดทิ้งไว้บนเว็บจริงอาจเผยข้อมูล Path และโครงสร้างให้ผู้ไม่หวังดีเห็น

แก้ปัญหาที่พบบ่อย

Error: ปิด Plugin หมดแล้วยังขึ้น 500

แสดงว่าต้นเหตุอยู่ที่ Theme หรือ .htaccess ลองเปลี่ยนเป็น Theme พื้นฐาน (Twenty Twenty-Four) โดยเปลี่ยนชื่อโฟลเดอร์ Theme ปัจจุบัน WordPress จะ Fallback ไป Theme เริ่มต้นอัตโนมัติ

Error: เข้า wp-admin ไม่ได้เลยหลังเกิด Error

ใช้ File Manager ปิด Plugin/เปลี่ยน Theme โดยตรง ไม่ต้องผ่าน Dashboard — เปลี่ยนชื่อโฟลเดอร์ใน wp-content/plugins หรือ wp-content/themes แล้วลองเข้าใหม่

Error: 500 กลับมาอีกหลัง Save Permalinks

มักเป็นเพราะ .htaccess เขียนไม่ได้ (Permission) ตั้งให้ .htaccess เป็น 644 ก่อน แล้วลอง Save Permalinks อีกครั้ง หรือสร้าง .htaccess WordPress มาตรฐานด้วยมือ

Error: Database connection หายเป็นช่วงๆ

มักเกิดจาก Server โหลดเกินหรือ MySQL ถึงขีดจำกัด Connection บน Shared Hosting หาก Traffic โตขึ้นจน Resource ไม่พอ ควรพิจารณาอัปเกรดแผน

หากเว็บโตจน Shared Hosting รับไม่ไหวและ Error เรื่อง Resource บ่อยขึ้น การย้ายไป VPS ที่มีทรัพยากรเฉพาะตัวจะช่วยได้มาก ผู้ให้บริการอย่าง AsiaGB มีทั้ง Hosting และ VPS ที่จัดการผ่าน DirectAdmin ได้ง่าย เหมาะกับเว็บที่กำลังเติบโต และก่อนตัดสินใจย้ายควรเช็กสุขภาพโดเมนและ DNS ด้วยเครื่องมือฟรีอย่าง Analyze.in.th เพื่อให้แน่ใจว่า Record ทุกอย่างชี้ถูกต้อง

คำถามที่พบบ่อย

Q: จะรู้ได้อย่างไรว่า Error เกิดจาก Plugin ตัวไหน?

A: เปิด Plugin ทีละตัวหลังปิดทั้งหมด แล้วโหลดเว็บใหม่ทุกครั้ง เมื่อ Error กลับมาตอนเปิดตัวใด ตัวนั้นคือต้นเหตุ หรือดูชื่อไฟล์ใน debug.log ที่ชี้ไปยังโฟลเดอร์ Plugin

Q: แก้ wp-config.php แล้วเว็บพังหนักกว่าเดิม ทำอย่างไร?

A: กู้คืนจากไฟล์สำรองที่ทำไว้ก่อนแก้ ถ้าไม่ได้สำรอง ให้ตรวจว่าไม่มีช่องว่างหรือบรรทัดก่อน <?php และหลัง ?> เพราะช่องว่างเกินทำให้เกิด "Headers already sent"

Q: Error เหล่านี้กระทบ SEO ไหม?

A: กระทบถ้าปล่อยนานๆ Google มองว่า 500/503 คือเว็บมีปัญหาและอาจลดอันดับชั่วคราว ควรแก้ให้เร็วและตรวจใน Search Console ว่าไม่มี Crawl Error ค้าง