Anda membuat situs web dengan bantuan AI, dan situs itu berjalan sempurna, di komputer Anda sendiri. Bilah alamat menampilkan localhost:3000, atau mungkin deretan angka seperti 203.0.113.10. Anda mengirim tautannya ke teman, dan tautan itu tidak bisa dibuka.
Itu bukan bug. Itu adalah jarak antara menjalankan situs web dan mempublikasikannya, dan bagian yang hilang hampir selalu berupa nama domain. Panduan ini menjelaskan perbedaan antara alamat-alamat yang mungkin Anda pakai sekarang, mengapa sebagian besar tidak bisa menjadi alamat situs Anda yang sebenarnya, dan cara beralih ke domain yang sebenarnya pada jenis hosting apa pun.
Dalam panduan ini
Empat jenis alamat
Sebuah situs web bisa dijangkau dengan empat cara berbeda. Tampilannya mirip, tetapi cara kerjanya sangat berbeda.
| Jenis alamat | Contoh | Siapa yang bisa membukanya |
|---|---|---|
| localhost | http://localhost:3000 | Hanya komputer tempat situs berjalan |
| IP jaringan lokal | http://192.168.1.20 | Perangkat di Wi-Fi atau router yang sama |
| IP server | http://203.0.113.10 | Siapa pun yang daring, tetapi lihat di bawah |
| Nama domain | https://mysite.com | Siapa pun, di mana pun |
Angka-angka dalam panduan ini adalah contoh. 203.0.113.x adalah rentang yang disediakan untuk contoh, jadi tidak pernah menunjuk ke server yang nyata.
Mengapa localhost hanya berfungsi untuk Anda
localhost (juga ditulis 127.0.0.1) berarti “mesin ini sendiri.” Saat Anda mengetiknya, komputer Anda berbicara dengan dirinya sendiri. Saat teman Anda mengetik alamat yang sama, komputer dia yang berbicara dengan dirinya sendiri, tidak menemukan apa-apa, dan menampilkan galat. Kata itu bermakna lain di setiap perangkat.
Alamat yang diawali 192.168., 10., atau 172.16. hingga 172.31. adalah hal yang sama dalam skala lebih besar. Itu adalah alamat privat yang dipakai di dalam rumah dan kantor. Orang yang terhubung ke Wi-Fi Anda bisa membukanya, tetapi tidak seorang pun di internet yang bisa.
Menjalankan situs secara lokal adalah cara yang tepat untuk membangunnya. Masalah muncul ketika itu satu-satunya tempat situs Anda berada. Situs Anda juga hanya daring selama komputer Anda menyala dan aplikasinya berjalan.
Mengapa IP server bukan alamat yang sebenarnya
Setelah situs Anda berjalan di server sungguhan, baik itu shared hosting, VPS, maupun mesin cloud, Anda bisa membukanya lewat alamat IP server. Sebagian orang berhenti di situ. Hal ini menimbulkan beberapa masalah:
- Server mungkin tidak tahu situs mana yang harus ditampilkan. Satu IP sering melayani banyak situs web, dan server memutuskan situs mana yang ditampilkan berdasarkan nama domain dalam permintaan. Jika Anda membuka IP saja, Anda bisa mendapat halaman bawaan, galat, atau situs milik orang lain.
- Tidak ada HTTPS yang layak. HTTPS biasanya disiapkan untuk nama domain, dan alamat IP saja umumnya tidak bisa mendapatkan sertifikat gratis standar. Tanpa HTTPS, peramban menampilkan “Tidak aman,” dan semua yang diketik pengunjung, seperti kata sandi dan data formulir, dikirim dalam bentuk yang bisa dibaca.
- Rusak saat Anda pindah. IP itu milik server. Jika Anda berganti hosting atau paket, nomornya berubah dan setiap tautan yang pernah Anda bagikan berhenti berfungsi. Dengan domain, Anda cukup mengarahkannya ke server baru.
- Orang dan filter tidak memercayainya. Banyak filter spam dan alat keamanan menganggap tautan yang hanya terdiri dari angka sebagai mencurigakan, dan pengunjung tidak bisa mengingat atau mengenalinya.
- Tidak ada email profesional. Alamat seperti
hello@mysite.commemerlukan domain. - Salinan ganda untuk mesin pencari. Jika situs Anda menjawab di IP sekaligus di domain, mesin pencari bisa melihat dua salinan dari setiap halaman.
Apa sebenarnya domain itu
Komputer saling menemukan menggunakan nomor IP. Nama domain adalah label yang ramah untuk nomor itu, dan sistem bernama DNS bekerja seperti buku telepon internet: Anda memberinya nama, ia mengembalikan nomornya.
Ada tiga pihak yang terlibat:
- Registrar: perusahaan tempat Anda mendaftarkan domain. Anda tidak membeli domain selamanya. Anda menyewanya, biasanya satu tahun setiap kali, dan memperpanjangnya.
- DNS: menyimpan catatan (record) yang menyatakan ke server mana domain Anda mengarah.
- Hosting Anda: tempat file situs web Anda berada.
Pasang situs Anda di domain Anda
Langkah-langkahnya sama gagasannya di setiap hosting. Hanya tombol dan nama menunya yang berbeda.
1. Ketahui di mana situs Anda berada
Ke mana domain Anda diarahkan bergantung pada jenis hosting Anda:
| Tempat situs Anda berada | Yang diberikan hosting Anda | Record yang biasa dipakai |
|---|---|---|
| Shared hosting | Alamat IP server | Record A ke IP tersebut |
| VPS atau server cloud | Alamat IP server | Record A ke IP tersebut |
| Platform situs (seperti Vercel, Netlify, atau Render) | Hostname tujuan, dan terkadang IP | CNAME atau A, sesuai petunjuk platform |
Selalu ikuti petunjuk hosting Anda untuk nilai yang tepat. Nilainya ditampilkan di dasbor atau dokumentasinya, dan sering ada di email sambutan.
2. Arahkan domain ke hosting Anda
Anda bisa melakukannya dengan satu dari dua cara. Pilih salah satu, jangan keduanya.
- Opsi A: ganti nameserver. Di registrar Anda, ganti nameserver domain dengan yang diberikan hosting Anda. Sejak itu Anda mengelola semua record di dasbor hosting Anda.
- Opsi B: biarkan DNS di tempatnya (di registrar atau layanan seperti Cloudflare) dan tambahkan record di sana: record A yang mengarahkan domain ke IP server Anda, dan record CNAME agar
wwwmengikutinya.
Jebakan umum: record hanya berlaku di tempat DNS domain Anda benar-benar dihosting. Jika Anda mengganti nameserver ke milik hosting Anda (Opsi A), record yang Anda tambahkan di registrar akan diabaikan, dan sebaliknya.
3. Beri tahu hosting Anda tentang domain itu
Mengarahkan domain ke server saja tidak cukup. Server juga harus tahu situs mana yang menjadi milik nama itu. Setiap hosting punya tempat untuk ini: halaman Domain pada shared hosting (milik cPanel adalah salah satu contoh), baris server_name di pengaturan server web pada server Anda sendiri, atau tab Domain di pengaturan proyek sebuah platform. Jika Anda melewatkan langkah ini, domain Anda sampai ke server tetapi menampilkan halaman bawaan.
4. Tunggu DNS menyebar
Ini disebut propagasi. Bisa memakan waktu mulai dari beberapa menit hingga satu atau dua hari, meski sering kali cepat. Sebelum selesai, domain bisa gagal atau menampilkan halaman lama bagi sebagian orang.
5. Aktifkan HTTPS
Sebagian besar platform dan banyak hosting memasang sertifikat gratis secara otomatis setelah domain Anda mengarah ke mereka. Di server Anda sendiri, Anda bisa memakai layanan sertifikat gratis seperti Let's Encrypt dengan alat Certbot. Dalam kedua kasus, domain harus sudah mengarah ke server terlebih dahulu. Setelah selesai, atur situs agar mengalihkan semua kunjungan http ke https.
6. Pilih satu versi alamat Anda
mysite.com dan www.mysite.com dihitung sebagai dua alamat berbeda. Pilih satu sebagai alamat utama dan alihkan yang lain ke sana. Platform biasanya punya pengaturan untuk ini. Di server Apache, aturan berikut melakukannya (letakkan di file .htaccess situs). Aturan pertama mengirim www ke domain tanpa www, dan yang kedua mengirim siapa pun yang tiba lewat IP server polos ke domain Anda:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.mysite\.com$ [NC]
RewriteRule ^(.*)$ https://mysite.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^203\.0\.113\.10$
RewriteRule ^(.*)$ https://mysite.com/$1 [L,R=301]
Ganti domain dan IP contoh dengan milik Anda sendiri. Di Nginx atau server lain gagasannya sama, tetapi sintaksnya berbeda, jadi periksa dokumentasinya.
Perbaiki alamat yang tersembunyi di kode Anda
Kode buatan AI sering kali menuliskan localhost secara langsung. Di situs yang sudah tayang, hal ini merusak banyak hal dengan cara yang membingungkan. Peramban pengunjung membaca localhost sebagai komputernya sendiri, sehingga halaman Anda mencoba memuat data dari mesin yang tidak ada hubungannya dengan situs Anda.
Buruk:
fetch("http://localhost:3000/api/products")
Baik (berfungsi di mana saja):
fetch("/api/products")
Cari di seluruh proyek Anda kata localhost, 127.0.0.1, 192.168, dan IP apa pun yang pernah Anda pakai. Lalu periksa tempat-tempat berikut:
- Pengaturan URL situs: nilai seperti
APP_URLatauBASE_URLharus memakai domain asli Anda, denganhttps. - Layanan login dan pembayaran: login Google, gateway pembayaran, dan layanan serupa memerlukan domain asli Anda di dasbor mereka sebagai alamat pengalihan (callback) yang diizinkan. Webhook pembayaran sama sekali tidak bisa menjangkau
localhost, karena server gateway membutuhkan alamat HTTPS publik. - Origin yang diizinkan (CORS): jika kode Anda mendaftar alamat yang diizinkan, ganti
localhostdengan domain Anda. - Sitemap dan tag canonical: keduanya harus menampilkan domain, bukan IP atau alamat lokal.
Satu pengecualian: alamat database bergantung pada konfigurasi Anda. Di banyak hosting, database berjalan di server yang sama dengan situs Anda, sehingga localhost sudah benar di sana. Pada database cloud atau terkelola, penyedia Anda memberikan alamat tersendiri yang harus dipakai. Jangan pernah membiarkan database terbuka untuk seluruh internet.
Masalah umum
- “Situs ini tidak dapat dijangkau” tepat setelah pengaturan: DNS mungkin belum menyebar, atau ada record yang salah. Tunggu, lalu periksa record-nya.
- Domain menampilkan halaman bawaan hosting Anda: domain sampai ke server Anda, tetapi server tidak tahu situs itu miliknya. Tambahkan domain di pengaturan hosting Anda.
- Menampilkan situs lama atau situs orang lain: record lama atau cache peramban Anda. Coba jendela privat, atau jaringan lain.
- “Tidak aman” atau galat sertifikat: sertifikat belum diterbitkan, atau domain belum mengarah ke hosting Anda.
- Berfungsi dengan
wwwtetapi tidak tanpa itu (atau sebaliknya): ada satu record yang hilang. Tambahkan CNAME untukwww. - Memakai alat tunnel untuk demo: alat seperti ngrok atau Cloudflare Tunnel cocok untuk uji cepat, tetapi bukan hosting.
- Membuka router rumah ke internet (port forwarding): hindari. Ini mengekspos jaringan rumah Anda, dan IP rumahan sering berubah.
Lindungi domain Anda
Domain adalah alamat paling berharga yang Anda miliki, jadi lindungilah:
- Aktifkan perpanjangan otomatis. Domain yang kedaluwarsa bisa didaftarkan oleh orang lain.
- Gunakan kata sandi yang kuat dan unik serta autentikasi dua faktor pada akun registrar Anda.
- Aktifkan kunci registrar, yang mencegah domain dipindahkan tanpa persetujuan Anda.
- Jaga email kontak Anda tetap terbaru, karena pemberitahuan perpanjangan dan keamanan dikirim ke sana.
Pemeriksaan mandiri 2 menit
- Buka
http://IP-SERVER-ANDA. Seharusnya tidak menampilkan situs Anda (atau mengalihkan Anda ke domain). - Buka
http://mysite.com. Seharusnya berakhir dihttps://mysite.comdengan ikon gembok. - Buka versi
www. Seharusnya berakhir di alamat akhir yang sama. - Cari di proyek Anda
localhostdan angka IP apa pun. - Di terminal, jalankan
nslookup mysite.com. Jawabannya seharusnya menampilkan IP hosting Anda (atau, pada platform, menunjuk ke server mereka).
Daftar periksa singkat
- Pakai
localhosthanya untuk membangun, jangan pernah sebagai alamat Anda - Daftarkan domain dan aktifkan perpanjangan otomatis serta autentikasi dua faktor
- Arahkan ke hosting Anda dengan nameserver (Opsi A) atau record A dan CNAME (Opsi B), bukan keduanya
- Tambahkan domain di pengaturan hosting Anda agar server tahu situs mana yang menjadi miliknya
- Tunggu DNS menyebar, lalu aktifkan HTTPS
- Pilih satu versi (dengan atau tanpa
www) dan alihkan yang lain - Ganti setiap
localhostdan IP di kode Anda, dan perbarui dasbor login dan pembayaran - Cegah situs menjawab di IP server polos
Domain adalah yang mengubah “berfungsi di komputer saya” menjadi “siapa pun bisa mengunjunginya.” Siapkan sekali dengan benar, dan setiap tautan yang Anda bagikan akan tetap berfungsi, bahkan jika Anda berganti hosting di kemudian hari.
