Gejala yang biasanya muncul di tiket
- Error
DNS_PROBE_FINISHED_NXDOMAINatau 'server IP address could not be found'. Artinya resolver tidak menemukan domain tersebut. - Situs terbuka, tapi yang tampil halaman parkir milik registrar, bukan website pelanggan.
- Situs dan email mati bersamaan. Ini petunjuk kuat, karena web dan mail biasanya berjalan di layanan yang berbeda, dan yang bisa mematikan keduanya sekaligus adalah DNS atau domainnya sendiri.
Singkirkan dulu server sebagai tersangka
Baca status domain lewat whois dan DNS
BASH
# Status, tanggal expiry, dan nameserver dari data registrasi
# (format output berbeda per registry, sesuaikan pola grep bila perlu)
whois example.com | grep -iE 'expir|status|name server'
# Nameserver yang benar-benar dipublikasikan
dig +short NS example.com
# Status jawaban DNS: perhatikan NOERROR atau NXDOMAIN di bagian header
dig example.com Adig mengembalikan NXDOMAIN sementara whois masih menunjukkan domain terdaftar, perhatikan baris status. Domain dengan status hold memang tetap terdaftar, tapi delegasinya tidak dipublikasikan di zona TLD, sehingga resolver menganggapnya tidak ada.
Whois punya kelemahan: formatnya tidak seragam, dan beberapa registry membatasi query. RDAP (Registration Data Access Protocol) adalah penggantinya yang mengembalikan JSON terstruktur, jadi lebih enak diproses script. Untuk satu domain, misalnya:
BASH
# rdap.org me-redirect ke server RDAP registry yang sesuai, jadi -L wajib
curl -sL 'https://rdap.org/domain/example.com' | jq -r '.status[], (.events[] | select(.eventAction == "expiration") | .eventDate)'Arti status yang sering muncul
clientHold. Di RDAP, status yang sama ditulis dengan huruf kecil dan spasi, misalnya client hold. Tidak semua status berarti masalah. clientTransferProhibited, misalnya, hanya kunci transfer dan normal ada di domain sehat. Yang relevan untuk kasus website mati:
| Status (EPP) | Artinya | Efek ke situs |
|---|---|---|
autoRenewPeriod | Registry sudah memperpanjang otomatis, registrar menunggu pembayaran | Biasanya masih resolve, tapi registrar bisa memarkir domain |
clientHold | Registrar menahan domain, misalnya karena belum dibayar atau verifikasi registrant belum selesai | Delegasi dicabut, resolver menjawab NXDOMAIN |
serverHold | Registry yang menahan domain | Sama, tidak resolve, dan registrar sendiri mungkin tidak bisa langsung melepasnya |
redemptionPeriod | Domain sudah dihapus registrar dan masuk masa tebus | Tidak resolve, pemulihan biasanya ada biaya tambahan |
pendingDelete | Menunggu dihapus permanen dari registry | Tidak bisa dipulihkan, domain akan tersedia untuk didaftarkan siapa saja |
redemptionPeriod perlu segera dieskalasi ke pemilik akun registrar, bukan ditunggu.
Satu status lagi yang sering terlewat adalah hold karena verifikasi email registrant. Domain baru atau domain yang data kontaknya baru diubah bisa ditahan kalau email verifikasi tidak diklik. Tanggal expiry-nya masih jauh, jadi kalau kita hanya melihat tanggal, kasus ini lolos dari pengecekan. Karena itu baris status selalu dibaca, bukan hanya tanggalnya.
Kenapa sebagian orang masih bisa membuka situsnya
Jadikan cek expiry kebiasaan, bukan reaksi
BASH
#!/usr/bin/env bash
# domains.txt: satu domain per baris
# ponytail: belum ada fallback whois untuk TLD tanpa RDAP; tambahkan kalau banyak baris 'no-rdap'
while read -r d; do
data=(curl -sL "https://rdap.org/domain/d")
exp=(echo "data" | jq -r '.events[]? | select(.eventAction == "expiration") | .eventDate' 2>/dev/null)
st=(echo "data" | jq -r '[.status[]?] | join(",")' 2>/dev/null)
echo "d{exp:-no-rdap} ${st}"
sleep 2 # jeda supaya tidak kena rate limit
done < domains.txthold atau redemption ditandai untuk ditindaklanjuti. Script ini sengaja hanya membaca data dan tidak mengubah apa pun. Batasnya juga jelas: domain yang tidak didukung RDAP akan muncul sebagai no-rdap dan perlu dicek manual.
Perlu diingat juga bahwa kita biasanya bukan pemegang akun registrar pelanggan. Tugas support di sini adalah memberi tahu lebih awal dan menjelaskan statusnya dengan bahasa yang jelas, bukan memperpanjang domain atas nama mereka. Pesan seperti 'domain kamu expired pada tanggal sekian dan saat ini berstatus clientHold di registrar, silakan perpanjang lewat akun registrar' jauh lebih berguna daripada 'ada masalah DNS'.
Untuk tiket situs mati berikutnya, urutannya bisa dibuat tetap. Pastikan server merespons saat DNS dilewati. Kalau server sehat, jalankan dig dan whois atau RDAP, lalu baca tanggal expiry dan baris statusnya. Ingat bahwa cache resolver bisa membuat situs tampak hidup bagi sebagian orang. Prosesnya kurang dari satu menit, dan kalau dijalankan rutin lewat cron, sebagian tiket jenis ini bisa dicegah sebelum pelanggan sempat menulisnya.