Subdomain คือส่วนขยายของโดเมนหลักที่ช่วยให้คุณแยกส่วนต่างๆ ของเว็บไซต์ออกจากกันได้อย่างชัดเจน เช่น blog.yourdomain.com, shop.yourdomain.com หรือ api.yourdomain.com โดยแต่ละ Subdomain สามารถชี้ไปยัง Folder ที่แยกกันบนเซิร์ฟเวอร์เดียวกันได้
Subdomain คืออะไร? ใช้ทำอะไรได้บ้าง?
Subdomain เป็นส่วนหนึ่งของโดเมนที่อยู่หน้าโดเมนหลัก ตัวอย่างการใช้งานที่พบบ่อย:
staging.yourdomain.com— สำหรับทดสอบก่อน Deploy จริงblog.yourdomain.com— Blog แยกต่างหากshop.yourdomain.com— ร้านค้าออนไลน์api.yourdomain.com— REST API สำหรับ Mobile Appmail.yourdomain.com— Mail Server (สร้างอัตโนมัติโดย DirectAdmin)cpanel.yourdomain.comหรือadmin.yourdomain.com— หน้า Admin Panel
ขั้นตอนสร้าง Subdomain บน DirectAdmin
- Login เข้า DirectAdmin → เลือก Subdomain Management (ใต้ Domain)
- พิมพ์ชื่อ Subdomain ที่ต้องการในช่อง Subdomain (เช่น
blogหรือstaging) - เลือก Domain หลักที่ต้องการสร้าง Subdomain ไว้ใต้
- คลิก Create
- 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:
| Name | Type | Value | TTL |
|---|---|---|---|
| blog | A | IP Address ของ Server | 14400 |
| staging | A | IP Address ของ Server | 14400 |
| api | A | IP Address ของ API Server | 14400 |
เพิ่ม CNAME Record (ชี้ไปโดเมนอื่น)
ใช้ CNAME เมื่อต้องการให้ Subdomain ชี้ไปยังโดเมนของ Service อื่น เช่น CDN หรือ Third-party Service:
| Name | Type | Value | TTL |
|---|---|---|---|
| cdn | CNAME | abc123.cloudfront.net | 14400 |
| shop | CNAME | stores.shopify.com | 14400 |
ห้ามใส่ CNAME บน Root Domain (@) เพราะจะทำให้ MX Record สำหรับอีเมลพัง ใช้ A Record สำหรับโดเมนหลักเสมอ
ตั้งค่า Document Root ของ Subdomain
โดย default DirectAdmin จะสร้าง Subdomain ที่ path ~/public_html/subdomain/ แต่คุณสามารถเปลี่ยน Document Root ได้:
- ไปที่ Subdomain Management → คลิก Subdomain ที่ต้องการแก้
- เปลี่ยน Document Root ให้ชี้ไปยัง Path ที่ต้องการ เช่น
public_html/wp-staging - คลิก Save
ตัวอย่างการใช้: ถ้าคุณสร้าง WordPress ใน public_html/staging/ และต้องการให้ staging.yourdomain.com ชี้ไปยัง Folder นั้น ให้ตั้ง Document Root เป็น public_html/staging
ติดตั้ง SSL สำหรับ Subdomain
Subdomain แต่ละตัวต้องมี SSL Certificate แยกต่างหาก (หรือใช้ Wildcard SSL ที่ครอบคลุมทุก Subdomain):
- Let's Encrypt ฟรี — DirectAdmin → SSL Certificates → Let's Encrypt → เลือก Subdomain ที่ต้องการ → Issue
- Wildcard SSL *.yourdomain.com — ครอบคลุมทุก Subdomain ด้วย Certificate เดียว (ต้องซื้อแยกต่างหาก)
ใช้งาน Subdomain สำหรับ WordPress
การสร้าง WordPress บน Subdomain ทำได้ 2 วิธี:
วิธีที่ 1: ใช้ Softaculous (แนะนำ)
- DirectAdmin → Softaculous → WordPress
- เลือก Domain/Subdomain ที่ต้องการ Install
- ตั้งค่าตามปกติ แล้วคลิก Install
วิธีที่ 2: ติดตั้งเอง (Manual)
- Upload ไฟล์ WordPress ไปที่ Folder ที่ Subdomain ชี้ไว้
- สร้าง Database ใหม่ใน phpMyAdmin
- ตั้งค่า
wp-config.phpให้ใช้ Database ใหม่ - เปิดเบราว์เซอร์ไปยัง
https://staging.yourdomain.comเพื่อทำ WordPress Install
ตรวจสอบว่า Subdomain ทำงานถูกต้อง
- ใช้ DNS Lookup:
dig staging.yourdomain.com Aหรือใช้เครื่องมือออนไลน์ที่ asiagb.com/dns-lookup.html - เปิดเบราว์เซอร์ไปที่
https://staging.yourdomain.comและตรวจว่าแสดงหน้าที่ถูกต้อง - ถ้า DNS ยังไม่ propagate ให้รอ 5–30 นาทีแล้วลองใหม่
Subdomain สำหรับ API และ Mobile App Backend
หนึ่งในการใช้งาน Subdomain ที่นิยมมากขึ้นเรื่อยๆ คือการแยก API Endpoint ออกมาเป็น Subdomain เฉพาะ เช่น api.yourdomain.com เพื่อให้ Mobile App หรือ Frontend Framework สามารถเรียกใช้งานได้สะดวก และง่ายต่อการกำหนด CORS Policy แยกจากเว็บหลัก
ข้อดีของการใช้ api.yourdomain.com
- CORS ชัดเจน — กำหนด Access-Control-Allow-Origin แยกสำหรับ API ได้โดยไม่กระทบ Policy ของเว็บหลัก
- Scale ได้อิสระ — ถ้าต้องการย้าย API ไปรันบนเซิร์ฟเวอร์อื่นในอนาคต แค่เปลี่ยน A Record ของ Subdomain โดยไม่ต้องแตะโดเมนหลัก
- Rate Limiting แยก — กำหนด Rate Limit สำหรับ API Traffic แยกจาก Web Traffic ผ่าน .htaccess หรือ Nginx config ของ Subdomain
- Log แยกกัน — ง่ายต่อการ Monitor และ Debug เพราะ Log ของ API กับ Web แยกกันชัดเจน
ตั้งค่า 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 Redirect — เพิ่ม Redirect ให้ HTTP เปลี่ยนเป็น HTTPS โดยอัตโนมัติ
- Gzip Compression — ถ้าต้องการ Compress Response ให้เพิ่ม mod_deflate ใน .htaccess ของ Subdomain
- Cache Control — กำหนด Cache Policy สำหรับ Static Files ใน 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
- สร้าง Subdomain
staging.yourdomain.comใน DirectAdmin ตามขั้นตอนด้านบน - Export Database จาก Production และ Import เข้า Database ใหม่สำหรับ Staging
- Copy ไฟล์ WordPress จาก
public_html/ไปที่public_html/staging/ - แก้ไข
wp-config.phpใน Staging ให้ใช้ Database ใหม่ - เปิด WordPress Dashboard → Settings → General เปลี่ยน URL เป็น
https://staging.yourdomain.com - ติดตั้ง 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 แยก Authority — โดยหลักการแล้ว Backlink ที่ชี้มายัง
blog.yourdomain.comจะไม่ช่วย Authority ของyourdomain.comโดยตรง (แม้ Google จะระบุว่า "มักจะ" รวมได้) - Subfolder อาจดีกว่าสำหรับ Blog — ถ้าเป้าหมายคือ SEO ของโดเมนหลัก การใช้
yourdomain.com/blog/แทนblog.yourdomain.comช่วยรวม Link Equity ไว้ที่โดเมนเดียวได้ชัดเจนกว่า - Staging ต้อง noindex — Subdomain สำหรับ Staging ต้องมีแท็ก
noindexหรือตั้ง Robots ให้ Block Crawler เสมอ มิฉะนั้น Google อาจ Index เนื้อหาซ้ำ (Duplicate Content) - SSL บน Subdomain จำเป็น — Subdomain ที่ไม่มี SSL จะแสดง "Not Secure" ในเบราว์เซอร์ ซึ่งเป็นสัญญาณลบต่อทั้ง SEO และ User Trust
สรุป: ใช้ Subdomain เมื่อต้องการแยก Application หรือ Environment อย่างชัดเจน เช่น Staging, API, หรือ App ที่ต่างจากเว็บหลักโดยสิ้นเชิง ใช้ Subfolder เมื่อต้องการ Blog หรือเนื้อหาที่ต้องการ SEO Authority รวมกับโดเมนหลัก
เช็คลิสต์ก่อนเปิด Subdomain สู่ Production
ก่อนที่ Subdomain จะพร้อมให้ผู้ใช้เข้าถึง ควรตรวจสอบรายการต่อไปนี้ให้ครบเพื่อหลีกเลี่ยงปัญหาที่พบบ่อยหลัง Launch:
- DNS Propagation สมบูรณ์ — ตรวจสอบด้วย
dig subdomain.yourdomain.com Aว่าได้ IP ที่ถูกต้อง - SSL Certificate ออกแล้ว — เปิดเบราว์เซอร์ตรวจว่าแถบ Address Bar แสดงกุญแจ HTTPS โดยไม่มี Warning
- Document Root ถูกต้อง — ตรวจว่าไฟล์ Index ของ Subdomain อยู่ในโฟลเดอร์ที่ตั้งค่าไว้จริง
- Redirect HTTP → HTTPS — ทดสอบ
http://subdomain.yourdomain.comว่า Redirect ไป HTTPS อัตโนมัติ - Robots.txt และ noindex — ถ้าเป็น Staging หรือ Admin ต้องมีการ Block Crawler
- Error Pages ทำงาน — ตรวจว่า 404 ของ Subdomain แสดงหน้า Error ที่ถูกต้อง ไม่แสดงข้อมูล Server หรือ Directory Listing
- Backup ตั้งค่าแล้ว — ถ้า Subdomain มีฐานข้อมูลของตัวเอง ต้องตั้งค่า Backup Schedule แยกต่างหาก
การเตรียม Subdomain ให้พร้อมตั้งแต่ต้นประหยัดเวลาในการแก้ปัญหาได้มาก เพราะปัญหาส่วนใหญ่เช่น SSL ไม่ทำงาน หรือ DNS ชี้ผิด มักเกิดจากการข้ามขั้นตอนตรวจสอบ
โฮสติ้งรองรับ Subdomain ไม่จำกัด
AsiaGB Hosting รองรับ Subdomain ไม่จำกัดบนทุกแพ็กเกจ พร้อม DirectAdmin และ SSL ฟรี เริ่มต้น 500 บาท/ปี
ดูแพ็กเกจโฮสติ้ง