ปลั๊กอิน WordPress ใช้งานไม่ได้ เป็นปัญหาที่หน้าตาต่างกันไปทุกครั้ง บางทีติดตั้งแล้วไม่มีอะไรเกิดขึ้น บางทีตั้งค่าแล้วกดบันทึกไม่ได้ บางทีฟอร์มติดต่อไม่ส่งอีเมล และที่น่ากลัวที่สุดคือกดอัปเดตปุ๊บ เว็บขาวทั้งหน้า
ข่าวดีคือสาเหตุส่วนใหญ่วนอยู่ไม่กี่เรื่อง และไล่ได้เป็นขั้นตอน บทความนี้เรียงจากวิธีที่ง่ายและเสี่ยงน้อยที่สุด ไปจนถึงวิธีที่ต้องเข้าไฟล์บนเซิร์ฟเวอร์ ให้ทำตามลำดับและหยุดทันทีที่เจอสาเหตุ
ก่อนเริ่ม: สำรองไฟล์และฐานข้อมูลก่อนทุกครั้ง ถ้าเว็บยังเข้าแอดมินได้ ใช้ปลั๊กอินสำรองข้อมูลหรือระบบสำรองของโฮสต์ ถ้ายังไม่มีระบบสำรอง อ่าน คู่มือสำรองข้อมูล WordPress ก่อน
ระบุอาการให้ชัดก่อนลงมือ
การแก้จะเร็วขึ้นมากถ้ารู้ว่าอาการอยู่กลุ่มไหน
| อาการ | สาเหตุที่น่าสงสัยก่อน | เริ่มที่ขั้นตอน |
|---|---|---|
| ติดตั้งแล้วไม่เห็นผลบนหน้าเว็บ | แคช, ยังไม่ได้ตั้งค่า/วาง shortcode | ขั้นที่ 1 |
| กดบันทึกการตั้งค่าไม่ได้ | ปลั๊กอินชนกัน, ไฟร์วอลล์/ปลั๊กอินความปลอดภัย | ขั้นที่ 2–3 |
| ปุ่มหรือฟีเจอร์ในหน้าเว็บไม่ทำงาน | JavaScript error, ปลั๊กอินรวมไฟล์ JS | ขั้นที่ 3 |
| ติดตั้งไม่ได้ ขึ้นข้อผิดพลาด | เวอร์ชัน PHP, สิทธิ์ไฟล์, ขนาดอัปโหลด | ขั้นที่ 4 |
| เว็บขาว/Error 500 หลังเปิดปลั๊กอิน | PHP fatal error, memory limit | ขั้นที่ 5–7 |
| เข้าแอดมินไม่ได้เลย | ปลั๊กอินพังทั้งระบบ | ขั้นที่ 7 (ปิดผ่านไฟล์) |
ขั้นที่ 1: ล้างแคชทุกชั้น
ปัญหา “ตั้งค่าแล้วไม่เปลี่ยน” จำนวนมากไม่ได้มาจากปลั๊กอินเสีย แต่เพราะยังเห็นหน้าเก่าที่ถูกแคชไว้ แคชมีได้หลายชั้น
- แคชเบราว์เซอร์ ลองเปิดหน้าต่างไม่ระบุตัวตน
- ปลั๊กอินแคช เช่น WP Rocket, LiteSpeed Cache, W3 Total Cache ให้กดล้างทั้งหมด
- แคชฝั่งโฮสต์ หลายโฮสต์มีปุ่มล้างแคชในแผงควบคุม
- CDN เช่น Cloudflare ให้ Purge Cache (ดูวิธีใน คู่มือ Cloudflare)
นอกจากนี้ ปลั๊กอินแคชที่ตั้ง “รวมและบีบไฟล์ JavaScript” มักทำให้ปลั๊กอินอื่นที่ต้องใช้ JS พังได้ ลองปิดตัวเลือกรวมไฟล์ชั่วคราวแล้วทดสอบใหม่
ขั้นที่ 2: ตรวจว่าปลั๊กอินชนกันหรือไม่
ปลั๊กอินชนกัน (plugin conflict) คือสาเหตุอันดับต้น ๆ ของ plugin not working in WordPress วิธีหาที่ปลอดภัยที่สุดคือทำบนเว็บทดสอบ (staging) ถ้าโฮสต์มีให้ ถ้าไม่มี ทำในช่วงคนเข้าน้อย
- ปิดปลั๊กอินทุกตัว ยกเว้นตัวที่มีปัญหา
- ทดสอบว่าตัวที่มีปัญหาทำงานหรือยัง
- ถ้าทำงาน เปิดปลั๊กอินอื่นกลับทีละตัว แล้วทดสอบทุกครั้ง
- ตัวที่เปิดแล้วปัญหากลับมา คือคู่ที่ชนกัน
ถ้ามีปลั๊กอินเยอะ ใช้วิธีแบ่งครึ่ง: เปิดครึ่งหนึ่ง ถ้าพังก็แบ่งครึ่งนั้นต่อ จะเร็วกว่าเปิดทีละตัวมาก
อีกทางคือปลั๊กอิน Health Check & Troubleshooting ของทีม WordPress ซึ่งมีโหมด Troubleshooting ที่ปิดปลั๊กอินเฉพาะในเซสชันของเรา ผู้เข้าชมคนอื่นยังเห็นเว็บปกติ เหมาะกับเว็บที่ปิดปลั๊กอินจริงไม่ได้
ขั้นที่ 3: ตรวจธีมและ JavaScript error
บางครั้งตัวที่ชนไม่ใช่ปลั๊กอิน แต่เป็นธีม
- สลับไปใช้ธีมมาตรฐาน เช่น Twenty Twenty-Five ชั่วคราว (ใน Troubleshooting mode จะไม่กระทบผู้เข้าชม)
- ถ้าปลั๊กอินทำงานบนธีมมาตรฐาน แปลว่าธีมเดิมมีโค้ดขัดกัน
สำหรับปุ่มหรือฟอร์มที่กดแล้วไม่มีอะไรเกิดขึ้น ให้เปิด Developer Tools ในเบราว์เซอร์ (กด F12) ไปที่แท็บ Console แล้วรีโหลดหน้า ถ้ามีข้อความสีแดง ให้ดูชื่อไฟล์ในข้อความ มักบอกได้ว่าเป็นของปลั๊กอินหรือธีมตัวไหน
ขั้นที่ 4: ตรวจเวอร์ชัน PHP และ WordPress
ปลั๊กอินแต่ละตัวระบุเวอร์ชันขั้นต่ำไว้ในหน้า WordPress.org ส่วนที่เขียนว่า Requires PHP และ Requires at least
- ดูเวอร์ชันปัจจุบันได้ที่ เครื่องมือ > สุขภาพเว็บไซต์ > ข้อมูล > เซิร์ฟเวอร์
- ถ้า PHP เก่ากว่าที่ปลั๊กอินต้องการ ปลั๊กอินอาจติดตั้งไม่ได้หรือทำให้เว็บพัง
- กลับกัน ถ้าเพิ่งอัปเกรด PHP แล้วปลั๊กอินเก่าพัง แปลว่าปลั๊กอินนั้นไม่รองรับเวอร์ชันใหม่
ทางออกที่ถูกคือหาปลั๊กอินที่ยังพัฒนาต่อเนื่อง ไม่ใช่ค้าง PHP เวอร์ชันเก่าไว้ เพราะเวอร์ชันที่หมดระยะสนับสนุนจะไม่ได้แพตช์ความปลอดภัย การเปลี่ยนเวอร์ชัน PHP ทำได้ในแผงควบคุมโฮสต์ (ดู คู่มือโฮสติ้ง WordPress)
ขั้นที่ 5: เพิ่ม Memory Limit
ปลั๊กอินหนัก ๆ เช่น page builder ร้านค้า หรือปลั๊กอินที่ประมวลผลรูป อาจใช้หน่วยความจำเกินที่เซิร์ฟเวอร์อนุญาต อาการคือหน้าเว็บขาว หรือข้อความ Allowed memory size exhausted
เพิ่มได้ในไฟล์ wp-config.php โดยวางบรรทัดนี้ไว้ก่อนบรรทัดที่เขียนว่า “That’s all, stop editing”
define( 'WP_MEMORY_LIMIT', '256M' );
ถ้าเพิ่มแล้วไม่เปลี่ยน แปลว่าโฮสต์ล็อกค่าไว้ ต้องปรับในแผงควบคุมหรือติดต่อโฮสต์ และถ้าปลั๊กอินตัวเดียวกินหน่วยความจำมากผิดปกติ อาจถึงเวลาหาตัวที่เบากว่า (เรื่องน้ำหนักปลั๊กอินกับความเร็ว ดู คู่มือเร่งความเร็ว WordPress)
ขั้นที่ 6: เปิด Debug Log เพื่อดูข้อผิดพลาดจริง
เมื่อเดาไม่ได้แล้ว ให้ WordPress บอกเอง เพิ่มบรรทัดเหล่านี้ใน wp-config.php
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
จากนั้นทำให้ปัญหาเกิดขึ้นอีกครั้ง แล้วเปิดไฟล์ wp-content/debug.log
วิธีอ่านแบบเร็ว:
- มองหาคำว่า Fatal error ก่อน เพราะเป็นตัวที่ทำให้หน้าพัง
- ดู path ในข้อความ ถ้าเป็น
wp-content/plugins/ชื่อปลั๊กอิน/คือตัวต้นเหตุ - ข้อความ Warning หรือ Deprecated มักไม่ใช่สาเหตุที่ทำให้พัง แต่บอกว่าโค้ดเก่า
สำคัญ: แก้เสร็จแล้วให้ปิด debug กลับเป็น false และลบไฟล์ debug.log เพราะไฟล์นี้อาจเปิดเผย path และข้อมูลภายในให้คนนอกเห็นได้
ขั้นที่ 7: ปิดปลั๊กอินด้วยการเปลี่ยนชื่อโฟลเดอร์ (เมื่อเข้าแอดมินไม่ได้)
ถ้าเว็บพังจนเข้าแอดมินไม่ได้ ให้ปิดปลั๊กอินจากฝั่งไฟล์ผ่าน File Manager ของโฮสต์หรือ SFTP
- ไปที่
wp-content/plugins/ - หาโฟลเดอร์ปลั๊กอินที่สงสัย แล้วเปลี่ยนชื่อ เช่น เติม
-offท้ายชื่อ - WordPress จะหาปลั๊กอินไม่เจอและปิดให้อัตโนมัติ
- ลองเข้าเว็บและแอดมินอีกครั้ง
ถ้าไม่รู้ว่าตัวไหน ให้เปลี่ยนชื่อโฟลเดอร์ plugins ทั้งโฟลเดอร์ เป็น plugins-off ทุกตัวจะถูกปิด จากนั้นเปลี่ยนชื่อกลับ แล้วเข้าไปเปิดทีละตัวในหน้าแอดมิน
วิธีนี้ไม่ลบข้อมูลการตั้งค่าของปลั๊กอิน เพราะข้อมูลอยู่ในฐานข้อมูล ถ้าเว็บขึ้น Error 500 ร่วมด้วย มีขั้นตอนเพิ่มใน วิธีแก้ HTTP Error 500 ใน WordPress
สาเหตุอื่นที่มักถูกมองข้าม
- ไลเซนส์หมดหรือยังไม่เปิดใช้งาน ปลั๊กอินพรีเมียมบางตัวจำกัดฟีเจอร์ถ้าไม่ได้ใส่คีย์
- ปลั๊กอินความปลอดภัยหรือไฟร์วอลล์บล็อก การบันทึกการตั้งค่าบางอย่างถูกมองว่าเป็นคำขอน่าสงสัย ตรวจ log ของไฟร์วอลล์
- สิทธิ์ไฟล์ผิด ติดตั้งหรืออัปเดตไม่ได้ ขึ้นข้อความเรื่อง permission
- ปลั๊กอินถูกถอดจากคลัง ถ้าหน้า WordPress.org แจ้งว่าปลั๊กอินถูกปิด ควรเลิกใช้และหาตัวแทน
- ปลั๊กอินเถื่อน เวอร์ชัน nulled มักถูกแก้โค้ดและเสี่ยงมัลแวร์ อ่านตัวอย่างใน บทความเรื่องปลั๊กอินปลอมแฝงมัลแวร์
- ปลั๊กอินซ้ำหน้าที่ เช่น ใช้ปลั๊กอิน SEO สองตัวพร้อมกัน หรือปลั๊กอินแคชสองตัว ทำให้ผลลัพธ์ทับกัน
ป้องกันไม่ให้เกิดซ้ำ
| นิสัย | ทำไมช่วย |
|---|---|
| สำรองก่อนอัปเดตทุกครั้ง | ย้อนกลับได้ภายในไม่กี่นาที |
| อัปเดตทีละตัว ไม่กดทั้งหมดพร้อมกัน | รู้ทันทีว่าตัวไหนทำพัง |
| ทดสอบบน staging ก่อน | ผู้เข้าชมไม่เห็นเว็บพัง |
| ลบปลั๊กอินที่ไม่ใช้ | ลดโอกาสชนและช่องโหว่ |
| เลือกปลั๊กอินที่อัปเดตสม่ำเสมอ | รองรับ PHP และ WordPress ใหม่ |
| จดรายการปลั๊กอินพร้อมเหตุผล | คนมาดูแลต่อเข้าใจได้เร็ว |
เมื่อไรควรเรียกผู้ช่วย
ลองเองได้ถ้าเว็บยังเข้าแอดมินได้และมีไฟล์สำรอง แต่ควรให้คนที่มีประสบการณ์ช่วยเมื่อ
- เว็บล่มนานและกระทบยอดขายหรือการจอง
- ไม่มีไฟล์สำรอง และไม่แน่ใจว่าแก้แล้วจะแย่ลงหรือเปล่า
- debug log ชี้ไปที่ธีมหรือโค้ดที่ถูกแก้เอง
- สงสัยว่าเว็บโดนแฮก เช่น มีปลั๊กอินแปลก ๆ ที่ไม่ได้ติดตั้ง หรือเว็บพาไปเว็บอื่น
ทีม Southern Whale เป็นทีมฟรีแลนซ์ที่ช่วยแก้ปัญหาแบบนี้ให้ธุรกิจภาคใต้อยู่เป็นประจำ ทั้งงานแก้เฉพาะหน้าและ บริการดูแลเว็บไซต์ แบบต่อเนื่อง หรือถ้าอยากวางโครงเว็บใหม่ให้ใช้ปลั๊กอินน้อยและดูแลง่าย ดู บริการ WordPress ส่งอาการและภาพหน้าจอมาคุยได้ที่ LINE OA
คำถามที่พบบ่อย
ปิดปลั๊กอินแล้วข้อมูลการตั้งค่าหายไหม
ไม่หาย การปิดใช้งานหรือเปลี่ยนชื่อโฟลเดอร์ไม่ลบข้อมูลในฐานข้อมูล แต่การกด “ลบ” ปลั๊กอินบางตัวจะล้างข้อมูลของตัวเองด้วย ควรอ่านคำเตือนก่อนลบ
อัปเดตปลั๊กอินแล้วเว็บพัง ย้อนเวอร์ชันได้ไหม
ได้ ทางที่ปลอดภัยที่สุดคือกู้จากไฟล์สำรอง หรือใช้ปลั๊กอินย้อนเวอร์ชันสำหรับปลั๊กอินจากคลัง WordPress.org แล้วรอผู้พัฒนาออกเวอร์ชันแก้
ทำไมปลั๊กอินทำงานบนคอมแต่ไม่ทำงานบนมือถือ
มักเป็นเรื่องแคชคนละชุด ธีมที่ซ่อนส่วนนั้นบนมือถือ หรือปลั๊กอินแคชที่สร้างแคชแยกสำหรับมือถือ ลองล้างแคชทุกชั้นก่อน
ควรมีปลั๊กอินกี่ตัว
ไม่มีตัวเลขตายตัว จำนวนไม่สำคัญเท่าคุณภาพและการไม่ซ้ำหน้าที่ ปลั๊กอินที่เขียนดีหลายตัวอาจเบากว่าปลั๊กอินแย่ตัวเดียว
เปิด WP_DEBUG บนเว็บจริงอันตรายไหม
ถ้าตั้ง WP_DEBUG_DISPLAY เป็น false ข้อความจะไม่แสดงบนหน้าเว็บ แต่ยังควรปิดและลบ debug.log หลังแก้เสร็จ เพราะไฟล์อาจถูกเปิดอ่านจากภายนอกได้
ปลั๊กอินฟอร์มไม่ส่งอีเมล เป็นที่ปลั๊กอินไหม
ส่วนใหญ่เป็นที่การส่งอีเมลของเซิร์ฟเวอร์ ไม่ใช่ตัวฟอร์ม การตั้งค่าส่งอีเมลผ่าน SMTP ที่ยืนยันตัวตนถูกต้องมักแก้ได้

