สำรองข้อมูลและกู้คืน WordPress

ไม่มีสิ่งใดน่ากลัวสำหรับเจ้าของเว็บไซต์เท่ากับการ สูญเสียข้อมูลเว็บทั้งหมด — ไม่ว่าจะจาก Server ล่ม, เว็บถูกแฮก, การอัปเดต Plugin ผิดพลาด หรือแม้แต่การลบไฟล์โดยไม่ตั้งใจ Backup ที่ดีสามารถเปลี่ยนหายนะให้กลายเป็นแค่ความไม่สะดวกชั่วคราวที่แก้ได้ภายในชั่วโมง

บทความนี้ครอบคลุม ทุกวิธีการ Backup WordPress ตั้งแต่วิธีง่ายๆ ด้วย Plugin ไปจนถึงการ Backup ด้วยมือ และขั้นตอน Restore อย่างละเอียดสำหรับทุกสถานการณ์

กฎ 3-2-1 สำหรับ Backup: เก็บ Backup 3 ชุด ไว้บน 2 Storage ที่ต่างกัน โดย 1 ชุดอยู่ Off-site (Cloud) เสมอ — นี่คือมาตรฐานขั้นต่ำสำหรับเว็บธุรกิจ

WordPress ประกอบด้วยอะไรบ้างที่ต้อง Backup (Files + Database)

ก่อนจะลงมือ Backup ต้องเข้าใจก่อนว่า เว็บ WordPress ของคุณ "ไม่ได้เก็บข้อมูลไว้ที่เดียว" แต่กระจายอยู่ใน 2 ส่วนที่ทำงานร่วมกัน — ถ้า Backup ไปแค่ส่วนเดียว เวลากู้คืนจะได้เว็บที่ไม่สมบูรณ์ บางครั้งเปิดไม่ขึ้นเลย ดังนั้นการเข้าใจโครงสร้างนี้คือพื้นฐานที่สำคัญที่สุดของเรื่อง Backup ทั้งหมด

ลองนึกภาพว่าเว็บ WordPress เหมือนร้านอาหาร — ฐานข้อมูล คือสมุดสูตรอาหารและรายการสั่งซื้อทั้งหมด ส่วน ไฟล์ คือตัวอาคาร ครัว และวัตถุดิบ ถ้าขาดอย่างใดอย่างหนึ่งร้านก็เปิดไม่ได้

1. ฐานข้อมูล (Database) — หัวใจของเนื้อหา

WordPress ใช้ฐานข้อมูล MySQL/MariaDB เก็บข้อมูลที่เป็น "ข้อความ" และ "การตั้งค่า" ทั้งหมด ได้แก่:

ฐานข้อมูลมักมีขนาดเล็ก (ไม่กี่ MB ถึงหลักร้อย MB) แต่ เปลี่ยนแปลงบ่อยที่สุด — ทุกครั้งที่มีคนคอมเมนต์ สั่งซื้อ หรือคุณเขียนบทความใหม่ ฐานข้อมูลก็เปลี่ยน จึงควร Backup ถี่กว่าไฟล์

2. ไฟล์ (Files) — โครงสร้างและสื่อ

ไฟล์ทั้งหมดอยู่ในโฟลเดอร์ที่ติดตั้ง WordPress (ปกติคือ public_html/) แบ่งเป็น 3 กลุ่มหลัก:

จำง่าย ๆ: Database = "เนื้อหาและการตั้งค่า" · Files = "หน้าตาและไฟล์สื่อ" — Backup ที่สมบูรณ์ต้องมีทั้งคู่ คู่กันเสมอ และควรเป็น Snapshot ที่ถ่าย ณ เวลาใกล้เคียงกัน เพื่อให้ข้อมูลสอดคล้องกัน (เช่น ถ้า Backup ไฟล์ปลั๊กอินใหม่แต่ฐานข้อมูลเก่า ค่าตั้งค่าปลั๊กอินอาจไม่ตรงกัน)

สิ่งที่ต้อง Backup ใน WordPress

WordPress ประกอบด้วย 2 ส่วนหลักที่ต้อง Backup ทั้งคู่:

วิธีที่ 1: UpdraftPlus (แนะนำสำหรับมือใหม่)

UpdraftPlus คือ Backup Plugin ยอดนิยมที่สุดบน WordPress.org มีผู้ติดตั้งมากกว่า 3 ล้านเว็บ รองรับ Cloud Storage หลายแห่งในเวอร์ชันฟรี

การตั้งค่า UpdraftPlus

  1. ติดตั้ง Plugin UpdraftPlus WordPress Backup Plugin จาก WordPress.org
  2. ไปที่ Settings → UpdraftPlus Backups
  3. แท็บ Settings — ตั้ง Schedule:

เชื่อมต่อ Cloud Storage

UpdraftPlus รองรับ Cloud Storage ต่อไปนี้ในเวอร์ชันฟรี:

เทคนิค: ตั้งให้ Backup File ไป Google Drive และ Database ไป Dropbox แยกกัน — ถ้า Cloud ใดใดมีปัญหา ยังมี Backup จากอีกที่หนึ่ง

วิธีที่ 2: Backup ผ่าน DirectAdmin

DirectAdmin มีระบบ Backup ในตัวที่สามารถ Backup ไฟล์เว็บและฐานข้อมูลทั้งหมดได้:

  1. Login เข้า DirectAdmin
  2. ไปที่ System Info & Files → Create/Restore Backups
  3. เลือก Create a Site Backup
  4. เลือกสิ่งที่ต้องการ Backup: Email, Databases, Domain settings, Subdomain settings
  5. คลิก Create Backup — ระบบจะสร้างไฟล์ .tar.gz ไว้ใน Home Directory

ไฟล์ Backup จะอยู่ที่ /home/[username]/ สามารถดาวน์โหลดได้ผ่าน File Manager หรือ FTP

วิธีที่ 3: Backup ด้วยมือ (Manual Backup)

การ Backup ด้วยมือเหมาะสำหรับก่อนการเปลี่ยนแปลงครั้งใหญ่ เช่น อัปเดต WordPress Major Version หรือเปลี่ยน Theme

Backup Database ด้วย phpMyAdmin

  1. Login phpMyAdmin จาก DirectAdmin → Extra Features → phpMyAdmin
  2. คลิกชื่อฐานข้อมูล WordPress ทางซ้าย
  3. คลิกแท็บ Export
  4. เลือก Format: SQL, Method: Quick
  5. คลิก Go — ดาวน์โหลดไฟล์ .sql

Backup ไฟล์ผ่าน File Manager / FTP

  1. เข้า File Manager ใน DirectAdmin
  2. ไปที่โฟลเดอร์ public_html (หรือโฟลเดอร์ที่ติดตั้ง WordPress)
  3. เลือก Select All → Compress → สร้าง .zip หรือ .tar.gz
  4. ดาวน์โหลดไฟล์ที่ Compress แล้วไปเก็บใน Local

วิธี Backup: ปลั๊กอิน UpdraftPlus vs Manual ผ่าน DirectAdmin/phpMyAdmin

สองวิธีหลักที่คนไทยใช้กันมากที่สุดคือ "ปลั๊กอิน UpdraftPlus" กับ "Manual ผ่าน DirectAdmin/phpMyAdmin" — แต่ละแบบเหมาะกับสถานการณ์ต่างกัน ส่วนนี้จะลงรายละเอียดทีละขั้นเพื่อให้คุณเลือกได้ถูก

แนวทาง A: UpdraftPlus (อัตโนมัติ ทำในหน้าเว็บ)

เหมาะเมื่อ เว็บยังเข้าหน้า Admin ได้ปกติ และคุณต้องการตั้งให้ Backup วิ่งเองทุกวันโดยไม่ต้องจำ ขั้นตอนทำงานจริง:

  1. ใน WordPress Admin ไปที่ Plugins → Add New ค้นหา UpdraftPlus แล้ว Install + Activate
  2. ไปที่ Settings → UpdraftPlus Backups → แท็บ Settings
  3. ตั้ง Files backup schedule = Weekly, Retain = 4 และ Database backup schedule = Daily, Retain = 7
  4. ในส่วน Choose your remote storage เลือก Google Drive แล้วกด Authenticate (ระบบจะพาไปขออนุญาตบัญชี Google)
  5. กด Save Changes จากนั้นกลับมาแท็บ Backup / Restore แล้วกด Backup Now เพื่อทดสอบ — ติ๊กทั้ง Database และ Files
  6. รอจน Log ขึ้น The backup apparently succeeded and is now complete แล้วเช็กว่าไฟล์ขึ้นไปอยู่บน Google Drive จริง

ข้อดี: ตั้งครั้งเดียวทำงานเอง, ส่งขึ้น Cloud (Off-site) ได้ในตัว, กู้คืนก็กดในหน้าเดียวกัน · ข้อจำกัด: ถ้าเว็บล่มจนเข้า Admin ไม่ได้ ก็สั่ง Backup ใหม่ผ่านปลั๊กอินไม่ได้ (แต่ไฟล์เก่ายังกู้คืนได้)

แนวทาง B: Manual ผ่าน DirectAdmin + phpMyAdmin (คุมเองทั้งหมด)

เหมาะเมื่อต้องการ Snapshot ก่อนทำงานเสี่ยง (อัปเดต Major, เปลี่ยนธีม) หรือเมื่อ เว็บพังจนเข้า Admin ไม่ได้ — เพราะทำงานที่ระดับ Hosting Panel ไม่ต้องพึ่งหน้า WordPress เลย AsiaGB Hosting ใช้ DirectAdmin จึงทำตามนี้ได้ทันที:

  1. Backup ฐานข้อมูล: Login DirectAdmin → phpMyAdmin → คลิกชื่อฐานข้อมูล WordPress ทางซ้าย → แท็บ Export → เลือก Method Quick, Format SQL → กด Go จะได้ไฟล์ .sql
  2. Backup ไฟล์: กลับหน้าหลัก DirectAdmin → File Manager → เข้าโฟลเดอร์ public_html → Select All → Compress เป็น .tar.gz → ดาวน์โหลดเก็บลงเครื่อง
  3. หรือ Backup ทั้งบัญชีพร้อมกัน: DirectAdmin → Create/Restore Backups → Create a Site Backup → ติ๊ก Databases + Domain settings → กด Create แล้วดาวน์โหลดไฟล์ .tar.gz ที่ /home/[username]/

เพื่อความมั่นใจ ลองเปิดไฟล์ .sql ด้วย Text Editor ดูสักครั้งว่าขึ้นต้นด้วยบรรทัด comment ของ phpMyAdmin และมีคำสั่ง CREATE TABLE ครบ — ไฟล์ที่ Export ไม่สมบูรณ์มักมีขนาด 0 KB หรือจบกลางคัน

ระวัง: อย่าเก็บไฟล์ Backup ไว้ใน public_html แล้วลืมลบ — ไฟล์ .sql และ .zip ที่วางในเว็บสาธารณะอาจถูกดาวน์โหลดโดยคนอื่นได้ ดาวน์โหลดออกมาเก็บนอก Server แล้วลบไฟล์ Backup บน Server ทิ้งเสมอ

วิธีการ Restore WordPress

Restore ด้วย UpdraftPlus

  1. ไปที่ Settings → UpdraftPlus Backups
  2. แท็บ Existing Backups — เลือก Backup ที่ต้องการ
  3. คลิก Restore เลือกสิ่งที่ต้อง Restore (Database, Files, Plugins, Themes, Uploads)
  4. คลิก Next รอระบบดำเนินการ

Restore Database ด้วย phpMyAdmin

  1. Login phpMyAdmin → เลือกฐานข้อมูล
  2. คลิกแท็บ Import
  3. เลือกไฟล์ .sql ที่ Backup ไว้ → คลิก Go

สำคัญ: ก่อน Restore Database ให้ Drop ตารางเก่าออกก่อน (เลือก Drop all tables) หรือ Import ทับจะได้ข้อมูลซ้ำซ้อนได้ในบางกรณี ขึ้นกับ SQL Import Mode ที่เลือก

Restore ไฟล์ด้วย FTP

  1. Unzip ไฟล์ Backup ใน Local
  2. ใช้ FTP Client (เช่น FileZilla) อัปโหลดไฟล์ทับ
  3. ตรวจสอบให้แน่ใจว่า wp-config.php มีข้อมูล Database ที่ถูกต้อง

Restore WordPress ทีละขั้น (กรณีเว็บล่มทั้งระบบ)

เมื่อเกิดเหตุจริง — เว็บขึ้น White Screen, Error establishing database connection หรือถูกแฮก — การกู้คืนแบบ Manual จากไฟล์ Backup คือทางที่ชัวร์ที่สุด ทำตามลำดับนี้อย่าข้ามขั้น:

  1. เตรียมไฟล์ Backup: แตกไฟล์ .tar.gz/.zip ที่เก็บไว้บนเครื่อง และเตรียมไฟล์ .sql ของฐานข้อมูลให้พร้อม
  2. สร้างฐานข้อมูลเปล่า: ใน DirectAdmin → MySQL Management → Create new Database จดชื่อ Database, Username, Password ไว้
  3. Import ฐานข้อมูล: เข้า phpMyAdmin → เลือก Database ที่เพิ่งสร้าง → แท็บ Import → เลือกไฟล์ .sql → กด Go (ถ้าไฟล์ใหญ่เกินขีดจำกัด ให้บีบอัดเป็น .sql.gz แล้ว Import แทน)
  4. อัปโหลดไฟล์เว็บ: ใช้ FTP (เช่น FileZilla) หรือ File Manager อัปโหลดไฟล์ทั้งหมดเข้า public_html ให้ครบ โดยเฉพาะโฟลเดอร์ wp-content/uploads/
  5. แก้ wp-config.php: เปิดไฟล์ wp-config.php แล้วใส่ชื่อ Database, Username, Password ให้ตรงกับที่สร้างในขั้นที่ 2
define('DB_NAME', 'ชื่อฐานข้อมูลใหม่');
define('DB_USER', 'ชื่อผู้ใช้ใหม่');
define('DB_PASSWORD', 'รหัสผ่านใหม่');
define('DB_HOST', 'localhost');

เปิดเว็บดู ถ้าเนื้อหากลับมาครบถือว่าสำเร็จ แต่หากย้ายโดเมน/URL เปลี่ยน อาจต้องอัปเดต Site URL ในฐานข้อมูลด้วยคำสั่ง SQL ผ่านแท็บ SQL ของ phpMyAdmin:

UPDATE wp_options SET option_value = 'https://โดเมนใหม่.com'
WHERE option_name = 'siteurl' OR option_name = 'home';

สุดท้าย Login เข้า WordPress Admin → Settings → Permalinks → กด Save Changes หนึ่งครั้ง (ไม่ต้องเปลี่ยนค่าอะไร) เพื่อให้ระบบเขียนกฎ .htaccess ใหม่ — ขั้นนี้แก้ปัญหาหน้าใน (Single Post) ขึ้น 404 หลังกู้คืนได้บ่อยมาก

ลำดับสำคัญ: Restore ฐานข้อมูล "ก่อน" แล้วค่อยแก้ wp-config.php ให้ชี้ถูก ถ้าทำสลับลำดับเว็บจะขึ้น Error establishing database connection — และอย่าลืม Backup ตัวที่พังไว้ก่อน Restore ทับ เผื่อต้องกู้ข้อมูลบางส่วนที่เพิ่งเพิ่มเข้ามาภายหลัง

ตั้ง Backup อัตโนมัติ + เก็บ Off-site ตามกฎ 3-2-1

การ Backup ด้วยมือเป็นครั้งคราว "ดีกว่าไม่มี" แต่ความเสี่ยงคือคุณจะลืม วันที่เว็บพังจริงอาจเป็นวันที่ Backup ล่าสุดเก่าไปแล้วเป็นเดือน ทางออกคือทำให้เป็นระบบอัตโนมัติและกระจายที่เก็บตามกฎ 3-2-1

วิธีจัดวางจริงที่ทำได้ทันทีสำหรับเว็บบน AsiaGB Hosting:

  1. ชั้นที่ 1 — ระบบ Hosting: AsiaGB Hosting สำรองข้อมูลให้อัตโนมัติเดือนละ 2 ครั้ง (วันที่ 1 และ 15) เป็นตาข่ายความปลอดภัยฐาน
  2. ชั้นที่ 2 — UpdraftPlus ขึ้น Cloud: ตั้ง UpdraftPlus ให้ Backup ฐานข้อมูลทุกวันและไฟล์ทุกสัปดาห์ ส่งขึ้น Google Drive หรือ Dropbox (นี่คือชุด Off-site)
  3. ชั้นที่ 3 — สำเนาในเครื่องคุณ: เดือนละครั้ง ดาวน์โหลด Backup ชุดล่าสุดมาเก็บในคอมพิวเตอร์หรือ External Drive ของคุณเอง

ครบ 3 ชั้นนี้ = คุณมี Backup มากกว่า 3 ชุด, อยู่บนสื่อต่างกัน และมีชุด Off-site ครบตามกฎ 3-2-1 พอดี ถ้าวันใดข้อมูลหาย ไม่ว่าจะจากสาเหตุใด ก็มีจุดกู้คืนเสมอ

เคล็ดลับ Retention: อย่าตั้งให้เก็บ Backup ไว้แค่ชุดเดียวแล้วทับตลอด เพราะถ้าเว็บถูกแฮกแล้ว Backup รอบล่าสุดดันเก็บเอาตอนที่ถูกฝังมัลแวร์ไปแล้ว คุณจะกู้กลับมาเจอเว็บที่ยังติดเชื้อ — เก็บย้อนหลังหลายชุด (เช่น Database 7 ชุด, Files 4 ชุด) เพื่อให้ย้อนกลับไปจุดที่เว็บยังสะอาดได้

ตารางสรุป: เลือกวิธี Backup ที่เหมาะกับคุณ

วิธีความยากค่าใช้จ่ายเหมาะกับ
UpdraftPlusง่ายฟรีเว็บทั่วไป, มือใหม่
DirectAdmin Backupง่ายฟรีBackup ครั้งเดียวก่อนเปลี่ยนแปลง
Manual (phpMyAdmin+FTP)กลางฟรีต้องการ Control เต็มที่
BackupBuddyกลางจ่ายเงินเว็บธุรกิจ, ต้องการ Migrate

ทดสอบ Backup สม่ำเสมอ

Backup ที่ไม่เคยทดสอบ Restore = Backup ที่อาจใช้ไม่ได้เมื่อถึงเวลาจริง กำหนดวันทดสอบ Restore อย่างน้อย ปีละ 2 ครั้ง หรือหลังจากอัปเดต Major Version ทุกครั้ง

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

ควร Backup WordPress บ่อยแค่ไหน?

ขึ้นกับว่าเว็บเปลี่ยนแปลงบ่อยแค่ไหน เว็บข่าวหรือร้านค้าออนไลน์ที่มีคำสั่งซื้อทุกวันควร Backup ฐานข้อมูลทุกวัน ส่วนไฟล์ Backup ทุกสัปดาห์ก็เพียงพอ (เพราะธีม/ปลั๊กอินไม่ได้เปลี่ยนทุกวัน) สำหรับเว็บบริษัทหรือบล็อกที่อัปเดตสัปดาห์ละครั้ง การ Backup ทั้งหมดสัปดาห์ละครั้งก็รับได้ และควร Backup เพิ่มทันทีก่อนทำงานเสี่ยง เช่น อัปเดต WordPress Major Version หรือเปลี่ยนธีม

UpdraftPlus กับ Backup ของ DirectAdmin ต่างกันอย่างไร เลือกอันไหน?

UpdraftPlus ทำงานในระดับ WordPress ส่งขึ้น Cloud ได้ในตัวและกู้คืนง่ายผ่านหน้าเว็บ เหมาะเป็น Backup หลักประจำวัน ส่วน Backup ของ DirectAdmin ทำงานระดับ Hosting Account สำรองทั้งบัญชี (ไฟล์ + ฐานข้อมูล + อีเมล) เหมาะกับการ Snapshot ก่อนเปลี่ยนแปลงใหญ่ หรือเมื่อเข้า WordPress Admin ไม่ได้ คำตอบที่ดีที่สุดคือ "ใช้ทั้งคู่" — ให้ทั้งสองเสริมกันตามกฎ 3-2-1

Restore ฐานข้อมูลแล้วเว็บขึ้น Error establishing database connection ต้องทำอย่างไร?

Error นี้แปลว่า WordPress เชื่อมต่อฐานข้อมูลไม่ได้ สาเหตุที่พบบ่อยคือชื่อ Database, Username หรือ Password ใน wp-config.php ไม่ตรงกับฐานข้อมูลที่เพิ่งสร้าง ให้เปิด wp-config.php ตรวจค่า DB_NAME, DB_USER, DB_PASSWORD ให้ตรงกับที่ตั้งใน DirectAdmin → MySQL Management และตรวจว่า DB_HOST เป็น localhost

AsiaGB Hosting มี Backup ให้อัตโนมัติไหม?

มี AsiaGB Hosting สำรองข้อมูลให้อัตโนมัติเดือนละ 2 ครั้ง (วันที่ 1 และ 15) บนระบบ DirectAdmin โดยไม่มีค่าใช้จ่ายเพิ่ม อย่างไรก็ตามแนะนำให้ตั้ง UpdraftPlus ส่งขึ้น Cloud และดาวน์โหลดสำเนามาเก็บเองด้วย เพื่อให้ครบกฎ 3-2-1 และควบคุมจุดกู้คืนได้ตามต้องการ

Hosting พร้อม Backup อัตโนมัติทุก 2 สัปดาห์

AsiaGB Hosting สำรองข้อมูลทุกวันที่ 1 และ 15 ของเดือนโดยอัตโนมัติ พร้อม UpdraftPlus ที่ตั้งค่าได้เลย เริ่มต้น 500 บาท/ปี

ดูแพ็กเกจ Hosting →