WordPress Multisite คืออะไร
WordPress Multisite เป็นฟีเจอร์ที่มีมาตั้งแต่ WordPress 3.0 ที่ช่วยให้คุณบริหารหลายเว็บไซต์จาก WordPress installation เดียว โดยมี Super Admin ที่ควบคุมภาพรวมทั้ง network และแต่ละเว็บมี admin ของตัวเองที่จัดการเนื้อหา theme และ user ของตน
ตัวอย่างการใช้งาน WordPress Multisite ได้แก่
- มหาวิทยาลัยที่ต้องการเว็บย่อยสำหรับแต่ละคณะ เช่น eng.university.ac.th, science.university.ac.th
- สื่อที่มีหลายฉบับหรือหลายภาษา
- บริษัทที่มี brand หลายตัวต้องการ site แยกกันแต่ดูแลจากที่เดียว
- ผู้ให้บริการ hosting WordPress ที่ต้องการให้ลูกค้าสร้างเว็บของตัวเอง
Subdomain vs Subdirectory
WordPress Multisite รองรับ 2 รูปแบบ ต้องเลือกตอนติดตั้งและเปลี่ยนภายหลังทำได้ยากมาก
Subdomain (blog.example.com)
แต่ละ site จะอยู่ที่ subdomain เช่น site1.example.com, site2.example.com ต้องตั้งค่า wildcard DNS ให้ *.example.com ชี้มาที่ server เดียวกัน เหมาะสำหรับ site ที่ต้องการ identity แยกชัดเจน
Subdirectory (example.com/site1)
แต่ละ site จะอยู่ที่ path เช่น example.com/site1, example.com/site2 ตั้งค่าง่ายกว่า ไม่ต้องแตะ DNS แต่ path จะยาวขึ้น เหมาะสำหรับ site ภายใต้ brand เดียวกัน
ขั้นตอนเปิดใช้ WordPress Multisite
ขั้นที่ 1 — แก้ไข wp-config.php
// เพิ่มบรรทัดนี้ก่อน "/* That's all, stop editing! */"
define('WP_ALLOW_MULTISITE', true);
ขั้นที่ 2 — Setup Network
เข้า WordPress Admin แล้วไปที่ Tools > Network Setup จะปรากฏตัวเลือก Subdomain หรือ Subdirectory และ Network Title, Admin Email กรอกข้อมูลแล้วคลิก Install
ขั้นที่ 3 — อัปเดต wp-config.php ตามที่ WordPress แนะนำ
WordPress จะแสดง code ที่ต้องเพิ่มใน wp-config.php โดยตรง คัดลอกและวาง ลักษณะจะเป็นดังนี้
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false); // true = subdomain, false = subdirectory
define('DOMAIN_CURRENT_SITE', 'yoursite.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
ขั้นที่ 4 — อัปเดต .htaccess
แทนที่ .htaccess เดิมด้วย code ที่ WordPress แนะนำ สำหรับ subdirectory จะเป็น
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# ป้องกัน direct access ไปที่ wp-content/uploads
RewriteRule ^wp-content/[^/]+/.*\.php$ - [F]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
ขั้นที่ 5 — สร้าง Site ใหม่ใน Network
เข้า My Sites > Network Admin > Sites > Add New กรอก Site Address, Site Title, Admin Email แล้วคลิก Add Site จากนั้น admin email ที่กรอกจะได้รับ invitation
ข้อจำกัดของ WordPress Multisite บน Shared Hosting
- ไม่รองรับ Subdomain ถ้า hosting ไม่มี wildcard subdomain (ต้องขอเปิดกับ provider)
- Plugin และ Theme ต้อง activate โดย Super Admin ก่อน จึงใช้งานได้ใน sub-site
- บาง plugin ไม่รองรับ Multisite environment
- Shared resource ทำให้ถ้า site หนึ่งมี traffic มากจะกระทบ site อื่น
- หาก sub-site ถูก hack จะมีความเสี่ยงลามไปยัง site อื่นในเครือข่ายเดียวกัน
ตรวจสอบว่า Multisite ทำงานถูกต้อง
# ดูรายการ site ใน Network ผ่าน WP-CLI
wp site list
# ตรวจสอบ URL ของแต่ละ site
wp site list --fields=blog_id,url,registered,last_updated
# เช็คว่า wildcard subdomain ทำงาน
dig *.yoursite.com
# ทดสอบ HTTP response ของ sub-site
curl -I http://site1.yoursite.com
wp --url=site1.yoursite.com plugin list เพื่อดู plugin ของ site นั้นๆแก้ปัญหาที่พบบ่อย
หลังเปิด Multisite เว็บ Redirect Loop
ตรวจสอบว่า .htaccess ถูกอัปเดตแล้ว และ DOMAIN_CURRENT_SITE ใน wp-config.php ตรงกับ URL จริง บางครั้งต้องล้าง cache browser ด้วย
Sub-site แสดงหน้า 404
ปัญหามักเกิดจาก .htaccess ไม่ถูกต้อง ให้ไป Network Admin > Settings > Permalinks แล้วกด Save เพื่อ regenerate .htaccess rules
Plugin ไม่ปรากฏใน Sub-site
Super Admin ต้อง "Network Activate" plugin ก่อน หรือ activate ให้แต่ละ site ใน Network Admin > Sites > เลือก site > Edit > Plugins
Subdomain ไม่ทำงาน
ตรวจสอบ DNS wildcard record: ต้องมี A record สำหรับ * ชี้ไปที่ IP ของ server และ hosting ต้องรองรับ wildcard subdomain (ติดต่อ support ถ้าไม่แน่ใจ)
คำถามที่พบบ่อย
Multisite กับการติดตั้ง WordPress แยกกันต่างกันอย่างไร
Multisite ใช้ WordPress installation เดียว ใช้ plugin/theme ชุดเดียวร่วมกัน บริหารจาก dashboard เดียว แต่ถ้า site หนึ่งเสียหายอาจกระทบทุก site การติดตั้งแยกกันมี isolation ที่ดีกว่าแต่ดูแลยากกว่า
Multisite มี SEO ผลเสียไหม
ถ้าแต่ละ site มีเนื้อหาไม่ซ้ำกันและ URL ชัดเจน SEO ไม่ได้รับผลเสียจาก Multisite โดยตรง แต่ต้องตั้งค่า canonical และ robots.txt ให้ถูกต้องสำหรับแต่ละ site
ปิด Multisite แล้วกลับเป็น single site ได้ไหม
ทำได้แต่ยุ่งยากมาก เพราะ database structure เปลี่ยนไปแล้ว ต้อง migrate แต่ละ sub-site ออกมาเป็น installation ใหม่ทีละตัว ควรคิดให้รอบคอบก่อนเปิด Multisite
หากต้องการ Hosting ที่รองรับ WordPress Multisite และจัดการหลายเว็บไซต์ได้สะดวก ลองดู บริการ Hosting จาก asiagb.com ที่รองรับ WordPress ครบครันพร้อม support ภาษาไทยตลอด 24 ชั่วโมง