Statik siteler için bir sayaç
Statik barındırma, küçük bir siteyi internete koymanın sessiz sedasız en mantıklı yolu hâline geldi. GitHub Pages, Codeberg Pages, Neocities ya da herhangi bir ucuz barındırma hizmetinde bir dosya klasörü: veritabanı yok, sunucu tarafı dil yok, güncellenecek bir şey yok, ele geçirilecek bir şey yok.
Tek bir eksiği var. Okunacak bir sunucu günlüğü yok ve sayımı yapacak herhangi bir şeyi çalıştırmanın yolu yok. Site yayına girer ve kimsenin gelip gelmediğini hiçbir şey söylemez.
Ziyaretçi sayacı tam da bu durum için icat edildi; aslında modası geçmemiş olmasının nedeni de bu.
Ne gerekiyor
İstatistik sayfasındaki yerleştirme kodu, HTML'de sayacın durması gereken yere eklenir. Bütün işlem bu kadar. Bu çalışır, çünkü sayaç bir görsel ve küçük bir betikten ibarettir – her statik barındırma hizmetinin ne olduklarını bilmeden ve umursamadan sunduğu iki şey.
Sayım bizim sunucumuzda yapılır. Barındırma hizmeti bir dosya klasörü olarak kalır.
Betiği depoya kopyalamayın
Bu yazının tamamına değen tek tavsiye bu, çünkü statik site alışkanlıkları tam tersi yöne güçlü biçimde iter. Bağımlılıkları depoya dâhil etmek normalde iyi bir uygulamadır – tekrarlanabilirdir, kaynağın ortadan kalkmasından etkilenmez ve bir istekten tasarruf sağlar.
Burada bunu yapmayın.
Kopyalanan bir betik, kopyalandığı anda donar. O gün ne yapıyorsa sonsuza dek, her ziyarette onu yapmayı sürdürür ve kaynak tarafında yapılan hiçbir şey ona ulaşamaz. Bu bir varsayım değil: bu yıl ekran çözünürlüğü sayaçtan kaldırıldığında eski betiğin kopyaları onu göndermeyi sürdürdü ve bu verinin toplanmasını bitirmenin tek yolu, sunucunun bu değeri hiç kimseden kabul etmemesini sağlamaktı.
Aynısı güvenlik düzeltmeleri, gönderilen verilerdeki değişiklikler ve bir sitenin ziyaretçilerine ulaşması gereken diğer her şey için de geçerlidir. Betiğe bağlantı verin. Tek bir istektir, önbelleğe alınır ve güncel kalır.
Neyi sunuyor, neyi sunmuyor
Sayaç; ziyaretçi sayılarını, günleri, ülkeleri, tarayıcıları, yönlendiren alan adlarını, en çok ziyaret edilen sayfaları ve şu anda sitede kimin olduğunu gösteren canlı bir görünümü sunar. Kişisel bir site, bir proje sayfası ya da küçük bir mağaza vitrini için sorular genellikle bunlardan ibarettir.
Sunamadığı şey günlük analizidir, çünkü ortada bir günlük yok. Başarısız olan istekler, 404 veren dosyalar ya da bant genişliği hakkında hiçbir şey yok. Bunların önemli olduğu yerde statik barındırma zaten soruna uygun bir biçim değildi.
Statik sitelere uyan bir şey daha
Burada hiçbir şey hesap gerektirmez. Kayıt yok, bir depoda saklanacak parola yok ve herkese açık bir commit'e sızabilecek anahtar yok – statik site projelerinin olağanüstü sık yaşadığı bir kaza türü.