สร้าง Subdomain ใน DirectAdmin

Subdomain คือส่วนขยายของโดเมนหลักที่ช่วยให้คุณแยกส่วนต่างๆ ของเว็บไซต์ออกจากกันได้อย่างชัดเจน เช่น blog.yourdomain.com, shop.yourdomain.com หรือ api.yourdomain.com โดยแต่ละ Subdomain สามารถชี้ไปยัง Folder ที่แยกกันบนเซิร์ฟเวอร์เดียวกันได้

Subdomain คืออะไร? ใช้ทำอะไรได้บ้าง?

Subdomain เป็นส่วนหนึ่งของโดเมนที่อยู่หน้าโดเมนหลัก ตัวอย่างการใช้งานที่พบบ่อย:

ขั้นตอนสร้าง Subdomain บน DirectAdmin

  1. Login เข้า DirectAdmin → เลือก Subdomain Management (ใต้ Domain)
  2. พิมพ์ชื่อ Subdomain ที่ต้องการในช่อง Subdomain (เช่น blog หรือ staging)
  3. เลือก Domain หลักที่ต้องการสร้าง Subdomain ไว้ใต้
  4. คลิก Create
  5. DirectAdmin จะสร้าง Folder ใหม่ให้อัตโนมัติที่ public_html/subdomain-name/ (หรือแยก Document Root ตาม config)

หลังสร้าง Subdomain ใหม่ DNS อาจใช้เวลาแพร่กระจาย (Propagation) 5–30 นาทีสำหรับ DNS เดียวกับ Nameserver, หรือสูงสุด 24–48 ชั่วโมงหากเปลี่ยน DNS เพิ่งใหม่

ตั้งค่า DNS Record สำหรับ Subdomain

เมื่อ DirectAdmin สร้าง Subdomain ใน Zone เดียวกับโดเมนหลัก มันจะสร้าง A Record ให้อัตโนมัติ แต่ถ้าคุณต้องการชี้ Subdomain ไปยัง IP หรือเซิร์ฟเวอร์อื่น ต้องตั้ง DNS เองดังนี้:

เพิ่ม A Record (ชี้ไป IP)

ไปที่ DirectAdmin → DNS Management → เพิ่ม Record:

NameTypeValueTTL
blogAIP Address ของ Server14400
stagingAIP Address ของ Server14400
apiAIP Address ของ API Server14400

เพิ่ม CNAME Record (ชี้ไปโดเมนอื่น)

ใช้ CNAME เมื่อต้องการให้ Subdomain ชี้ไปยังโดเมนของ Service อื่น เช่น CDN หรือ Third-party Service:

NameTypeValueTTL
cdnCNAMEabc123.cloudfront.net14400
shopCNAMEstores.shopify.com14400

ห้ามใส่ CNAME บน Root Domain (@) เพราะจะทำให้ MX Record สำหรับอีเมลพัง ใช้ A Record สำหรับโดเมนหลักเสมอ

ตั้งค่า Document Root ของ Subdomain

โดย default DirectAdmin จะสร้าง Subdomain ที่ path ~/public_html/subdomain/ แต่คุณสามารถเปลี่ยน Document Root ได้:

  1. ไปที่ Subdomain Management → คลิก Subdomain ที่ต้องการแก้
  2. เปลี่ยน Document Root ให้ชี้ไปยัง Path ที่ต้องการ เช่น public_html/wp-staging
  3. คลิก Save

ตัวอย่างการใช้: ถ้าคุณสร้าง WordPress ใน public_html/staging/ และต้องการให้ staging.yourdomain.com ชี้ไปยัง Folder นั้น ให้ตั้ง Document Root เป็น public_html/staging

ติดตั้ง SSL สำหรับ Subdomain

Subdomain แต่ละตัวต้องมี SSL Certificate แยกต่างหาก (หรือใช้ Wildcard SSL ที่ครอบคลุมทุก Subdomain):

ใช้งาน Subdomain สำหรับ WordPress

การสร้าง WordPress บน Subdomain ทำได้ 2 วิธี:

วิธีที่ 1: ใช้ Softaculous (แนะนำ)

  1. DirectAdmin → Softaculous → WordPress
  2. เลือก Domain/Subdomain ที่ต้องการ Install
  3. ตั้งค่าตามปกติ แล้วคลิก Install

วิธีที่ 2: ติดตั้งเอง (Manual)

  1. Upload ไฟล์ WordPress ไปที่ Folder ที่ Subdomain ชี้ไว้
  2. สร้าง Database ใหม่ใน phpMyAdmin
  3. ตั้งค่า wp-config.php ให้ใช้ Database ใหม่
  4. เปิดเบราว์เซอร์ไปยัง https://staging.yourdomain.com เพื่อทำ WordPress Install

ตรวจสอบว่า Subdomain ทำงานถูกต้อง

Subdomain สำหรับ API และ Mobile App Backend

หนึ่งในการใช้งาน Subdomain ที่นิยมมากขึ้นเรื่อยๆ คือการแยก API Endpoint ออกมาเป็น Subdomain เฉพาะ เช่น api.yourdomain.com เพื่อให้ Mobile App หรือ Frontend Framework สามารถเรียกใช้งานได้สะดวก และง่ายต่อการกำหนด CORS Policy แยกจากเว็บหลัก

ข้อดีของการใช้ api.yourdomain.com

ตั้งค่า CORS Header สำหรับ API Subdomain ใน .htaccess

Header always set Access-Control-Allow-Origin "https://yourdomain.com"
Header always set Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"
Header always set Access-Control-Allow-Headers "Authorization, Content-Type"
Header always set Access-Control-Max-Age "3600"

RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]

ตัวอย่างนี้อนุญาตให้เฉพาะ https://yourdomain.com เรียก API ได้ ถ้าต้องการอนุญาต Mobile App หรือ Domain อื่นให้แก้ค่า Access-Control-Allow-Origin หรือใช้ PHP ตรวจ Origin แบบ Dynamic

การจัดการ .htaccess ของ Subdomain

แต่ละ Subdomain มี Document Root แยกกัน ดังนั้นจึงมี .htaccess ของตัวเองแยกต่างหาก ไม่ได้ Inherit จาก .htaccess ของโดเมนหลัก ยกเว้นจะมีการตั้งค่าระดับ VirtualHost บน Server นี่คือสิ่งที่ต้องตั้งค่าใน .htaccess ของ Subdomain ตั้งแต่ต้น:

# Force HTTPS (Subdomain)
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# Gzip
AddOutputFilterByType DEFLATE text/html text/css application/javascript application/json

# Cache Control
ExpiresActive On
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType text/css "access plus 1 week"

Wildcard SSL กับ Subdomain: เลือกแบบไหนดี?

เมื่อมี Subdomain หลายตัว การเลือก SSL Certificate ที่เหมาะสมช่วยประหยัดเวลาและค่าใช้จ่ายในการดูแลระบบได้มาก ตัวเลือกหลักมี 2 แบบ:

รายการ Let's Encrypt (ฟรี) Wildcard SSL (*.yourdomain.com)
ครอบคลุม Subdomain ทีละ Subdomain (ต้อง Issue แยก) ทุก Subdomain ระดับเดียวในใบเดียว
ค่าใช้จ่าย ฟรี เริ่มต้น 5,000 บาท/ปี
อายุ Certificate 90 วัน (ต่ออายุอัตโนมัติ) 1 ปี
เหมาะกับ Subdomain ไม่กี่ตัว เปลี่ยนบ่อย Subdomain จำนวนมาก ต้องการความสะดวก

หมายเหตุ: Wildcard SSL ครอบคลุมเฉพาะ Subdomain ระดับเดียว (เช่น *.yourdomain.com ครอบคลุม blog.yourdomain.com แต่ไม่ครอบคลุม dev.blog.yourdomain.com) ถ้าต้องการระดับลึกกว่านั้นต้องซื้อ Wildcard เพิ่มหรือใช้ Multi-SAN Certificate

ใช้ Subdomain สำหรับ Staging Environment อย่างมืออาชีพ

Staging Environment คือสภาพแวดล้อมทดสอบที่เหมือนกับ Production ที่สุด ช่วยให้คุณทดสอบ Plugin ใหม่ Theme ใหม่ หรือการอัปเดต Core ก่อนนำขึ้น Production จริง การใช้ Subdomain สำหรับ Staging เป็น Best Practice ที่นิยมมากที่สุดในวงการ Web Development

ขั้นตอนตั้งค่า Staging บน Subdomain

  1. สร้าง Subdomain staging.yourdomain.com ใน DirectAdmin ตามขั้นตอนด้านบน
  2. Export Database จาก Production และ Import เข้า Database ใหม่สำหรับ Staging
  3. Copy ไฟล์ WordPress จาก public_html/ ไปที่ public_html/staging/
  4. แก้ไข wp-config.php ใน Staging ให้ใช้ Database ใหม่
  5. เปิด WordPress Dashboard → Settings → General เปลี่ยน URL เป็น https://staging.yourdomain.com
  6. ติดตั้ง Let's Encrypt สำหรับ staging.yourdomain.com

ความปลอดภัย Staging: ตั้งค่า Staging Site ให้ Block จาก Search Engine (ใช้ WordPress Setting → Reading → Discourage search engines) และอาจเพิ่ม Basic Auth ผ่าน .htaccess เพื่อป้องกันไม่ให้คนทั่วไปเข้าถึง Staging Environment

Subdomain กับ SEO: สิ่งที่ต้องรู้ก่อนตัดสินใจ

ก่อนสร้าง Subdomain ควรทำความเข้าใจว่า Google มองเนื้อหาบน Subdomain แตกต่างจากโดเมนหลักในบางด้าน แม้ว่าโดยทั่วไป Google จะ Crawl และ Index Subdomain เหมือนกับ Domain อื่นๆ แต่มีประเด็นที่ควรรู้:

สรุป: ใช้ Subdomain เมื่อต้องการแยก Application หรือ Environment อย่างชัดเจน เช่น Staging, API, หรือ App ที่ต่างจากเว็บหลักโดยสิ้นเชิง ใช้ Subfolder เมื่อต้องการ Blog หรือเนื้อหาที่ต้องการ SEO Authority รวมกับโดเมนหลัก

เช็คลิสต์ก่อนเปิด Subdomain สู่ Production

ก่อนที่ Subdomain จะพร้อมให้ผู้ใช้เข้าถึง ควรตรวจสอบรายการต่อไปนี้ให้ครบเพื่อหลีกเลี่ยงปัญหาที่พบบ่อยหลัง Launch:

  1. DNS Propagation สมบูรณ์ — ตรวจสอบด้วย dig subdomain.yourdomain.com A ว่าได้ IP ที่ถูกต้อง
  2. SSL Certificate ออกแล้ว — เปิดเบราว์เซอร์ตรวจว่าแถบ Address Bar แสดงกุญแจ HTTPS โดยไม่มี Warning
  3. Document Root ถูกต้อง — ตรวจว่าไฟล์ Index ของ Subdomain อยู่ในโฟลเดอร์ที่ตั้งค่าไว้จริง
  4. Redirect HTTP → HTTPS — ทดสอบ http://subdomain.yourdomain.com ว่า Redirect ไป HTTPS อัตโนมัติ
  5. Robots.txt และ noindex — ถ้าเป็น Staging หรือ Admin ต้องมีการ Block Crawler
  6. Error Pages ทำงาน — ตรวจว่า 404 ของ Subdomain แสดงหน้า Error ที่ถูกต้อง ไม่แสดงข้อมูล Server หรือ Directory Listing
  7. Backup ตั้งค่าแล้ว — ถ้า Subdomain มีฐานข้อมูลของตัวเอง ต้องตั้งค่า Backup Schedule แยกต่างหาก

การเตรียม Subdomain ให้พร้อมตั้งแต่ต้นประหยัดเวลาในการแก้ปัญหาได้มาก เพราะปัญหาส่วนใหญ่เช่น SSL ไม่ทำงาน หรือ DNS ชี้ผิด มักเกิดจากการข้ามขั้นตอนตรวจสอบ

โฮสติ้งรองรับ Subdomain ไม่จำกัด

AsiaGB Hosting รองรับ Subdomain ไม่จำกัดบนทุกแพ็กเกจ พร้อม DirectAdmin และ SSL ฟรี เริ่มต้น 500 บาท/ปี

ดูแพ็กเกจโฮสติ้ง