ก่อนแก้ Error ทุกครั้ง: สำรองข้อมูลก่อน
ก่อนแตะไฟล์หรือฐานข้อมูลใดๆ ให้สำรองเว็บก่อนเสมอ ผ่าน cPanel → Backup หรือปลั๊กอินสำรองข้อมูล หาก Error ทำให้เข้า wp-admin ไม่ได้ ให้ดาวน์โหลดโฟลเดอร์ public_html และ Export ฐานข้อมูลจาก phpMyAdmin ก่อนเริ่มแก้
define('WP_DEBUG', true); และ define('WP_DEBUG_LOG', true); ข้อความ Error จะถูกบันทึกใน wp-content/debug.log500 Internal Server Error
Error ทั่วไปที่สุด มักเกิดจากไฟล์ .htaccess เสีย, Plugin/Theme ขัดแย้ง หรือ PHP Memory ไม่พอ
วิธีแก้
- รีเซ็ต .htaccess — ใน File Manager เปลี่ยนชื่อ .htaccess เป็น .htaccess_old แล้วเข้า wp-admin → Settings → Permalinks → Save เพื่อสร้างใหม่
- ปิด Plugin ทั้งหมด — เปลี่ยนชื่อโฟลเดอร์ wp-content/plugins เป็น plugins_off ถ้าเว็บกลับมา แสดงว่า Plugin ตัวใดตัวหนึ่งคือต้นเหตุ
- เพิ่ม 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 โหลดเกิน
- ใน File Manager ลบไฟล์
.maintenanceที่อยู่ใน Root ของ WordPress - ถ้าเกิดจาก Resource เกิน ให้ตรวจ cPanel → Resource Usage ว่า CPU/RAM เต็มหรือไม่
- ปิด 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
แก้ปัญหาที่พบบ่อย
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 ค้าง