WooCommerce
ทำไม WooCommerce ต้องการ Backup พิเศษ?
WooCommerce ร้านค้าออนไลน์ไม่ใช่เพียงแค่เว็บไซต์ปกติ เพราะมีข้อมูลที่มีค่าสูงมาก เช่น ข้อมูลออเดอร์ลูกค้า รายการสินค้า ราคา รายได้ ที่อยู่จัดส่ง การชำระเงิน ถ้าข้อมูลหายไปหรือเสียหาย ร้านค้าจะสูญเสียเงินและลูกค้า
Backup ทั่วไปของ Hosting ที่บันทึกทุก 1 หรือ 2 วี ก อาจไม่เพียงพอ เพราะ:
- ข้อมูลออเดอร์เปลี่ยนแปลงทุกชั่วโมง — ถ้า Backup แค่วันละครั้ง คุณอาจสูญเสีย Order ทั้งวัน
- ข้อมูลลูกค้า ระเบียนการซื้อ ลูกค้าเก่าจำเป็น — ต้องเก็บแยกจาก Backup ปกติเพราะต้องคืนค่าได้อย่างรวดเร็ว
- ข้อมูลการชำระเงิน ต้องล็อก — ข้อมูล Payment Gateway (Stripe, PayPal, PromptPay) ต้องปกป้องแยกจากเซิร์ฟเวอร์ปกติ
- Database กับ File ต้องตรงกัน — ถ้า Backup File ที่หนึ่ง แต่ Database ที่อื่น ร้านค้าจะไม่ทำงาน
วิธี Backup WooCommerce ที่ถูกต้อง
Backup ร้านค้า WooCommerce ประกอบด้วย 2 ส่วนหลัก:
1. Backup Database (ข้อมูลออเดอร์, ราคา, ลูกค้า)
ฐานข้อมูล MySQL ของ WordPress เก็บทั้งหมด ต้อง Backup เป็นไฟล์ SQL ดังนี้:
# ตัวอย่าง: Backup Database ทั้งหมด (ใช้ SSH หรือ cPanel)
mysqldump -u[USERNAME] -p[PASSWORD] [DATABASE_NAME] > woocommerce_backup.sql
# ตัวอย่าง: Backup Database เฉพาะตาราง WooCommerce
mysqldump -u[USERNAME] -p[PASSWORD] [DATABASE_NAME] wp_posts wp_postmeta wp_users wp_usermeta wp_woocommerce_order_items wp_woocommerce_order_itemmeta > woo_orders_backup.sql
2. Backup Files (Plugin, Theme, Upload)
นอกจาก Database ต้อง Backup ไฟล์เหล่านี้ด้วย:
- /wp-content/uploads/ — รูปภาพสินค้า ส่วนกำหนด Invoice ไฟล์ที่ลูกค้าอัพโหลด
- /wp-content/plugins/ — Plugin ทั้งหมด รวม WooCommerce, Payment Plugin
- /wp-content/themes/ — Theme ที่ใช้งาน
- wp-config.php, .htaccess, robots.txt — ไฟล์การตั้งค่า
วิธี Backup WooCommerce ผ่าน cPanel
Hosting ส่วนใหญ่ที่ใช้ cPanel มี Backup Tool ในตัว คุณสามารถใช้ได้:
ขั้นตอน 1: เข้า cPanel Backup Section
- Login เข้า cPanel (https://yourdomain.com:2083)
- ค้นหา "Backup" หรือ "Backup Wizard"
- คลิก "Full Backup" เพื่อ Backup ทั้งเว็บไซต์ รวม Database และไฟล์
ขั้นตอน 2: เลือกตัวเลือก Backup
cPanel จะให้เลือก:
- Full Backup — Backup ทุกอย่าง (ใหญ่ แต่ปลอดภัยที่สุด)
- Partial Backup — เลือก Directory หรือ Database เฉพาะ
- Automated Backups — ตั้งให้ Backup อัตโนมัติทุกวัน หรือทุกสัปดาห์
ขั้นตอน 3: ตั้งเวลา Backup
ควรตั้ง Backup ในเวลาที่ร้านค้ามีผู้เยี่ยมชมน้อย (เช่น เที่ยงคืน หรือเช้าเร็ว) เพื่อไม่ให้ส่งผลต่อประสิทธิภาพเว็บไซต์ขณะ Backup
วิธี Backup WooCommerce ด้วย Plugin (ง่ายที่สุด)
ถ้าไม่สบายใจกับ cPanel Backup คุณสามารถใช้ Plugin เช่น UpdraftPlus, BackWPup, หรือ Jetpack Backup ดังนี้:
ขั้นตอน 1: ติดตั้ง Plugin Backup
- Login WordPress Dashboard
- ไปที่ Plugins → Add New
- ค้นหา "UpdraftPlus" หรือ "BackWPup"
- คลิก Install และ Activate
ขั้นตอน 2: ตั้งค่า Backup Destination
เลือกที่เก็บ Backup:
- Google Drive — ฟรี 15GB เก็บ Backup ไปบน Google Drive ปลอดภัย
- Dropbox, OneDrive — ทำนองเดียวกับ Google Drive
- Amazon S3, FTP Server — สำหรับ Server ของตัวเอง
- Email — ส่ง Backup File มาที่ Email (ไฟล์อาจใหญ่)
ขั้นตอน 3: ตั้งเวลา Automatic Backup
ตั้งให้ Backup อัตโนมัติทุกวัน หรือทุกสัปดาห์ Plugin จะเตือนถ้า Backup ล้มเหลว
ตรวจสอบ Backup ว่าสมบูรณ์ หรือไม่?
Backup ที่ดีต้องมี:
- Database SQL File — มีขนาด > 1MB (สำหรับร้านค้าปกติ)
- wp-content Directory — รวมรูปภาพสินค้า Plugin Theme
- Root Files — wp-config.php, .htaccess, index.php
- File Integrity — ไม่ซ้ำ ไม่เสีย ไม่มี Corruption
ตรวจสอบว่า Backup ทำงานถูกต้อง
หลังตั้ง Backup ให้ทดสอบด้วยขั้นตอนต่อไปนี้:
# 1. ตรวจสอบขนาดและเวลา Backup
ls -lh ~/full_backup*.tar.gz
# ควรเห็นไฟล์ที่มีขนาด > 100MB และมีวันที่ล่าสุด
# 2. ตรวจสอบ Database Backup File
ls -lh ~/sql_dump*.sql
# ควรเห็นไฟล์ SQL > 1MB
# 3. ทดสอบ Restore (ที่ Server ทดสอบเท่านั้น)
# ลอง restore Database ที่ Backup ไปจะเห็นข้อมูลครบไหม
# 4. ตรวจสอบ Backup Log
cat ~/backup.log | tail -20
# ควรเห็น "Backup completed successfully"
แก้ปัญหาที่พบบ่อย
Error: "Backup ล้มเหลว Database Connection Error"
เกิดจากเซิร์ฟเวอร์ MySQL ลงหรืออยู่ไม่สูง วิธีแก้: ติดต่อ Hosting Provider ตรวจสอบว่า MySQL Server ทำงาน หรือลองใช้ cPanel Backup แทน Plugin Backup ดู
Error: "Backup File ขนาดใหญ่เกินไป (> 2GB) อัพโหลดไม่ได้"
ปัญหา: ร้านค้ามีข้อมูลจำนวนมาก Backup File มีขนาด > 2GB วิธีแก้: 1) เลือก Partial Backup เฉพาะ Database และ /wp-content/ 2) ลบ log file เก่าใน /wp-content/debug.log 3) ใช้ Google Drive หรือ S3 ที่รองรับไฟล์ใหญ่
Error: "Automated Backup ไม่ทำงาน ต้องกำหนด Cron Job"
Plugin Backup บาง Plugin ต้องตั้ง Cron Job ใน cPanel เพื่อให้ Backup อัตโนมัติ วิธีแก้: ไปที่ cPanel → Cron Jobs → เพิ่ม Cron Job ให้เรียก Plugin Backup ทุกวันเวลา 2 น. (ตัวอย่าง: 0 2 * * * /usr/bin/php /home/username/public_html/wp-cron.php)
Error: "Google Drive ไม่ได้รับ Backup Authorization"
Plugin ไม่ได้ลิงก์กับ Google Account ถูกต้อง วิธีแก้: ไป Plugin Settings → Google Drive → Disconnect → Connect ใหม่ ให้ Plugin มีการอนุญาตเข้า Google Drive
Error: "Restore ข้อมูลแล้วแต่ WooCommerce สั่งการไม่ได้"
เกิดจากเวอร์ชัน WordPress หรือ PHP ไม่ตรงกับ Backup เดิม วิธีแก้: ตรวจสอบเวอร์ชัน WordPress และ PHP ต้องตรงกับเวลาที่ Backup ตามไฟล์ Backup Log
คำถามที่พบบ่อย
Q: Backup ควรทำบ่อยแค่ไหน?
A: ขึ้นอยู่กับความถี่ของ Order: ร้านค้าที่มี Order ทีละหลาย ๆ รายต่อวัน ควร Backup ทุกวัน หรือทุก 6 ชั่วโมง ร้านค้าเล็กที่มี Order น้อย สามารถ Backup ทีละสัปดาห์ได้ ควรมี Backup เก่า 4-5 ชุดไว้ เพื่อที่ถ้า Backup ล่าสุดเสีย ยังมีตัวเลือกอื่น
Q: ต้อง Backup ข้อมูลการชำระเงิน (Payment) ด้วยหรือไม่?
A: ข้อมูลการชำระเงินควรเก็บแยก ไม่ควรเก็บใน Local Backup เพราะเสี่ยงด้านความปลอดภัย ข้อมูล Credit Card ต้องถูกเข้ารหัส และบันทึกเฉพาะบนเซิร์ฟเวอร์ Payment Gateway (Stripe, PayPal, PromptPay) ไม่ใช่เซิร์ฟเวอร์ของคุณ Backup ของคุณสามารถเก็บ Order ID และอ้างอิง Transaction ID ได้เท่านั้น
Q: ถ้า Hosting Provider ให้ Backup อยู่แล้ว ต้อง Backup เพิ่มเติมหรือไม่?
A: ควรทำ Backup เพิ่มเติมที่แยกจาก Hosting เพราะ Backup ของ Hosting ถูกเก็บบนเซิร์ฟเวอร์เดียวกัน ถ้าเซิร์ฟเวอร์ได้รับ Ransomware Attack Backup อาจจะโดนด้วย สิ่งที่ดีที่สุดคือ Backup ไปหลายที่ (Google Drive, Dropbox, เซิร์ฟเวอร์ส่วนตัว) เรียกว่า "3-2-1 Backup Strategy" — 3 ชุด Backup, 2 ที่เก็บต่าง, 1 ที่เก็บนอกเซิร์ฟเวอร์