ลดความยุ่งยากในการใช้คลาวด์ พูดคุยกับเจ้าหน้าที่

ทำ Staging และ Clone เว็บ WordPress ด้วย WP Toolkit
Home ทำ Staging และ Clone เว็บ WordPress ด้วย WP Toolkit

ทำ Staging และ Clone เว็บ WordPress ด้วย WP Toolkit

การกดอัปเดตปลั๊กอินบนเว็บจริงแล้วเว็บพังเป็นเหตุการณ์ที่เกิดขึ้นบ่อย และเสียหายมากสำหรับร้านค้าออนไลน์ที่ทุกนาทีคือยอดขาย WP Toolkit ที่มากับ Plesk แก้ปัญหานี้ด้วยการสร้างสำเนาสำหรับทดสอบในไม่กี่คลิก

คู่มือนี้ครอบคลุมการสร้าง Staging การทดสอบอัปเดต และการนำการเปลี่ยนแปลงกลับ ซึ่งเป็นขั้นตอนที่ต้องระวังที่สุดเพราะอาจทับข้อมูลที่เกิดขึ้นบนเว็บจริงระหว่างนั้น

สิ่งที่ต้องเตรียม

  • Plesk Obsidian พร้อม WP Toolkit
  • เว็บ WordPress ที่ติดตั้งผ่าน Plesk หรือที่ WP Toolkit ตรวจพบแล้ว
  • พื้นที่ดิสก์ว่างเท่ากับขนาดเว็บอย่างน้อยหนึ่งเท่า
sudo plesk ext wp-toolkit --list
sudo df -h /var/www/vhosts

ขั้นตอนที่ 1: ให้ WP Toolkit ตรวจพบเว็บที่ติดตั้งเอง

เว็บที่ติดตั้งด้วยมือหรือย้ายมาจากที่อื่นอาจยังไม่ปรากฏ ให้สั่งสแกน

sudo plesk ext wp-toolkit --scan
sudo plesk ext wp-toolkit --list

หรือในหน้าเว็บกด WordPress แล้ว Scan

ขั้นตอนที่ 2: สร้างเว็บ Staging

ในหน้า WordPress เลือกเว็บที่ต้องการ กด Clone เลือกปลายทาง

  • ซับโดเมนใหม่ เช่น staging.example.com เป็นตัวเลือกที่แนะนำ
  • ซับโฟลเดอร์ เช่น example.com/staging ใช้ได้แต่ต้องระวังเรื่องการเก็บดัชนีมากกว่า

WP Toolkit จะคัดลอกไฟล์ สร้างฐานข้อมูลใหม่ และแทนที่ URL ให้อัตโนมัติ ซึ่งเป็นส่วนที่ทำด้วยมือแล้วพลาดบ่อย

# โคลนผ่านคำสั่ง
sudo plesk ext wp-toolkit --clone -instance-id 1 -target-type subdomain \
  -target-name staging -target-domain-id 1

ขั้นตอนที่ 3: ป้องกันเว็บ Staging จากการเก็บดัชนี

WP Toolkit ตั้ง blog_public เป็น 0 ให้อยู่แล้ว แต่ควรเพิ่มการป้องกันอีกชั้น

ในหน้าเว็บ Staging ใน WP Toolkit เปิดตัวเลือก Password protection ซึ่งเพิ่ม Basic Auth ให้

ตรวจว่าทำงาน

curl -sI https://staging.example.com | head -1
# ควรได้ 401 Unauthorized

curl -s https://staging.example.com/robots.txt

และตรวจว่าไม่มีการส่งอีเมลจริงจากเว็บทดสอบ ตั้งปลั๊กอินระงับอีเมลตามคู่มือเรื่อง Staging

ขั้นตอนที่ 4: ทดสอบการอัปเดตด้วย Smart Update

Smart Update เป็นฟีเจอร์ที่ทำงานอัตโนมัติทั้งชุด คือโคลนเว็บ อัปเดตบนสำเนา จับภาพหน้าจอเปรียบเทียบก่อนและหลัง แล้วรายงานว่าหน้าไหนเปลี่ยนไปผิดปกติ

ในหน้า WP Toolkit เปิดสวิตช์ Smart Update ที่การ์ดของเว็บ แล้วกด Update

ระบบจะแสดงผลเปรียบเทียบเป็นภาพ หากหน้าใดเสียหายจะเห็นทันทีและเลือกไม่นำการอัปเดตขึ้นจริงได้

Smart Update เป็นฟีเจอร์ที่ต้องมีใบอนุญาตเพิ่มในบางแพ็กเกจ หากไม่มี ให้ทำด้วยมือบน Staging ที่สร้างไว้แทน

ขั้นตอนที่ 5: อัปเดตด้วยมือบน Staging

# ดูรายการที่รออัปเดต
sudo plesk ext wp-toolkit --list-updates -instance-id 2

# อัปเดตปลั๊กอินทั้งหมดบน staging
sudo plesk ext wp-toolkit --update -instance-id 2 -plugins-all

# อัปเดตเฉพาะตัว
sudo plesk ext wp-toolkit --update -instance-id 2 -plugins woocommerce

หลังอัปเดต ตรวจสอบตามรายการนี้ทุกครั้ง

  • หน้าแรกและหน้าสำคัญเปิดได้
  • เข้าหลังบ้านได้
  • ฟอร์มและระบบสั่งซื้อทำงาน
  • ไม่มีข้อผิดพลาดใน Log
sudo tail -50 /var/www/vhosts/example.com/logs/error_log

ขั้นตอนที่ 6: นำการเปลี่ยนแปลงกลับขึ้นเว็บจริง

นี่คือขั้นตอนที่ต้องระวังที่สุด WP Toolkit มีฟีเจอร์ Copy Data ที่คัดลอกจาก Staging กลับไปเว็บจริงได้ แต่ต้องเลือกให้ถูกว่าจะคัดลอกอะไร

  • Files only ปลอดภัยที่สุด คัดลอกเฉพาะไฟล์ ไม่แตะฐานข้อมูล เหมาะกับการอัปเดตปลั๊กอินและธีม
  • Database only ใช้เมื่อเปลี่ยนเฉพาะการตั้งค่า จะทับออเดอร์และความคิดเห็นที่เกิดขึ้นบนเว็บจริงระหว่างนั้น
  • Files and database ทับทั้งหมด ใช้เฉพาะเมื่อแน่ใจว่าไม่มีข้อมูลใหม่บนเว็บจริง

สำหรับร้านค้าออนไลน์ ให้ใช้ Files only เสมอ แล้วไปตั้งค่าที่เปลี่ยนแปลงบนเว็บจริงด้วยมือ

สำรองเว็บจริงก่อนทุกครั้ง

sudo plesk ext wp-toolkit --backup -instance-id 1
sudo plesk bin pleskbackup --domains-name example.com \
  --output-file=/var/backups/before-deploy-$(date +%F).tar

ขั้นตอนที่ 7: ใช้ฟีเจอร์ความปลอดภัยของ WP Toolkit

ในการ์ดของแต่ละเว็บมีปุ่ม Check Security ซึ่งตรวจและแก้ให้ได้หลายรายการ

  • ปิดการแก้ไฟล์จากหลังบ้าน
  • ปิด xmlrpc.php ซึ่งเป็นช่องทางที่ถูกโจมตีบ่อย
  • ซ่อนเวอร์ชันของ WordPress
  • ปิดการเข้าถึงไฟล์สำคัญ เช่น wp-config.php และ .htaccess
  • ตั้งสิทธิ์ไฟล์และโฟลเดอร์ให้ถูกต้อง
sudo plesk ext wp-toolkit --secure -instance-id 1 -check-all
sudo plesk ext wp-toolkit --secure -instance-id 1 -secure-all

ตรวจก่อนบังคับใช้เสมอ บางรายการอาจกระทบปลั๊กอินที่ใช้งานอยู่ เช่น การปิด xmlrpc.php ทำให้แอป WordPress บนมือถือใช้ไม่ได้

ขั้นตอนที่ 8: ตั้งการอัปเดตอัตโนมัติอย่างมีเงื่อนไข

ในการ์ดของเว็บ กดที่ Updates แล้วตั้งค่า

  • WordPress core ตั้งเป็น Minor and security updates only ซึ่งปลอดภัยและควรเปิด
  • Plugins สำหรับเว็บสำคัญ ตั้งเป็นแจ้งเตือนอย่างเดียว แล้วทดสอบบน Staging ก่อน
  • Themes เช่นเดียวกับปลั๊กอิน

สำหรับเว็บที่ไม่ซับซ้อนมาก การเปิดอัปเดตอัตโนมัติทั้งหมดยังดีกว่าการปล่อยให้ล้าสมัยจนถูกเจาะ ชั่งน้ำหนักตามความสำคัญของแต่ละเว็บ

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

โคลนแล้วเว็บ Staging เปิดไม่ขึ้น

ตรวจว่าซับโดเมนถูกสร้างและมีระเบียน DNS แล้ว และตรวจ Log ของโดเมนนั้น

sudo tail -50 /var/www/vhosts/example.com/logs/error_log

Staging ถูก Google เก็บดัชนี

เปิด Password protection ใน WP Toolkit ทันที และขอให้ลบออกจากผลค้นหาผ่าน Search Console

Copy Data แล้วข้อมูลบนเว็บจริงหาย

เลือกคัดลอกฐานข้อมูลโดยไม่ตั้งใจ กู้จากไฟล์สำรองที่ทำไว้ก่อน และครั้งต่อไปใช้ Files only

WP Toolkit ไม่เห็นเว็บที่ติดตั้งเอง

สั่งสแกนใหม่ และตรวจว่าไฟล์ WordPress อยู่ในโฟลเดอร์ของโดเมนที่ Plesk จัดการ ไม่ใช่ตำแหน่งอื่นนอกโครงสร้าง

ต้องการโฮสติ้ง Plesk ที่มี WP Toolkit พร้อมใช้งาน ติดต่อ THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/

ผู้ให้บริการคลาวด์ไทย
เพื่อธุรกิจของคนไทย

"มุ่งมั่น" และ "มั่นคง"
พร้อมรับมือทุกการเติบโต
Trust Cloud
คลาว์ที่ปลอดภัย
คือรากฐานที่มั่นคง
cloud security