อัพเดท WordPress อย่างปลอดภัย ไม่ให้เว็บพัง

คู่มือครบจบสำหรับการอัพเดท Core, Plugin และ Theme พร้อม Backup และทดสอบก่อนลง Production

อัพเดท WordPress อย่างปลอดภัย ไม่ให้เว็บพัง WordPress

ทำไมต้องอัพเดท WordPress เป็นประจำ

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

ตามสถิติจาก WPScan พบว่ากว่า 90% ของเว็บ WordPress ที่ถูกแฮ็กเกิดจากช่องโหว่ใน Plugin และ Theme ที่ล้าสมัย ดังนั้นการอัพเดทสม่ำเสมอจึงเป็นสิ่งสำคัญที่สุดในการดูแลความปลอดภัยของเว็บ

เตรียมความพร้อมก่อนอัพเดท: Backup ทุกอย่างก่อน

กฎเหล็กข้อแรก: ห้ามอัพเดทโดยไม่มี Backup ไม่ว่าจะเป็นการอัพเดทเล็กหรือใหญ่ก็ตาม การมี Backup ที่ดีทำให้คุณมั่นใจได้ว่าถ้าเกิดปัญหา สามารถ Restore กลับมาได้ภายในไม่กี่นาที

วิธี Backup ผ่าน cPanel

  1. เข้า cPanel ของ Hosting แล้วไปที่ Files > Backup Wizard
  2. เลือก Back Up จากนั้นกด Full Backup
  3. เลือก Destination เป็น Home Directory แล้วกด Generate Backup
  4. รอจนได้รับอีเมลแจ้งว่า Backup เสร็จแล้วจึงค่อยดำเนินการต่อ

Backup ฐานข้อมูลผ่าน phpMyAdmin

  1. เข้า cPanel > Databases > phpMyAdmin
  2. เลือก Database ของ WordPress ที่ต้องการ
  3. คลิกแท็บ Export > เลือก Format เป็น SQL
  4. กด Export เพื่อดาวน์โหลดไฟล์ .sql ไว้ในเครื่อง
Tip: ใช้ Plugin อย่าง UpdraftPlus หรือ All-in-One WP Migration เพื่อ Backup อัตโนมัติทุกวันไปยัง Google Drive หรือ Dropbox จะได้ไม่ต้องทำ Backup มือทุกครั้ง

ขั้นตอนอัพเดท WordPress Core

เมื่อ Backup เสร็จแล้ว ให้เริ่มอัพเดทจาก WordPress Core ก่อนเสมอ เพราะการอัพเดท Core อาจกระทบกับ API ที่ Plugin และ Theme ใช้งาน ทำให้รู้ได้ชัดว่าปัญหาเกิดจาก Core หรือ Plugin

  1. เข้า WordPress Admin ที่ yoursite.com/wp-admin
  2. ไปที่ Dashboard > Updates
  3. ถ้ามี WordPress Version ใหม่ จะเห็นแถบสีเหลืองแจ้งเตือน ให้คลิก Update Now
  4. รอจนหน้าจอแสดงข้อความ "WordPress updated successfully"
  5. ตรวจสอบหน้าแรกของเว็บทันทีว่าแสดงผลปกติ
Tip: WordPress มี Minor Update (เช่น 6.5.1 → 6.5.2) และ Major Update (เช่น 6.4 → 6.5) Minor Update ส่วนใหญ่ปลอดภัยมาก แต่ Major Update ควรทดสอบบน Staging ก่อนเสมอ

อัพเดท Plugin อย่างไรให้ปลอดภัย

Plugin คือสาเหตุหลักที่ทำให้เว็บพังหลังอัพเดทมากที่สุด เพราะ Plugin แต่ละตัวพัฒนาโดยคนละทีม และอาจมีความขัดแย้งกันได้ วิธีที่ปลอดภัยที่สุดคืออัพเดททีละตัวแล้วทดสอบ ไม่ใช่กด "Update All" พร้อมกัน

  1. ไปที่ Plugins > Installed Plugins
  2. ดูรายการ Plugin ที่มี Update พร้อม
  3. อ่าน Changelog ของแต่ละ Plugin ก่อนอัพเดท (คลิกที่ "View version x.x.x details")
  4. อัพเดท Plugin ทีละตัว โดยเริ่มจาก Plugin หลักที่ใช้งานบ่อยก่อน
  5. หลังอัพเดทแต่ละตัว ให้ทดสอบส่วนที่ Plugin นั้นดูแล เช่น Form, Cart, Gallery
Tip: Plugin ที่ไม่ได้รับการอัพเดทมานานกว่า 2 ปี หรือไม่รองรับ WordPress เวอร์ชันปัจจุบัน ควรหาทางเลือกใหม่หรือลบออก เพราะอาจมีช่องโหว่ที่ไม่ได้รับการแก้ไข

อัพเดท Theme อย่างระมัดระวัง

การอัพเดท Theme มีจุดที่ต้องระวังเป็นพิเศษ คือถ้าคุณแก้ไข Code ของ Theme โดยตรง การอัพเดทจะทำให้การแก้ไขเหล่านั้นหายไปทั้งหมด วิธีที่ถูกต้องคือใช้ Child Theme เสมอ

  1. ไปที่ Appearance > Themes
  2. คลิกที่ Theme ที่ใช้งานอยู่ แล้วดูว่ามีปุ่ม Update Available หรือไม่
  3. ถ้ามี Child Theme และไม่ได้แก้ไข Parent Theme โดยตรง สามารถอัพเดทได้เลย
  4. ถ้าเคยแก้ไข Parent Theme โดยตรง ให้ Export การแก้ไขออกมาก่อนทุกครั้ง

ทดสอบบน Staging Environment ก่อน Production

สำหรับเว็บที่ใช้งานจริงและสำคัญ เช่น เว็บขายของ หรือเว็บที่มี Traffic สูง ควรทดสอบการอัพเดทบน Staging ก่อนเสมอ Staging คือสำเนาของเว็บที่รันแยกต่างหาก ไม่กระทบ Production

สร้าง Staging Site ผ่าน cPanel

  1. เข้า cPanel > Softaculous Apps Installer
  2. เลือก WordPress ที่ติดตั้งอยู่ แล้วคลิกไอคอน Clone หรือ Staging
  3. ระบุ Subdomain สำหรับ Staging เช่น staging.yoursite.com
  4. กด Create Staging รอให้ระบบ Clone เว็บให้เสร็จ
  5. ทดสอบอัพเดทบน Staging ก่อน ถ้าปกติค่อย Push ไป Production
Tip: Hosting บางเจ้ามี WP Toolkit หรือ WordPress Manager ใน cPanel ที่มีฟีเจอร์ Staging ในตัว ทำให้ Sync งานระหว่าง Staging และ Production ได้ง่ายขึ้น

ตรวจสอบหลังอัพเดททุกครั้ง

เมื่ออัพเดทเสร็จแล้ว อย่าเพิ่งวางใจ ควรตรวจสอบส่วนสำคัญของเว็บทันทีดังนี้


ตรวจสอบว่าการอัพเดท WordPress ทำงานถูกต้อง

หลังอัพเดทเสร็จแล้ว ใช้ URL เหล่านี้ในการตรวจสอบสถานะของเว็บผ่าน Browser หรือเครื่องมือ Online

# ตรวจสอบเวอร์ชัน WordPress ปัจจุบัน (เข้าใน Admin)
yoursite.com/wp-admin/about.php

# ตรวจสอบ PHP Error Log ผ่าน cPanel File Manager
/home/username/public_html/wp-content/debug.log

# เปิด WordPress Debug Mode ใน wp-config.php เพื่อดู Error
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

# ตรวจสอบ WordPress Version ผ่าน readme.html (ควรลบไฟล์นี้ทิ้ง)
yoursite.com/readme.html

# ตรวจสอบ Core Files ผ่าน Admin
yoursite.com/wp-admin/tools.php?page=site-health
Tip: Site Health ใน WordPress Admin (Tools > Site Health) เป็นเครื่องมือที่ดีมากสำหรับตรวจสอบสุขภาพของเว็บหลังอัพเดท จะแจ้งทุกปัญหาที่ตรวจพบพร้อมวิธีแก้ไข ควรรันหลังอัพเดททุกครั้ง

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

Error: "The site is experiencing technical difficulties"

ข้อผิดพลาดนี้มักเกิดหลังอัพเดท Plugin ที่ขัดแย้งกัน วิธีแก้คือปิด Plugin ที่เพิ่งอัพเดทผ่าน cPanel File Manager โดยเปลี่ยนชื่อโฟลเดอร์ Plugin

# เข้า cPanel > File Manager ไปที่ path นี้
/home/username/public_html/wp-content/plugins/

# เปลี่ยนชื่อโฟลเดอร์ Plugin ที่สงสัย เช่น
plugin-name → plugin-name-DISABLED

# WordPress จะ Deactivate Plugin นั้นอัตโนมัติ
# แล้วทดสอบว่าเว็บกลับมาปกติหรือไม่

Error: "Parse error: syntax error" หรือหน้าจอขาว (White Screen of Death)

เกิดจาก PHP Error ใน Plugin หรือ Theme ที่อัพเดทใหม่ วิธีแก้คือเปิด Debug Mode เพื่อดู Error จริง จากนั้น Restore ไฟล์จาก Backup

# แก้ไข wp-config.php ผ่าน cPanel File Manager
# เพิ่มบรรทัดนี้ก่อน "That's all, stop editing!"
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

# ดู Error Log ที่
/home/username/public_html/wp-content/debug.log

Error: "Briefly unavailable for scheduled maintenance"

เว็บค้างอยู่ใน Maintenance Mode หลังจาก Update ล้มเหลวกลางคัน แก้ไขได้โดยลบไฟล์ .maintenance ออกจาก Root ของเว็บ

# เข้า cPanel > File Manager
# เปิด Show Hidden Files (ไฟล์ที่ขึ้นต้นด้วยจุด)
# ลบไฟล์นี้ออก:
/home/username/public_html/.maintenance

Error: 500 Internal Server Error หลังอัพเดท Theme

มักเกิดจาก Theme ใหม่ไม่รองรับ PHP Version ปัจจุบัน ให้ตรวจสอบ PHP Version ใน cPanel และเปรียบเทียบกับ Requirement ของ Theme นั้น บางครั้งต้องอัพเกรด PHP Version ใน cPanel > MultiPHP Manager

Plugin อัพเดทแล้วฟีเจอร์หาย หรือ Layout เพี้ยน

เกิดจาก Plugin Version ใหม่เปลี่ยน CSS หรือ JavaScript ให้ล้าง Cache ก่อนเป็นอันดับแรก ทั้ง Browser Cache และ Caching Plugin เช่น W3 Total Cache หรือ WP Super Cache


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

ควรอัพเดท WordPress บ่อยแค่ไหน?

ควรตรวจสอบและอัพเดทอย่างน้อยเดือนละครั้ง สำหรับ Security Patch (Minor Update) ควรอัพเดททันทีที่มี เพราะ Patch เหล่านี้แก้ช่องโหว่สำคัญ ส่วน Major Version ให้รอ 1-2 สัปดาห์หลัง Release เพื่อให้ชุมชนทดสอบก่อน

เปิด Auto-Update WordPress ได้ไหม ปลอดภัยหรือเปล่า?

WordPress รองรับ Auto-Update สำหรับ Minor Version (เช่น 6.5.1 → 6.5.2) ซึ่งปลอดภัยและแนะนำให้เปิด แต่ไม่ควรเปิด Auto-Update สำหรับ Major Version, Plugin และ Theme เพราะอาจทำให้เว็บพังโดยไม่ได้ตั้งใจโดยไม่มีใครรู้

ถ้าไม่มี Staging จะอัพเดทอย่างปลอดภัยได้อย่างไร?

ถ้าไม่มี Staging ให้ทำตามลำดับนี้: (1) Backup ก่อนเสมอ (2) อัพเดทในช่วงเวลา Traffic น้อย เช่น ดึก (3) อัพเดททีละตัว ไม่กด Update All (4) ทดสอบทันทีหลังแต่ละการอัพเดท (5) ถ้าพังให้ Restore จาก Backup ทันที การมี Backup ที่ดีทดแทน Staging ได้ในระดับหนึ่ง