Bir sitenin çalışıp çalışmadığını anlamanın en hızlı yolu, onu farklı bir ağdan ve cihazdan açmayı denemek, ardından curl -I ile sunucunun verdiği HTTP durum kodunu okumaktır. Site başka yerlerden açılıyorsa sorun büyük olasılıkla sizin bağlantınızda veya cihazınızdadır; hiçbir yerden açılmıyorsa sorun sitenin kendisinde, sunucusunda ya da alan adında (domain) aranmalıdır.
Bu yazıda "site çalışıyor mu" sorusunu birkaç dakikada, sırayla ve kanıta dayalı biçimde nasıl yanıtlayacağınızı anlatıyoruz. Adımlar küçük bir işletme sitesinden e-ticaret mağazasına kadar her web sitesi için geçerlidir.
Önce ayrım: herkes için mi, yalnız benim için mi?
Site çöktü mü diye düşünmeden önce sorulacak ilk soru şudur: sorun herkeste mi var, yoksa yalnız sizde mi? Bu ayrım, sonraki tüm adımları belirler.
Yalnız sizde olan sorunlar genellikle yerel ağ, modem, tarayıcı önbelleği, şirket güvenlik duvarı veya bilgisayarınızdaki eski DNS kaydından kaynaklanır. Herkeste olan sorunlar ise sunucunun kapanması, hosting hesabının askıya alınması, SSL sertifikasının dolması veya alan adının süresinin bitmesi gibi sitenin kendisine ait nedenlerdir.
Farklı ağdan ve cihazdan deneyin
En basit test, ek araç gerektirmeyen şu adımlardır:
- Siteyi tarayıcınızın gizli (özel) penceresinde açın. Böylece önbellek ve eklentiler devre dışı kalır.
- Telefonunuzda Wi-Fi'yi kapatıp mobil veriyle deneyin. Bu, tamamen farklı bir ağ demektir.
- Mümkünse başka bir şehirdeki bir çalışma arkadaşınızdan veya müşterinizden siteyi açmasını isteyin.
- Aynı sunucudaki başka bir sayfayı (ör.
/iletisim) açmayı deneyin. Yalnız bir sayfa bozuksa sorun o sayfadadır.
Mobil veride açılıp ofis ağında açılmıyorsa sorun büyük olasılıkla sizin ağınızdadır. Hiçbir yerden açılmıyorsa sıradaki adımlara geçin.
curl -I ile sunucunun yanıtını okuyun
curl, Windows 10 ve sonrası, macOS ve Linux'ta hazır gelen bir komut satırı aracıdır. -I seçeneği sayfanın tamamını değil, yalnız sunucunun yanıt başlıklarını getirir. Terminali (Windows'ta Komut İstemi veya PowerShell) açıp şunu yazın:
curl -I https://alanadi.com
Çıktının ilk satırı en önemli bilgidir:
HTTP/2 200
content-type: text/html; charset=UTF-8
server: nginx
Buradaki 200, HTTP durum kodudur: sunucunun isteğinize verdiği üç haneli yanıt. Bazı sunucular -I ile gönderilen HEAD isteğini reddeder; bu durumda curl -sS -o /dev/null -w "%{http_code}\n" https://alanadi.com komutu yalnız durum kodunu yazdırır (Windows'ta /dev/null yerine NUL yazın). Yönlendirmeleri takip etmek için komuta -L ekleyebilirsiniz.
HTTP durum kodları ne anlatır?
| Kod | Anlamı | Ne yapmalı |
|---|---|---|
| 200 | Her şey yolunda, sayfa döndü | Sorun yerelse ağınızı ve tarayıcınızı kontrol edin |
| 301 / 302 | Kalıcı / geçici yönlendirme | curl -IL ile gittiği adresi izleyin; döngü varsa ayarları düzeltin |
| 403 | Erişim yasak | Dosya izinleri, güvenlik duvarı veya IP engeli olabilir |
| 404 | Sayfa bulunamadı | Adres yanlış ya da sayfa silinmiş; site genelde ayaktadır |
| 500 | Sunucu içi hata | Yazılım, eklenti veya yapılandırma hatası; hata günlüklerine bakın |
| 502 | Hatalı ağ geçidi | Önde duran sunucu arkadaki uygulamaya ulaşamıyor (ör. PHP servisi durmuş) |
| 503 | Hizmet kullanılamıyor | Bakım modu, aşırı yük veya kaynak sınırı |
| 504 | Ağ geçidi zaman aşımı | Arka uygulama çok yavaş yanıt veriyor ya da hiç vermiyor |
curl hiç kod döndürmeden "Could not resolve host" diyorsa sorun DNS'tedir. "Connection refused" veya "timed out" görüyorsanız sunucuya hiç ulaşılamıyordur. Sertifika hatası alıyorsanız SSL tarafına bakın; ayrıntılar SSL sertifikası bitiş tarihi kontrolü yazımızda.
DNS çözümlemesini kontrol edin
DNS, alan adını sunucunun IP adresine çeviren sistemdir; telefon rehberi gibi düşünebilirsiniz. Rehberde kayıt yoksa ya da yanlışsa, sunucu çalışsa bile site açılmaz. Kontrol için:
nslookup alanadi.com
Yanıtta bir IP adresi görüyorsanız çözümleme çalışıyordur. Bunu farklı DNS sunucularıyla karşılaştırmak da faydalıdır:
nslookup alanadi.com 8.8.8.8
nslookup alanadi.com 1.1.1.1
Genel DNS sunucuları doğru IP'yi verip sizin bilgisayarınız eski IP'yi gösteriyorsa, yerel önbelleği temizleyin. Windows'ta ipconfig /flushdns, macOS'ta sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder komutu bu işi görür.
Hiçbir DNS sunucusu yanıt vermiyorsa ("NXDOMAIN" veya "can't find") alan adının nameserver kayıtlarına ve süresine bakın. Nameserver'ın ne olduğunu ve nasıl sorgulandığını nameserver nedir, nasıl sorgulanır yazısında anlattık. Alan adının süresi dolmuşsa DNS de genellikle çalışmayı bırakır; bunu domain bitiş tarihi sorgulama rehberiyle hızlıca doğrulayabilirsiniz.
Hızlı kontrol listesi
Site açık mı kontrolünü şu sırayla yaparsanız çoğu sorunu on dakikada teşhis edersiniz:
- Gizli pencerede ve mobil veride deneyin.
curl -I https://alanadi.comile durum kodunu okuyun.- Kod 5xx ise hosting paneline ve hata günlüklerine bakın.
- "Could not resolve host" alıyorsanız
nslookupile DNS'i kontrol edin. - DNS boşsa alan adı süresini ve nameserver'ları kontrol edin.
- Sertifika hatası varsa SSL bitiş tarihine bakın.
- Sorun sizde değilse hosting firmanıza durum kodu ve saatle birlikte bildirin.
Sürekli kontrolü otomatikleştirmek
Yukarıdaki adımlar, siteyi siz açmaya çalıştığınızda işe yarar. Asıl risk, gece yarısı ya da hafta sonu kimse bakmazken sitenin kapanması ve bunu ilk olarak müşterinizden duymanızdır. Bu yüzden "web sitesi çalışıyor mu" sorusunu elle değil, düzenli aralıklarla otomatik soran bir izleme kurmak gerekir.
Bulut Domain bu yoklamayı sizin yerinize yapar: sitenizin ana sayfasını düzenli aralıklarla dener; siteniz HTTPS ile açılıyorsa HTTPS'in bozulmasını da kapanma sayar. Tek bir anlık aksaklık yüzünden alarm çalmasın diye kapanma ikinci bir yoklamayla teyit edildiğinde "Siteniz açılmıyor" uyarısı gönderir; site düzelince de "Siteniz yeniden açıldı" bildirimi gelir. Uyarılar e-posta ve site içi bildirim kutusuyla ulaşır; iOS ve Android uygulaması yakında. Sunucunuza erişim ya da kurulum gerekmez.
Aynı listede alan adının bitiş tarihi, SSL sertifikasının süresi ve DNS kayıtları da izlenir; böylece site çalışıyor mu sorusuyla birlikte "neden çalışmıyor" sorusunun sık yanıtlarını da önceden görürsünüz. Kesinti takibinin mantığını uptime nedir ve site kesinti takibi yazısında daha ayrıntılı ele aldık.
Sık sorulan sorular
Site bende açılmıyor ama başkalarında açılıyor, neden?
Büyük olasılıkla sorun yereldir: tarayıcı önbelleği, eski DNS kaydı, modem, şirket güvenlik duvarı veya IP adresinizin sunucuda engellenmesi olabilir. Önbelleği temizleyip farklı bir ağdan deneyin; yine açılmıyorsa hosting firmanıza IP adresinizle başvurun.
curl -I 200 döndürüyor ama sayfa boş görünüyor, site çalışıyor mu?
Sunucu yanıt veriyor, yani site teknik olarak ayakta. Boş sayfa çoğunlukla bir yazılım hatasını, eksik dosyayı veya tarayıcı tarafında çalışan bir betiğin hata vermesini gösterir. Tarayıcının geliştirici araçlarındaki "Console" sekmesine ve sunucu hata günlüklerine bakın.
404 hatası sitenin çöktüğü anlamına gelir mi?
Hayır. 404, sunucunun çalıştığını ama istenen sayfayı bulamadığını söyler. Ana sayfa açılıyorsa site çöktü demek yanlış olur; yalnız o bağlantıyı düzeltmeniz veya bir yönlendirme eklemeniz gerekir.
Site kontrolünü ne sıklıkla yapmalıyım?
Elle kontrol yalnız şüphe olduğunda anlamlıdır. Sürekli güvence için sitenizi dışarıdan düzenli aralıklarla yoklayan ve yalnız teyit edilmiş kesintilerde uyaran otomatik bir izleme kullanmak daha güvenilirdir.
Kapanış
Site çalışıyor mu sorusunu elle yanıtlamayı bilmek her site sahibi için değerlidir, ama kesintiyi müşterinizden önce öğrenmek için otomatik izleme şarttır. Sitenizi, SSL sertifikanızı ve alan adınızı tek listede izlemek için ücretsiz hesap oluşturun.
Bunu her ay elle kontrol etmeyin
Bulut Domain domain ve SSL bitiş tarihlerini kendiliğinden okur, sitenizin açık olup olmadığını düzenli yoklar; süre dolmadan önce kademeli olarak ve site kapandığında haber verir. Kurulum ya da sunucu erişimi gerekmez.
Ücretsiz hesap oluştur Nasıl çalışır