Cara Menambahkan Subdomain ke Domain Anda
Sebuah subdomain adalah awalan yang ditambahkan ke domain utama yang menciptakan namespace yang berbeda dan dapat dialamatkan secara independen di bawah nama domain yang sama. Misalnya, dengan domain utama example.com, hostname blog.example.com adalah subdomain yang sepenuhnya memenuhi syarat di mana blog adalah label tingkat ketiga. Subdomain diselesaikan melalui DNS record — biasanya record A yang menunjuk ke alamat IPv4, record AAAA untuk IPv6, atau record CNAME yang mengaliaskan hostname lain — dan tidak memerlukan biaya registrasi domain tambahan.
Dari sudut pandang praktis, subdomain memungkinkan Anda menjalankan aplikasi web terpisah, lingkungan staging, situs regional, atau layanan mikro di bawah satu domain terdaftar, dengan document root, sertifikat SSL, dan konfigurasi server yang independen. Panduan ini mencakup proses teknis lengkap: pembuatan DNS record, konfigurasi hosting, penyediaan SSL, verifikasi propagasi, dan mode kegagalan umum yang sering diabaikan oleh sebagian besar tutorial.
Apa Itu Subdomain dan Bagaimana Perbedaannya dengan Subdirektori
Sebelum menyentuh DNS, ada baiknya memahami perbedaan arsitektur antara subdomain dan subdirektori, karena pilihan tersebut memengaruhi SEO, konfigurasi server, dan cakupan SSL.
| Fitur | Subdomain (`blog.example.com`) | Subdirektori (`example.com/blog`) |
|---|---|---|
| DNS record diperlukan | Ya (A, AAAA, atau CNAME) | Tidak |
| Document root terpisah | Ya | Opsional |
| Sertifikat SSL independen | Ya (atau wildcard) | Dibagikan dengan domain utama |
| Diperlakukan sebagai situs terpisah oleh Google | Sering, tergantung konten | Tidak |
| Server / VPS terpisah dimungkinkan | Ya | Memerlukan reverse proxy |
| Cakupan sesi / cookie | Terpisah secara default | Dibagikan |
| Kompleksitas pengaturan | Sedang | Rendah |
| Ideal untuk | Aplikasi, staging, situs regional | Bagian blog, halaman produk |
John Mueller dari Google telah mengonfirmasi bahwa Google umumnya memperlakukan subdomain sebagai bagian dari situs yang sama ketika kontennya jelas berkaitan, tetapi perilaku anggaran crawl, pengindeksan, dan ekuitas tautan dapat berbeda. Untuk konten yang terintegrasi erat seperti blog perusahaan, subdirektori sering menjadi pilihan yang lebih mudah. Untuk aplikasi terpisah — portal pelanggan, gateway API, atau lingkungan staging — subdomain adalah keputusan arsitektur yang tepat.
Kasus Penggunaan Umum untuk Subdomain
- Lingkungan staging dan QA:
staging.example.comataudev.example.com— terisolasi dari produksi, sering dilindungi oleh HTTP Basic Auth atau IP allowlisting. - Endpoint API:
api.example.com— memungkinkan deployment independen, pembatasan laju, dan terminasi TLS. - Portal pelanggan atau dasbor SaaS:
app.example.com— konteks autentikasi dan cookie sesi yang terpisah. - Situs regional atau spesifik bahasa:
de.example.com,us.example.com— mendukung penargetanhreflangdan perutean server spesifik geo. - Dokumentasi dan dukungan:
docs.example.com,support.example.com— sering disajikan dari platform seperti GitBook, Zendesk, atau wiki yang dihosting sendiri. - CDN atau pengiriman media:
cdn.example.com,static.example.com— CNAME yang diarahkan ke jaringan edge CDN. - Infrastruktur email:
mail.example.com— digunakan sebagai hostname untuk layanan SMTP/IMAP, berbeda dari MX record.
Langkah 1: Akses Antarmuka Manajemen DNS Anda
DNS record untuk sebuah domain dikelola di mana pun nameserver otoritatif domain tersebut dihosting. Ini tidak selalu sama dengan tempat hosting web Anda. Nameserver otoritatif didefinisikan oleh NS record di registrar domain Anda.
Tentukan di mana DNS Anda dikelola:
dig NS example.com +shortJika output menampilkan nameserver milik registrar Anda (misalnya, ns1.registrar.com), kelola DNS di registrar. Jika menampilkan nameserver milik penyedia hosting atau layanan seperti Cloudflare, kelola DNS di sana.
Setelah Anda mengidentifikasi panel kontrol yang benar:
- Masuk ke antarmuka manajemen DNS.
- Temukan bagian DNS Zone Editor, DNS Management, atau Zone File.
- Pilih domain yang ingin Anda buat subdomainnya.
Jika domain Anda terdaftar melalui Registrasi Domain AlexHost, editor zona DNS dapat diakses langsung dari dasbor area klien Anda.
Langkah 2: Buat DNS Record untuk Subdomain
Anda akan membuat salah satu dari tiga jenis record tergantung pada infrastruktur Anda.
A Record — Mengarahkan ke Alamat IPv4
Gunakan record A ketika subdomain mengarah ke alamat IP server tertentu. Ini adalah skenario paling umum untuk subdomain yang dihosting di VPS atau Server Dedicated.
| Kolom | Nilai |
|---|---|
| Tipe | A |
| Nama / Host | blog (bukan blog.example.com) |
| Nilai / Mengarah ke | 203.0.113.42 (IP publik server Anda) |
| TTL | 3600 (atau 300 selama pengaturan awal untuk iterasi lebih cepat) |
Detail penting: Masukkan hanya label subdomain di kolom Nama — blog, bukan blog.example.com. Sebagian besar antarmuka DNS menambahkan domain utama secara otomatis. Memasukkan FQDN lengkap akan membuat record untuk blog.example.com.example.com.
AAAA Record — Mengarahkan ke Alamat IPv6
Struktur identik dengan record A, tetapi nilainya adalah alamat IPv6 lengkap:
| Kolom | Nilai |
|---|---|
| Tipe | AAAA |
| Nama / Host | blog |
| Nilai | 2001:db8::1 |
| TTL | 3600 |
CNAME Record — Mengaliaskan Hostname Lain
Gunakan record CNAME ketika subdomain harus mengarah ke hostname lain daripada IP langsung. Skenario umum termasuk mengarahkan ke CDN, platform pihak ketiga (Shopify, HubSpot, Netlify), atau hostname internal lainnya.
| Kolom | Nilai |
|---|---|
| Tipe | CNAME |
| Nama / Host | shop |
| Nilai / Target | shops.myplatform.com. (perhatikan titik di akhir — ini menandakan FQDN) |
| TTL | 3600 |
Batasan arsitektur: Record CNAME tidak dapat berdampingan dengan jenis record lain pada label yang sama. Anda tidak dapat membuat CNAME untuk example.com itu sendiri (zone apex) — hanya untuk subdomain. Pada apex, gunakan record A atau, jika penyedia DNS Anda mendukungnya, record ALIAS atau ANAME proprietary.
Record Subdomain Wildcard
Record A wildcard mengarahkan subdomain yang tidak terdefinisi ke satu IP:
| Kolom | Nilai |
|---|---|
| Tipe | A |
| Nama / Host | * |
| Nilai | 203.0.113.42 |
| TTL | 3600 |
Ini berguna untuk aplikasi SaaS multi-tenant di mana setiap pelanggan mendapatkan subdomain (misalnya, customer1.example.com). Perlu diketahui bahwa record wildcard tidak secara otomatis menyediakan SSL untuk setiap subdomain — Anda memerlukan sertifikat SSL wildcard atau klien ACME yang mendukung tantangan DNS-01.
Langkah 3: Konfigurasi Web Server atau Panel Hosting
Membuat DNS record membuat subdomain dapat diselesaikan, tetapi tidak secara otomatis menyajikan konten. Anda harus mengonfigurasi web server atau panel hosting untuk menerima dan merutekan permintaan untuk hostname baru.
Mengonfigurasi Subdomain di cPanel
Jika hosting Anda menggunakan cPanel — tersedia pada paket VPS dengan cPanel — prosesnya adalah:
- Masuk ke cPanel.
- Navigasi ke Domains > Subdomains.
- Di kolom Subdomain, masukkan label (misalnya,
blog). - Pilih domain utama dari dropdown.
- Atur Document Root — cPanel secara default ke
public_html/blog, tetapi Anda dapat menentukan jalur apa pun. - Klik Create.
cPanel secara otomatis membuat DNS record A di zona BIND WHM jika DNS domain dikelola secara lokal. Jika DNS dikelola secara eksternal (misalnya, Cloudflare), Anda harus menambahkan record tersebut secara manual seperti yang dijelaskan di Langkah 2.
Mengonfigurasi Subdomain di Nginx
Untuk VPS yang menjalankan Nginx, buat server block baru:
server {
listen 80;
listen [::]:80;
server_name blog.example.com;
root /var/www/blog;
index index.html index.php;
access_log /var/log/nginx/blog.access.log;
error_log /var/log/nginx/blog.error.log;
location / {
try_files $uri $uri/ =404;
}
}Simpan file ke /etc/nginx/sites-available/blog.example.com, lalu aktifkan:
sudo ln -s /etc/nginx/sites-available/blog.example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginxMengonfigurasi Subdomain di Apache
Buat file virtual host baru di /etc/apache2/sites-available/blog.example.com.conf:
<VirtualHost *:80>
ServerName blog.example.com
DocumentRoot /var/www/blog
<Directory /var/www/blog>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/blog.error.log
CustomLog ${APACHE_LOG_DIR}/blog.access.log combined
</VirtualHost>Aktifkan dan muat ulang:
sudo a2ensite blog.example.com.conf
sudo apache2ctl configtest
sudo systemctl reload apache2Langkah 4: Sediakan Sertifikat SSL untuk Subdomain
Setiap subdomain yang melayani lalu lintas web harus diamankan dengan TLS. Subdomain adalah hostname yang berbeda dan tidak dicakup oleh sertifikat domain tunggal domain utama kecuali Anda menggunakan sertifikat wildcard.
Opsi 1 — Let’s Encrypt dengan Certbot (Subdomain Tunggal)
sudo certbot --nginx -d blog.example.comAtau untuk Apache:
sudo certbot --apache -d blog.example.comCertbot memodifikasi konfigurasi virtual host secara otomatis dan menyiapkan cron job untuk pembaruan.
Opsi 2 — Sertifikat Wildcard Let’s Encrypt (Tantangan DNS-01)
Sertifikat wildcard mencakup *.example.com, mengamankan semua subdomain saat ini dan mendatang dengan satu sertifikat. Ini memerlukan verifikasi tantangan DNS-01:
sudo certbot certonly
--manual
--preferred-challenges dns
-d "*.example.com"
-d "example.com"Certbot akan meminta Anda membuat record TXT (_acme-challenge.example.com) di zona DNS Anda. Setelah menambahkan record dan memverifikasi propagasi, Certbot menerbitkan sertifikat. Sertifikat wildcard harus diperbarui setiap 90 hari; otomatiskan pembaruan dengan plugin DNS untuk penyedia Anda (misalnya, certbot-dns-cloudflare).
Opsi 3 — Sertifikat SSL Komersial
Untuk organisasi yang memerlukan validasi diperluas (EV) atau periode validitas yang lebih lama, sertifikat komersial dari CA tepercaya adalah pilihan yang tepat. AlexHost menawarkan Sertifikat SSL termasuk opsi domain-validated, organization-validated, dan wildcard. Setelah pembelian, instal sertifikat dengan menempatkan file .crt dan .key di server dan mereferensikannya dalam konfigurasi virtual host.
Langkah 5: Verifikasi Propagasi DNS
Perubahan DNS tidak langsung berlaku secara global saat Anda menyimpannya. Setiap resolver menyimpan record dalam cache selama durasi nilai TTL. Dengan TTL 3600, resolver mungkin menyajikan record lama hingga satu jam setelah Anda membuat perubahan.
Periksa propagasi dari beberapa titik pandang global:
# Check from a specific DNS resolver
dig A blog.example.com @8.8.8.8 +short
dig A blog.example.com @1.1.1.1 +short
# Check authoritative answer directly
dig A blog.example.com +traceUntuk pemeriksaan multi-region secara visual, gunakan whatsmydns.net atau dnschecker.org. Propagasi global penuh biasanya selesai dalam 15 menit hingga 2 jam untuk TTL 3600 atau lebih rendah. “Hingga 48 jam” yang sering disebutkan terutama berlaku untuk nilai TTL 86400 (24 jam) yang ditetapkan pada record sebelumnya — default umum di banyak registrar.
Tips pro: Sebelum membuat perubahan DNS, turunkan TTL record yang ada ke 300 (5 menit) setidaknya satu siklus TTL sebelumnya. Ini secara dramatis mengurangi waktu tunggu propagasi selama perubahan aktual.
Langkah 6: Uji Fungsionalitas End-to-End
Setelah propagasi, lakukan pengujian fungsional lengkap:
# Confirm DNS resolution
dig A blog.example.com +short
# Confirm HTTP response
curl -I http://blog.example.com
# Confirm HTTPS and certificate validity
curl -I https://blog.example.com
# Inspect the TLS certificate
openssl s_client -connect blog.example.com:443 -servername blog.example.com </dev/null 2>/dev/null
| openssl x509 -noout -subject -datesVerifikasi bahwa:
- Respons
curl -Imengembalikan200 OKatau kode redirect yang diharapkan. - Subjek sertifikat TLS cocok dengan
blog.example.comatau*.example.com. - Tanggal kedaluwarsa sertifikat sudah benar.
- Tidak ada peringatan mixed-content yang muncul di konsol developer browser.
Kesalahan Umum dan Cara Menghindarinya
CNAME di zone apex: Mencoba membuat record CNAME untuk example.com itu sendiri akan merusak pengiriman email dan DNS record lainnya. Gunakan record A atau record ALIAS/ANAME di apex.
Subdomain tidak disajikan oleh web server: DNS diselesaikan dengan benar, tetapi browser mengembalikan 404 atau koneksi ditolak. Penyebab: web server tidak memiliki virtual host yang cocok dengan hostname subdomain. Solusi: tambahkan server block atau virtual host seperti yang dijelaskan di Langkah 3.
Ketidakcocokan sertifikat SSL: Browser menampilkan kesalahan sertifikat. Penyebab: sertifikat yang ada hanya mencakup example.com, bukan blog.example.com. Solusi: terbitkan sertifikat baru khusus untuk subdomain atau ganti dengan sertifikat wildcard.
cPanel membuat DNS record lokal tetapi DNS dikelola secara eksternal: Saat menggunakan Cloudflare atau penyedia DNS eksternal lain dengan hosting cPanel, wizard subdomain cPanel membuat record di zona BIND lokal WHM, yang tidak pernah dikonsultasikan. Anda harus menambahkan record A secara manual di Cloudflare (atau penyedia DNS eksternal Anda). Ini adalah salah satu sumber kebingungan paling umum bagi pengguna shared hosting.
DNS wildcard tanpa SSL wildcard: DNS record *.example.com mengarahkan semua subdomain ke server Anda, tetapi setiap subdomain baru akan memicu peringatan sertifikat kecuali Anda memiliki sertifikat SSL wildcard yang terpasang. Jangan mengandalkan DNS wildcard saja untuk subdomain produksi.
Kebocoran cakupan cookie: Jika aplikasi Anda menetapkan cookie pada .example.com (perhatikan titik di depan), cookie tersebut dikirim ke semua subdomain. Ini dapat mengekspos token sesi dari subdomain keamanan tinggi ke subdomain yang kurang aman. Tetapkan cakupan cookie secara eksplisit ke hostname yang dimaksud.
Manajemen Subdomain di Berbagai Lingkungan Hosting
| Tipe Hosting | Manajemen DNS | Konfigurasi Web Server | Penyediaan SSL |
|---|---|---|---|
| Shared Hosting | Registrar atau DNS Zone cPanel | Wizard Subdomains cPanel | AutoSSL / Let’s Encrypt di cPanel |
| VPS (tidak terkelola) | Registrar atau DNS eksternal | vhost Nginx / Apache manual | Certbot CLI |
| VPS dengan cPanel | WHM / DNS cPanel atau eksternal | Wizard Subdomains cPanel | AutoSSL |
| Server Dedicated | Registrar atau BIND/PowerDNS | Manual atau panel kontrol | Certbot atau CA komersial |
| Cloud (AWS, GCP) | Route 53 / Cloud DNS | Load balancer / aturan ingress | ACM / Let’s Encrypt |
Untuk aplikasi lalu lintas tinggi yang memerlukan akses root penuh dan konfigurasi server kustom, Server Dedicated memberi Anda kendali penuh atas DNS, perangkat lunak web server, dan manajemen sertifikat tanpa batasan lingkungan shared.
Daftar Periksa Keputusan Teknis
Sebelum membuat subdomain, pertimbangkan hal-hal berikut:
- Di mana nameserver otoritatif berada? Jalankan
dig NS example.com +shortuntuk mengonfirmasi sebelum masuk ke panel mana pun. - A record atau CNAME? Gunakan
A/AAAAuntuk IP server. GunakanCNAMEuntuk hostname platform pihak ketiga. Jangan pernah gunakanCNAMEdi zone apex. - Apakah web server dikonfigurasi untuk menerima hostname baru? DNS record saja tidak menyajikan konten.
- Apakah subdomain memerlukan sertifikat SSL sendiri? Ya, kecuali sertifikat wildcard sudah terpasang.
- Apakah TTL sudah diturunkan sebelum perubahan? Turunkan ke
300setidaknya satu siklus TTL sebelum membuat perubahan untuk meminimalkan penundaan propagasi. - Apakah cPanel mengelola DNS secara lokal sementara penyedia eksternal bersifat otoritatif? Jika ya, tambahkan record di penyedia eksternal, bukan cPanel.
- Apakah subdomain perlu diblokir dari pengindeksan mesin pencari? Jika ini adalah lingkungan staging atau internal, tambahkan
X-Robots-Tag: noindexdi tingkat server atau gunakan HTTP Basic Auth. - Apakah cakupan cookie sudah didefinisikan dengan benar? Tetapkan atribut
Domainsecara eksplisit pada cookie untuk mencegah berbagi lintas subdomain yang tidak diinginkan.
FAQ
Bisakah saya membuat subdomain tanpa akses ke DNS domain utama?
Tidak. Subdomain memerlukan DNS record (A, AAAA, atau CNAME) di zona domain utama. Tanpa akses tulis ke zona DNS otoritatif, Anda tidak dapat membuat subdomain yang dapat diselesaikan secara publik.
Apakah subdomain memengaruhi SEO domain utama?
Tergantung pada hubungan konten dan tautan internal. Google dapat mengaitkan subdomain dengan domain utama, tetapi ekuitas tautan tidak mengalir sebebas antara URL subdirektori. Untuk konten yang terintegrasi erat dengan situs utama, subdirektori umumnya lebih disukai dari sudut pandang SEO. Untuk aplikasi terpisah atau lingkungan staging, subdomain adalah pilihan yang tepat dan harus di-noindex jika tidak dimaksudkan untuk pencarian publik.
Berapa banyak subdomain yang dapat saya buat di bawah satu domain?
Spesifikasi DNS tidak memberlakukan batasan praktis pada jumlah subdomain. Registrar dan panel hosting mungkin memberlakukan batas lunak, tetapi ini bersifat administratif, bukan teknis. Satu domain dapat memiliki ratusan subdomain.
Apa perbedaan antara DNS record wildcard dan sertifikat SSL wildcard?
DNS record wildcard (*.example.com) merutekan semua subdomain yang tidak terdefinisi ke satu alamat IP di lapisan DNS. Sertifikat SSL wildcard (*.example.com) mengamankan semua subdomain tingkat pertama di lapisan TLS. Keduanya independen: Anda dapat memiliki salah satunya tanpa yang lain, tetapi keduanya diperlukan untuk menyajikan semua subdomain melalui HTTPS tanpa penyediaan sertifikat individual.
Mengapa subdomain saya diselesaikan dengan benar di dig tetapi mengembalikan kesalahan browser?
Resolusi DNS dan penyajian HTTP adalah lapisan yang terpisah. Jika dig mengembalikan IP yang benar tetapi browser menampilkan kesalahan, web server pada IP tersebut tidak dikonfigurasi untuk menangani permintaan untuk hostname tersebut (server_name di Nginx atau ServerName di Apache). Tambahkan blok virtual host yang sesuai dan muat ulang web server.
