
WordPress Multisite หรือ WordPress Network เป็นฟีเจอร์ที่ช่วยให้คุณบริหารจัดการเว็บไซต์หลายเว็บจาก Dashboard เดียว โดยใช้ WordPress Installation เพียงชุดเดียว แชร์ Plugin, Theme และ Database ร่วมกัน เหมาะสำหรับธุรกิจที่มีหลายแบรนด์ สำนักข่าวที่มีหลาย Section หรือนักพัฒนาที่ดูแลเว็บลูกค้าหลายเว็บ
WordPress Multisite เหมาะกับใคร
- บริษัทที่มีหลายแบรนด์ — บริหาร brand1.com, brand2.com, brand3.com จาก Dashboard เดียว
- สถาบันการศึกษา — แต่ละภาควิชามี Sub-site ของตัวเอง แต่ IT ดูแลจากส่วนกลาง
- นักพัฒนา Freelance — รับงานลูกค้าหลายเจ้าโดยใช้ Hosting เพียงหนึ่งแผน
- Platform ที่ให้บริการ Sub-site — สร้างระบบ website-as-a-service บน WordPress
ก่อนเริ่ม: ข้อกำหนดสำหรับ Shared Hosting
- WordPress ต้องติดตั้งในโฟลเดอร์ root (public_html) ไม่ใช่ Subdirectory
- Hosting ต้องรองรับ mod_rewrite (DirectAdmin รองรับทุกแผน)
- ต้องมีพื้นที่ Inode เพียงพอ (AsiaGB มี 50,000 Inode)
- แนะนำ PHP 8.2 หรือ 8.3 เพื่อประสิทธิภาพดีที่สุด
ขั้นตอนที่ 1: เปิดใช้ WordPress Multisite
เพิ่ม 2 บรรทัดนี้ใน wp-config.php ก่อนบรรทัด /* That's all, stop editing! */:
บันทึกไฟล์แล้ว Reload หน้า Dashboard จะเห็นเมนู Tools → Network Setup ปรากฏขึ้นมา
ขั้นตอนที่ 2: ตั้งค่า Network
ไปที่ Tools → Network Setup แล้วเลือกรูปแบบที่ต้องการ:
- Sub-directories — yoursite.com/site1/, yoursite.com/site2/ เหมาะสำหรับ Shared Hosting ทั่วไป
- Sub-domains — site1.yoursite.com, site2.yoursite.com ต้องตั้งค่า Wildcard DNS
กรอกชื่อ Network Title และ Admin Email แล้วคลิก Install
ขั้นตอนที่ 3: อัพเดต wp-config.php
WordPress จะแสดง Code ที่ต้องเพิ่มใน wp-config.php ให้ Copy ไปวางก่อนบรรทัด /* That's all */:
ขั้นตอนที่ 4: อัพเดต .htaccess
WordPress จะแสดง .htaccess rules ที่ต้องใช้แทนค่าเดิม:
ขั้นตอนที่ 5: Login ใหม่และสร้าง Site
หลัง Setup เสร็จ WordPress จะให้ Login ใหม่ จากนั้นจะเห็นเมนู My Sites ด้านบน Dashboard เพิ่ม Site ใหม่ได้ที่ My Sites → Network Admin → Sites → Add New
การจัดการ Plugin บน Multisite
Plugin ที่ติดตั้งบน Multisite มี 2 ระดับ:
- Network Activate — Plugin ทำงานทุก Site ใน Network พร้อมกัน Network Admin เท่านั้นที่ Activate ได้
- Site Activate — Plugin ทำงานเฉพาะ Site ที่ Admin ของ Site นั้น Activate
ข้อควรระวังสำคัญบน Shared Hosting
ข้อควรระวัง: Multisite ใช้ Resources มากกว่า WordPress ปกติ เพราะทุก Site ใช้ PHP Process ร่วมกัน ถ้ามีเว็บมากกว่า 5 Sites แนะนำให้ตั้งค่า PHP Memory Limit เป็น 256M และพิจารณาอัพเกรดเป็น VPS 500 บาท/เดือน เพื่อ Resources ที่เพียงพอ
การจัดการ Theme บน WordPress Multisite
ระบบ Theme ใน Multisite มีความซับซ้อนกว่า Single Site เนื่องจากมีทั้ง Network Admin และ Site Admin ที่มีสิทธิ์ต่างกัน ทำความเข้าใจความสัมพันธ์นี้จะช่วยให้จัดการ Theme ได้ถูกต้องตั้งแต่ต้น
- Network Admin ติดตั้ง Theme: Theme ทุกตัวต้องถูกอัพโหลดโดย Network Admin ก่อน จึงจะปรากฏในรายการของ Site Admin
- Network Enable Theme: Network Admin เลือกว่า Theme ไหนบ้างที่อนุญาตให้ Sub-site ใช้ได้ ถ้าไม่ Enable Sub-site จะมองไม่เห็น Theme นั้น
- Site Admin Activate Theme: Site Admin ของแต่ละ Sub-site เลือก Activate เฉพาะ Theme ที่ Network Admin อนุญาต
- Network Activate Theme: Network Admin สามารถ Force-activate Theme หนึ่งตัวสำหรับทุก Site พร้อมกันได้ — เหมาะสำหรับ Platform ที่ต้องการ Branding สม่ำเสมอ
เคล็ดลับ: Child Theme บน Multisite
ถ้า Sub-site แต่ละเว็บต้องการดีไซน์ที่แตกต่างกัน แนะนำให้ใช้ Child Theme โดยสร้าง Child Theme จาก Parent Theme เดียวกัน แต่ Override CSS และ Template ในแต่ละ Child Theme ตามต้องการ วิธีนี้ทำให้อัพเดต Parent Theme ได้โดยไม่กระทบการปรับแต่งที่ทำไว้
การตั้งค่า Domain Mapping — ให้แต่ละ Sub-site มีโดเมนของตัวเอง
หนึ่งในฟีเจอร์ที่ทรงพลังที่สุดของ WordPress Multisite คือการทำ Domain Mapping ซึ่งช่วยให้แต่ละ Sub-site ใช้โดเมนของตัวเองได้ เช่น shop.yourcompany.com ก็สามารถ Serve เป็น shop.com หรือ brand1.com ได้โดยที่ยังอยู่บน Multisite เดียวกัน
ขั้นตอนการทำ Domain Mapping
- ติดตั้ง Plugin สำหรับ Domain Mapping เช่น WordPress MU Domain Mapping หรือใช้ฟีเจอร์ที่มีใน WordPress 4.5+ โดยตรง
- ตั้งค่า DNS ของโดเมนใหม่ให้ชี้มาที่ IP ของ Hosting เดียวกัน โดยเพิ่ม A Record ชี้มาที่ Server IP
- บน DirectAdmin ให้เพิ่ม Domain Pointer หรือ Addon Domain เพื่อให้ Server รับ Request จากโดเมนนั้น
- ใน Network Admin → Sites แก้ไข Site URL ของ Sub-site นั้นให้เป็นโดเมนใหม่
| โครงสร้าง | ตัวอย่าง URL | เหมาะกับ |
|---|---|---|
| Sub-directory | main.com/shop/ | Shared Hosting ทั่วไป ตั้งค่าง่าย |
| Sub-domain | shop.main.com | แบรนด์ย่อยของบริษัทเดียวกัน |
| Domain Mapping | shop.com (คนละโดเมน) | หลายแบรนด์ที่ต้องการโดเมนแยกกัน |
การปรับแต่ง PHP Settings สำหรับ WordPress Multisite
WordPress Multisite ที่มีหลาย Sub-site ต้องการการปรับแต่ง PHP Settings ที่เหมาะสมกว่า Single Site ทั่วไป เพราะทุก Site ใช้ PHP Process และ Memory ร่วมกัน การตั้งค่าที่ผิดพลาดจะทำให้เว็บช้าหรือ Error โดยไม่ทราบสาเหตุ
PHP Settings ที่แนะนำสำหรับ Multisite
| ค่า PHP | ค่าแนะนำ | เหตุผล |
|---|---|---|
memory_limit |
256M | Multisite โหลด Plugins ทุก Site พร้อมกัน |
max_execution_time |
120 | Import/Export ข้อมูลหลาย Site ใช้เวลานาน |
upload_max_filesize |
64M | รองรับไฟล์ Media และ Theme ขนาดใหญ่ |
post_max_size |
64M | ต้องมากกว่า upload_max_filesize เสมอ |
บน AsiaGB Hosting ตั้งค่า PHP ได้ที่ DirectAdmin → PHP Settings หรือสร้างไฟล์ php.ini ใน public_html เพื่อ Override ค่าเฉพาะสำหรับเว็บของคุณ
wp-config.php สำหรับ Multisite ที่ควรเพิ่ม
การ Backup และ Restore WordPress Multisite
การ Backup บน Multisite มีความซับซ้อนมากกว่า Single Site เพราะข้อมูลของทุก Sub-site อยู่ใน Database เดียวกัน แต่อยู่ใน Tables แยกกัน (แต่ละ Site มี Prefix เช่น wp_2_posts, wp_3_posts) การ Backup ที่ครบถ้วนต้องครอบคลุมทั้ง Database ทั้งหมดและไฟล์ใน wp-content
ทำไม Multisite ต้องระวังเรื่อง Backup มากกว่า Single Site
ใน Single Site ถ้า Restore ผิดพลาดจะกระทบแค่เว็บเดียว แต่ใน Multisite การ Restore Database ทั้งก้อนจะ Overwrite ข้อมูลของทุก Sub-site พร้อมกัน รวมถึงข้อมูลผู้ใช้งาน บทความ และ Settings ของทุกเว็บ ดังนั้นการวางแผน Backup Strategy ที่ดีจึงสำคัญมากตั้งแต่ต้น ไม่ใช่แค่ทำ Backup สักอันไว้เผื่อ
วิธี Backup ที่แนะนำ
- UpdraftPlus: Plugin Backup ที่รองรับ Multisite โดยตรง สามารถ Backup ทั้ง Network หรือแยกเฉพาะ Database ได้ พร้อม Restore แบบเลือก Table ได้
- DirectAdmin Backup Manager: สร้าง Full Account Backup รวมทั้ง Database และ Files ทั้งหมด เป็นวิธีที่ง่ายและครอบคลุมที่สุดสำหรับ AsiaGB Hosting
- WP-CLI (Command Line): ใช้คำสั่ง
wp db exportสำหรับ Export Database ทั้งหมด เหมาะสำหรับผู้ใช้ที่มี SSH Access
กฎสำคัญ: ก่อนอัพเดต WordPress Core, Plugin หรือ Theme ใดๆ บน Multisite ต้อง Backup Database ให้เสร็จก่อนทุกครั้ง เพราะการอัพเดตที่ผิดพลาดบน Multisite ส่งผลต่อทุก Sub-site พร้อมกัน ไม่ใช่แค่เว็บเดียว ควรกำหนดตารางการ Backup อัตโนมัติอย่างน้อยสัปดาห์ละ 1 ครั้งด้วย
การเพิ่มประสิทธิภาพ WordPress Multisite ด้วย Object Cache
เมื่อ Multisite มีหลาย Sub-site การ Query Database จะเพิ่มขึ้นตามจำนวน Sub-site โดยตรง เพราะทุก Request ต้อง Load ข้อมูลของ Site นั้นๆ จาก Database การใช้ Object Cache ช่วยเก็บผลลัพธ์ที่ Query บ่อยๆ ไว้ใน Memory ทำให้ไม่ต้อง Query Database ซ้ำในทุก Request
- Transients API: WordPress มีระบบ Transients ในตัวที่เก็บข้อมูล Temporary ใน Database แต่ถ้ามี Persistent Object Cache จะเก็บใน RAM แทนซึ่งเร็วกว่ามาก
- Redis Object Cache: เป็นตัวเลือกยอดนิยมสำหรับ Multisite ขนาดใหญ่ ต้องการ Redis Server ที่ติดตั้งบน VPS หรือ Dedicated Server ไม่เหมาะกับ Shared Hosting ทั่วไป
- APCu Object Cache: เก็บ Cache ใน PHP Memory โดยตรง ไม่ต้องมี Server แยก ทำงานได้บน Shared Hosting แต่ Cache จะล้างเมื่อ PHP Process Restart
- Full Page Cache Plugin: เช่น WP Super Cache หรือ W3 Total Cache รองรับ Multisite โดยตรง สร้าง Static HTML ของแต่ละหน้าไว้ใน Disk เพื่อลด PHP Processing
สำหรับ Multisite บน AsiaGB Shared Hosting แนะนำใช้ Full Page Cache Plugin เป็นก้าวแรก เพราะไม่ต้องการ Configuration พิเศษและช่วยลด Load ได้ทันที หลังจากเว็บโตขึ้นและต้องการ Performance มากขึ้นให้พิจารณา Upgrade เป็น VPS เพื่อติดตั้ง Redis หรือ Memcached ได้ตามต้องการ สิ่งสำคัญคือ Object Cache ไม่ใช่แค่ของดีสำหรับเว็บที่มี Traffic สูงเท่านั้น แต่ยังช่วยลดเวลา Response ของหน้าแอดมินและ API ของ WordPress ได้อย่างเห็นได้ชัดแม้บนเว็บขนาดเล็กที่มี Sub-site 3-5 เว็บ
AsiaGB Hosting รองรับ WordPress Multisite บนทุกแผน พร้อม PHP 8.2/8.3, mod_rewrite, Inode 50,000 และ SSD Storage ที่เร็วเพียงพอสำหรับหลาย Sub-site เริ่มต้น 500 บาท/ปี
Hosting รองรับ WordPress Multisite
PHP 8.2/8.3, mod_rewrite ทุกแผน, Inode 50,000, SSD Storage เริ่มต้น 500 บาท/ปี Uptime 99%
ดูแพ็กเกจ Hosting