Alan adınızı yeni aldınız, hosting paketini bağladınız, nameserver'ları girdiniz — ve tarayıcıda ERR_NAME_NOT_RESOLVED yazısı duruyor. Bu ekranın karşısında insanların yaptığı iki şey vardır ve ikisi de yanlıştır: ya "48 saat beklemek gerekiyormuş" deyip iki gün kaybederler ve o sırada gerçek bir yapılandırma hatası ellerinde bekler, ya da paniğe kapılıp doğru girilmiş ayarları kurcalayarak zaten çalışmakta olan yayılmayı en baştan başlatırlar. Alan adı çözümlenemedi hatasında asıl mesele hatayı görmek değil, beklemekle müdahale etmek arasındaki kararı doğru vermektir.
Türkçe kaynakların bu hatayı NXDOMAIN ile aynı kefeye koyup ikisini hiç ayırmaması da işi zorlaştırıyor. Bu yazıda ERR_NAME_NOT_RESOLVED hatasının ne anlama geldiğini, hangi durumlarda gerçekten propagasyon beklemenin yeterli olduğunu ve hangi durumlarda beklemenin hiçbir işe yaramayacağını göstereceğiz. Merkezde tek bir test var: aynı soruyu yetkili nameserver'a ve birkaç farklı genel çözümleyiciye ayrı ayrı sormak. İki cevabı yan yana koyduğunuzda karar kendiliğinden ortaya çıkıyor; bu karşılaştırmayı yapan bir Türkçe rehber olmadığı için de bu yazı var.
ERR_NAME_NOT_RESOLVED Ne Anlama Gelir#
Tek cümleyle: tarayıcı alan adını bir IP adresine çeviremedi, bu yüzden bağlanacağı bir hedef bulamadı.
Dikkat edilecek nokta şu — bu hata bağlantı hatası değildir. Sunucuya hiç paket gitmemiştir. Bir web sitesine ulaşmak iki aşamalıdır: önce isim IP'ye çevrilir (DNS), sonra o IP'ye TCP bağlantısı kurulur. ERR_NAME_NOT_RESOLVED birinci aşamada kalındığını söyler. Dolayısıyla sunucunun açık olup olmaması, güvenlik duvarı, SSL sertifikası, site yazılımı — hiçbiri bu hatanın sebebi olamaz.
Kardeş hatalarla arasındaki fark önemlidir:
| Hata | Hangi aşamada | Ne söyler |
|---|---|---|
ERR_NAME_NOT_RESOLVED | İsim çözümleme | İsim IP'ye çevrilemedi (sebep belirsiz) |
DNS_PROBE_FINISHED_NXDOMAIN | İsim çözümleme | Yetkili kaynak "böyle isim yok" dedi |
DNS_PROBE_FINISHED_NO_INTERNET | İsim çözümleme | Çözümleyiciye hiç ulaşılamadı |
ERR_CONNECTION_TIMED_OUT | TCP bağlantısı | IP bulundu, sunucu cevap vermedi |
ERR_CONNECTION_REFUSED | TCP bağlantısı | IP bulundu, port kapalı |
Aradaki en kritik ayrım ilk iki satırdadır. NXDOMAIN kesin bir olumsuz cevaptır; zincir sonuna kadar gitmiş ve yetkili sunucu ismin var olmadığını söylemiştir. ERR_NAME_NOT_RESOLVED ise daha geniştir: cevap alınamamış olabilir, zaman aşımı olmuş olabilir, çözümleyici henüz yeni bilgiyi öğrenmemiş olabilir. Kesin olumsuz cevap aldığınız durumu ayrıca ele aldığımız DNS_PROBE_FINISHED_NXDOMAIN hatası yazısında bulabilirsiniz; buradaki odak, belirsiz olan halidir.
Karar Testi: Yetkili Sunucu ile Çözümleyicileri Karşılaştırın#
Beklemek mi müdahale mi sorusunun cevabı üç komutta çıkar. Sırayla çalıştırın ve üç çıktıyı yan yana tutun.
# 1) Alan adinin yetkili nameserver'lari kim
dig ornekalanadi.com NS +short
# 2) Dogrudan yetkili sunucuya sorun (onbellek devre disi)
dig @ns1.hostingsaglayici.com ornekalanadi.com A
# 3) Genel cozumleyicilere sorun
dig @8.8.8.8 ornekalanadi.com A +short
dig @1.1.1.1 ornekalanadi.com A +short
dig @9.9.9.9 ornekalanadi.com A +short
Windows'ta aynı işi nslookup görür:
nslookup -type=NS ornekalanadi.com
nslookup ornekalanadi.com ns1.hostingsaglayici.com
nslookup ornekalanadi.com 8.8.8.8
Şimdi karar tablosu. Bu tablo, bu yazının bütün amacıdır:
| Yetkili sunucu ne diyor | Genel çözümleyiciler ne diyor | Teşhis | Karar |
|---|---|---|---|
Doğru IP (aa bayraklı) | Doğru IP | DNS sağlam, sorun yerelde | Yerel önbelleği temizle |
Doğru IP (aa bayraklı) | Eski IP | Klasik propagasyon | Bekle (TTL kadar) |
Doğru IP (aa bayraklı) | Bir kısmı doğru, bir kısmı eski | Yayılma sürüyor | Bekle |
Doğru IP (aa bayraklı) | Hepsi NXDOMAIN | TLD delegasyonu henüz güncellenmedi | Bekle (birkaç saat) |
aa bayrağı YOK | Herhangi | Nameserver yanlış girilmiş | Müdahale et |
NOERROR ama ANSWER: 0 | Herhangi | A kaydı hiç oluşturulmamış | Müdahale et |
| Sunucuya hiç ulaşılamıyor | Herhangi | Nameserver çalışmıyor / yanlış isim | Müdahale et |
dig NS boş dönüyor | Herhangi | Delegasyon hiç yapılmamış | Müdahale et |
Kural basit: yetkili sunucu doğru cevabı veriyorsa beklersiniz, vermiyorsa müdahale edersiniz. Genel çözümleyicilerin eski veya eksik cevap vermesi tek başına asla bir hata göstergesi değildir; sadece henüz öğrenmediklerini gösterir.
aa bayrağını nerede göreceğinizi merak ediyorsanız, dig çıktısının başlık satırındadır:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44012
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2
;; ANSWER SECTION:
ornekalanadi.com. 3600 IN A 203.0.113.25
flags satırındaki aa, cevabın yetkili kaynaktan geldiğini söyler. Bu bayrak yoksa sorduğunuz sunucu o bölgenin sahibi değildir — yani nameserver'ı yanlış girmişsinizdir. dig çıktısının bütün bölümlerini okumak için dig komutu kullanımı yazısına bakabilirsiniz.
Propagasyon Gerçekte Nasıl İşler#
"48 saat" rakamı bir kural değil, en kötü senaryo için verilmiş eski bir tavsiyedir. Gerçekte süreyi belirleyen iki şey vardır: TTL ve negatif TTL.
Bir kayıt değiştirdiğinizde, o kaydı daha önce sormuş olan her çözümleyici eski değeri TTL süresi boyunca saklamaya devam eder. TTL 3600 ise en fazla bir saat, 86400 ise en fazla bir gün eski cevap dönebilir. Kaydı hiç sormamış bir çözümleyici ise yeni değeri anında öğrenir. Bu yüzden "bazı yerlerde açılıyor, bazılarında açılmıyor" tablosu tamamen normaldir.
# Kaydin TTL'ini gorun (kalan sure olarak doner)
dig ornekalanadi.com A
;; ANSWER SECTION:
ornekalanadi.com. 1847 IN A 198.51.100.10
# ^^^^ bu cozumleyicide 1847 saniye daha eski cevap donecek
Aynı sorguyu art arda çalıştırdığınızda bu sayının azaldığını görürsünüz; sıfırlandığında çözümleyici yeniden yetkili sunucuya sorar. Bu mekanizmanın tamamı ve TTL değerlerini nasıl planlayacağınız için TTL nedir yazısına bakabilirsiniz.
Kritik bir ayrıntı daha var: "isim yok" cevapları da önbelleğe alınır. Alan adını aldıktan hemen sonra, DNS kayıtları hazır olmadan sitenizi açmayı denediyseniz, çözümleyiciler bu olumsuz cevabı SOA kaydındaki negatif TTL süresi kadar saklar.
dig ornekalanadi.com SOA +short
# ns1.hostingsaglayici.com. admin.ornekalanadi.com. 2026081102 7200 3600 1209600 300
# ^^^ negatif TTL
Bu yüzden en sık verilen tavsiye şudur: yeni alan adını, kayıtlar tamamlanmadan tarayıcıda denemeyin. Denerseniz kendi çözümleyicinize gereksiz bir "yok" cevabı yazdırmış olursunuz ve doğru kaydı ekledikten sonra bile bir süre eski cevabı alırsınız.
Bekleyin: Gerçekten Propagasyon Olan Durumlar#
Aşağıdaki senaryolarda yapılacak tek doğru şey beklemektir; ayarlara dokunmak süreci uzatır.
Nameserver'ları yeni değiştirdiniz. Kayıt kuruluşundaki değişiklik TLD sunucularına yansıyana kadar bir gecikme vardır ve bu gecikme sizin kontrolünüzde değildir. Bu sırada bazı çözümleyiciler eski nameserver'a sorup eski cevabı, bazıları yeniye sorup yeni cevabı alır. Doğrulama:
# TLD sunucusunun bildirdigi NS'ler (delegasyon)
dig ornekalanadi.com NS @a.gtld-servers.net +norecurse
# Bolgenin kendi icindeki NS kayitlari
dig @ns1.hostingsaglayici.com ornekalanadi.com NS +short
İkisi farklıysa delegasyon henüz güncellenmemiştir. İşlem adımlarını doğru yaptığınızdan emin olmak için nameserver değiştirme yazısındaki kontrol listesine bakın.
Sunucu IP'sini yeni değiştirdiniz. Eski A kaydının TTL'i dolana kadar bazı ziyaretçiler eski sunucuya gitmeye devam eder. Bu, taşıma işlerinde bilinçli olarak yönetilir: geçişten önce TTL'i 300 saniyeye düşürüp, taşıma bittikten sonra tekrar yükseltmek standart yöntemdir.
Alan adını birkaç dakika önce aldınız. Kayıt kuruluşunun bölgeyi TLD sunucularına yayınlaması zaman alır. Bu süre uzantıya göre değişir ve genellikle dakikalarla ölçülür, günlerle değil.
Bu üç durumda da doğrulama yöntemi aynıdır: yetkili sunucu doğru cevabı veriyorsa iş bitmiştir, geri kalanı zaman meselesidir. Farklı bölgelerdeki durumu görmek için birkaç genel çözümleyiciye sırayla dig atıp dönen TTL değerlerinin azalışını izlemek, tek bir kontrol sayfasına bakmaktan daha güvenilirdir.
Müdahale Edin: Beklemenin Hiçbir Şeyi Çözmeyeceği Durumlar#
Şimdi asıl önemli tarafa gelelim. Aşağıdaki tabloların hiçbirinde bekleme bir işe yaramaz; 48 saat sonra da aynı ekranı görürsünüz.
1. Yetkili sunucu aa bayrağı vermiyor. Sorduğunuz nameserver bölgeyi tanımıyor demektir. İki ihtimal var: nameserver adını yanlış yazdınız (ns1.hostingsaglayıcı.com gibi bir yazım hatası), ya da hosting hesabınızda alan adı hiç tanımlı değil. Panelde alan adının ekli olduğunu doğrulayın.
2. NOERROR geliyor ama ANSWER: 0. İsim var, kayıt yok. En sık görülen hal budur ve çözümü tek kayıt eklemektir:
; Bolgeye eklenecek asgari kayitlar
ornekalanadi.com. 3600 IN A 203.0.113.25
www.ornekalanadi.com. 3600 IN CNAME ornekalanadi.com.
cPanel kullanıyorsanız yol: Zone Editor → Manage → + Add Record → Type: A. Apex için CNAME kullanılamaz; oraya doğrudan IPv4 adresini yazmanız gerekir.
3. dig NS hiç cevap vermiyor. Alan adı hiçbir nameserver'a delege edilmemiştir. Kayıt kuruluşu panelinden nameserver'ları girmeniz gerekir; bu adım atlanmışsa günlerce beklemek sonucu değiştirmez.
4. Nameserver'lardan biri cevap veriyor diğeri vermiyor. Bu "lame delegation" denen durumdur ve en sinsi olanıdır, çünkü site bazen açılır bazen açılmaz. Çözümleyici hangi sunucuyu seçtiyse ona göre sonuç değişir. Doğrulama:
for ns in ns1.hostingsaglayici.com ns2.hostingsaglayici.com; do
echo "--- $ns"
dig @"$ns" ornekalanadi.com SOA +short
done
Sunuculardan biri boş dönüyorsa ya da SOA seri numaraları farklıysa, ikincil sunucu bölgeyi alamıyordur. Bu, sağlayıcı tarafında çözülmesi gereken bir senkronizasyon sorunudur.
5. Alan adının süresi dolmuş veya clientHold durumunda. Bu durumda hata genelde NXDOMAIN'e döner ama bazı çözümleyicilerde ERR_NAME_NOT_RESOLVED olarak görünür.
whois ornekalanadi.com | grep -Ei 'expiry|status'
Yeni Alan Adı Aldıysanız: İlk Saat Kontrol Listesi#
Yeni alınmış bir alan adında bu hatayı görüyorsanız sırayla şunları doğrulayın:
- Kayıt kuruluşu panelinde nameserver'lar girildi mi? Girilmediyse bekleme gereksizdir, hemen girin.
- Hosting hesabında alan adı ekli mi? cPanel'de ana alan adı otomatik gelir; ek alan adları için Addon Domains ekranından ayrıca eklenmesi gerekir. Eklenmemiş bir alan adı için sunucu bölge oluşturmaz ve yetkili sunucu sorguya cevap veremez.
- Bölgede A kaydı var mı?
dig @yetkili-ns alanadi.com Aile doğrulayın. wwwiçin kayıt var mı? Apex ve www ayrı kayıtlardır; biri varken diğeri olmayabilir.- ICANN doğrulama e-postası onaylandı mı? Genel uzantılarda kayıt sonrası gönderilen doğrulama e-postası onaylanmazsa alan adı askıya alınır. Spam klasörünü kontrol edin.
- Alan adını erken denediyseniz yerel önbelleği temizleyin:
sudo systemd-resolve --flush-caches # Linux (systemd)
ipconfig /flushdns # Windows
sudo dscacheutil -flushcache # macOS
Chrome ayrıca kendi DNS önbelleğini tutar; chrome://net-internals/#dns adresinden temizlenir. Toplamda dört ayrı önbellek katmanı vardır — tarayıcı, işletim sistemi, yerel ağ geçidi ve ISP çözümleyicisi — ve ilk ikisi dışındakileri temizleyemezsiniz.
Bu altı maddenin ilk dördü "yok"la cevaplanıyorsa, beklemenin hiçbir anlamı yoktur.
Site Taşırken Kesintisiz Geçiş Nasıl Yapılır#
ERR_NAME_NOT_RESOLVED en çok taşıma sırasında can sıkar, çünkü ziyaretçilerin bir kısmı eski sunucuya bir kısmı yenisine gider. Kesintiyi minimuma indiren sıra şudur:
- Taşımadan en az 24 saat önce ilgili kayıtların TTL değerini 300 saniyeye düşürün. Bu, eski TTL'in dolmasını beklemek için gereken süredir.
- Yeni sunucuda siteyi tam olarak kurun ve hosts dosyası üzerinden test edin — böylece DNS'e hiç dokunmadan yeni sunucuyu görebilirsiniz:
# Linux/macOS: /etc/hosts Windows: C:\Windows\System32\drivers\etc\hosts
203.0.113.25 ornekalanadi.com www.ornekalanadi.com
- Test tamamlanınca A kaydını yeni IP'ye çevirin.
- Yetkili sunucudan doğrulayın:
dig @ns1.saglayici.com ornekalanadi.com A +short. - Eski sunucuyu en az 48 saat açık tutun; TTL'i düşürmüş olsanız bile bazı çözümleyiciler geç güncellenir.
- Yayılma tamamlandıktan sonra TTL'i tekrar 3600'e çıkarın.
Dosya ve veritabanı aktarımı dahil taşımanın DNS dışındaki adımlarını, DNS'e dokunmadan önce tamamlayın; sıralamayı ters çevirmek kaçınılmaz olarak kesinti üretir.
Hata Sadece Sizde Çıkıyorsa#
Yetkili sunucu ve genel çözümleyiciler doğru IP'yi döndürüyor ama sizin cihazınızda hâlâ hata varsa, sorun tamamen yereldir. Sırayla:
- Farklı bir ağa geçin. Mobil veride açılıyorsa ISP çözümleyicisi ya da modem suçludur.
- Cihazın DNS sunucusunu genel bir çözümleyiciye alın. Bazı ISP çözümleyicileri yeni kayıtları geç öğrenir.
- VPN, antivirüs ve DNS filtreleme yazılımlarını kapatın. Bu yazılımların çoğu araya girip kendi çözümlemesini yapar.
- Hosts dosyasını kontrol edin. Daha önce test için eklediğiniz bir satır kalmış olabilir; en sık gözden kaçan sebeplerden biridir.
- Ağ yığınını sıfırlayın:
netsh winsock reset
netsh int ip reset
ipconfig /flushdns
Bu adımlar sunucu ya da alan adı kaynaklı bir sorunu çözmez; yalnızca istemci tarafını temize çıkarmak içindir. Çözümleyicinin tamamen ulaşılamaz olduğu durumları DNS sunucusu yanıt vermiyor hatası yazısında ayrıca ele alıyoruz.
Sıkça Sorulan Sorular#
ERR_NAME_NOT_RESOLVED hatası kaç saatte düzelir#
Sebebe göre değişir, ama doğru yapılandırılmış bir alan adında genellikle birkaç dakika ile birkaç saat arasındadır. Yalnızca bir A kaydını değiştirdiyseniz süreyi kaydın TTL değeri belirler; 3600 saniyelik bir TTL en fazla bir saatlik gecikme demektir. Nameserver değiştirdiyseniz TLD sunucularının güncellenmesi gerektiği için süre birkaç saate çıkabilir. Buna karşılık kayıt hiç oluşturulmamışsa ya da nameserver yanlış girilmişse süre sonsuzdur; beklemek hiçbir şeyi düzeltmez, önce yapılandırmayı düzeltmeniz gerekir.
48 saat beklemem gerektiği söyleniyor bu doğru mu#
Hayır, 48 saat bir kural değil eski bir üst sınır tahminidir. Modern DNS altyapısında yayılma süresini belirleyen tek şey kayıtların TTL değeridir ve tipik TTL değerleri 300 ile 3600 saniye arasındadır. 48 saat ifadesi, çok yüksek TTL kullanılan ve güncellemelerin yavaş yayıldığı eski dönemden kalmadır. Doğru yaklaşım süreye değil kontrol sonucuna bakmaktır: yetkili nameserver doğru cevabı veriyorsa beklemek işe yarar, vermiyorsa beklemek zaman kaybıdır.
Site bazı cihazlarda açılıyor bazılarında açılmıyor sebebi ne#
Bu tablo neredeyse her zaman önbellek farkından kaynaklanır ve normaldir. Kaydı daha önce sormuş olan bir çözümleyici eski cevabı TTL süresi boyunca saklarken, hiç sormamış olan bir başkası yeni cevabı anında öğrenir. Bu yüzden aynı evdeki iki cihaz bile farklı sonuç verebilir, özellikle biri farklı bir DNS sunucusu kullanıyorsa. Yetkili nameserver'a doğrudan sorup doğru cevabı aldığınızı doğrulayın; aldıysanız yapacak bir şey yoktur, en uzun TTL süresi kadar bekleyip önbellekleri temizlemek yeterlidir.
Yetkili nameserver'a doğrudan nasıl sorarım#
Önce alan adının nameserver'larını öğrenip sonra sorguyu doğrudan o sunucuya yöneltirsiniz. dig alanadi.com NS +short komutu nameserver isimlerini verir; ardından dig @ns1.saglayici.com alanadi.com A komutuyla o sunucuya sorarsınız. Bu yöntemin değeri, aradaki bütün önbellek katmanlarını atlayıp gerçeği göstermesidir. Çıktının başlık satırında aa bayrağını görüyorsanız cevap yetkili kaynaktan gelmiştir ve o cevap DNS tarafındaki gerçek durumdur.
Nameserver'ları doğru girdim ama site hâlâ açılmıyor ne yapmalıyım#
Nameserver'ın doğru girilmesi tek başına yeterli değildir; o nameserver'ın sizin alan adınız için bir bölge barındırıyor olması da gerekir. Hosting panelinizde alan adının ekli olduğunu doğrulayın, ardından dig @nameserver alanadi.com A komutuyla o sunucunun aa bayraklı cevap verdiğini kontrol edin. Bayrak yoksa sunucu bölgeyi tanımıyordur ve alan adı hesabınıza eklenmemiş demektir. Bayrak varken cevap boş geliyorsa bölge oluşturulmuş ama A kaydı eklenmemiştir; tek yapmanız gereken kaydı eklemektir.
Hosts dosyasına satır eklemek sorunu çözer mi#
Hosts dosyası yalnızca sizin cihazınızı etkiler, bu yüzden bir çözüm değil bir test aracıdır. Alan adını belirli bir IP'ye elle eşleyerek sunucunun gerçekten çalışıp çalışmadığını DNS'e hiç dokunmadan doğrulayabilirsiniz; taşıma öncesi yeni sunucuyu test etmenin en temiz yolu budur. Ancak ziyaretçileriniz için hiçbir şey değişmez, çünkü onların cihazında böyle bir satır yoktur. Testi bitirdikten sonra eklediğiniz satırı mutlaka silin; unutulmuş bir hosts kaydı, aylar sonra "sadece bende açılmıyor" şeklinde geri döner.
Bu hata SEO açısından zarar verir mi#
Kısa süreli olduğunda kayda değer bir zarar vermez, uzun sürdüğünde verir. Arama motoru tarayıcıları da alan adını çözümleyemediklerinde sayfayı alamadan geri döner; birkaç saatlik bir yayılma penceresi normal kabul edilir ve tarama daha sonra tekrarlanır. Ancak günlerce süren çözümleme sorunları tarama sıklığını düşürür ve sayfaların dizinden kademeli olarak çıkmasına yol açabilir. Bu yüzden özellikle nameserver değişikliği ve sunucu taşıma işlemlerini önceden TTL düşürerek planlamak, teknik bir incelik değil doğrudan görünürlük tedbiridir.
Kapanış#
ERR_NAME_NOT_RESOLVED hatasının çözümü, tek bir soruya doğru cevap vermekten geçer: yetkili nameserver doğru cevabı veriyor mu? Veriyorsa yapılandırma tamamdır ve geri kalan tamamen zaman ve önbellek meselesidir — TTL süresi kadar beklemek, gerekirse yerel önbelleği temizlemek yeterlidir. Vermiyorsa beklemenin hiçbir faydası yoktur; ya nameserver yanlış girilmiştir, ya alan adı hosting hesabına eklenmemiştir, ya da bölgede A kaydı hiç oluşturulmamıştır. Bu ayrımı üç dig komutuyla beş dakikada yapabilirsiniz ve yaptığınız anda "bekleyelim mi bakalım" belirsizliği ortadan kalkar.
Bu adımların çoğu, alan adı ile barındırmayı aynı çatı altında topladığınızda kendiliğinden halledilir: bölge otomatik oluşturulur, A ve www kayıtları hazır gelir, nameserver girme adımı ortadan kalkar. Alan adı kaydı ve web hosting paketlerini birlikte kullandığınızda bu yazıdaki hataların büyük kısmı hiç oluşmaz. Mevcut sitenizi başka bir yerden taşıyacaksanız TTL planlaması ve kesintisiz geçiş kısmını üstlenen site taşıma hizmeti bu sıralamayı sizin yerinize yürütür.