Kurumsal Reklam Yönetim Sistemi Sıfırdan Nasıl İnşa Edilir? Türk ADS CDN
Dijital Roket olarak son aylarda üzerinde titizlikle çalıştığımız Türk ADS CDN projesi; belediyeler, büyük yayıncı ağları ve dijital medya grupları için sıfırdan geliştirdiğimiz bir kurumsal reklam yönetim platformudur. Bu yazıda projenin nasıl doğduğunu, hangi mimari kararlarla şekillendiğini, hangi teknik problemleri çözdüğünü ve neden "hazır bir çözüm satın almak" yerine size özel bir sistem geliştirmenin uzun vadede çok daha akıllıca bir yatırım olduğunu anlatacağız.
Neden Hazır Bir Reklam Sistemi Değil?
Türkiye'de dijital reklam yönetimi denilince akla ilk Google Ad Manager, Revive Adserver veya birkaç yabancı SaaS platformu geliyor. Bu araçların hepsi kendi çapında güçlü; ancak kurumsal bir müşterinin gerçekten ihtiyaç duyduğu üç şeyi hiçbiri aynı anda yeterince iyi karşılamıyor:
- Çok kiracılı (multi-tenant) yapı — Birden çok belediye, birden çok kurum aynı sisteme sığıyor ama hiçbiri diğerinin verisini göremiyor.
- Yerli, tam Türkçe raporlama — Türkçe karakter destekli CSV, Excel ve PDF çıktı; ilçe adları büyük harfli, resmi kurum unvanları yasal olarak korunmuş.
- Şeffaf istatistik doğruluğu — Bot filtresi, tekrar filtresi, öksüz tıklama koruması, oturum doğrulaması. Yani reklamverene ödediği tıklamanın gerçek olduğunu kanıtlayabilmek.
Bu üç ihtiyaç birleşince, hazır bir çözüm bulmak neredeyse imkânsız hale geliyor. Ya kompleks bir yabancı SaaS'ın Türkçeleştirilmesine on binlerce dolar döküyorsunuz ya da yıllar önce yazılmış eski bir sistemi (Revive gibi) yamamayı denerken bakım borcuna gömülüyorsunuz.
İşte biz de bu üçüncü yolu — sıfırdan modern bir platform inşa etmeyi — seçtik.
Türk ADS CDN Nedir?
Türk ADS CDN, birden çok yerel yönetim (belediye) ve onların onayladığı yayıncı sitelere merkezi olarak reklam servis eden bir CDN altyapısıdır. Her yayıncı site tek bir JavaScript satırıyla sisteme bağlanır; banner görselleri Cloudflare'in dünya çapındaki 300+ uç sunucusundan servis edilir; her gösterim ve her tıklama beş katmanlı bir doğruluk kontrolünden geçtikten sonra istatistiklere işlenir.
Sistem şu anda Bursa'nın belediyeleri ile aktif çalışıyor; aylık 50 milyon reklam isteği kapasiteli mimariyle inşa edildi. 100 milyon ziyaretçiye kadar genişletilebilir yapıda yapıldı.
Öne Çıkan Özellikler
1. Çok Belediyeli Yönetim Paneli
Süper yönetici tüm belediyeleri görür, yönetir; belediye kullanıcısı ise yalnızca kendi belediyesinin kampanyalarına, kreatiflerine ve raporlarına erişir. Rol tabanlı erişim kontrolü, JWT tabanlı oturum yönetimi, bcrypt hash'li şifre saklama — kurumsal güvenlik standartlarının hepsi mimariye baştan işlendi.
2. Kampanya, Reklam Alanı ve Kreatif Yönetimi
Her belediye kendi kampanyalarını oluşturur, her kampanyaya birden çok görsel (kreatif) yükler, her kreatife ağırlık atar. Sistem her sayfa yüklemesinde bu ağırlıklara göre sunucu tarafında adil bir rastgele çekiliş yapar — Kampanya A'ya %70, Kampanya B'ye %30 ağırlık verdiğinizde dağılım gerçekten bu oranda gerçekleşir. İstemci tarafında zamanlayıcı yok, önyargısız rotasyon var.
3. Yayıncı Site Beyaz Listesi (Whitelist)
Reklam kodları yalnızca sistemde tanımlı izinli domain'lerde çalışır. Yetkisiz bir sitede yayınlansa dahi reklam görünmez, sadece yönetim panelindeki "Yetkisiz Domainler" ekranına kayıt düşer. Böylece hem reklamveren korunur hem de yayıncı sözleşmesi olmayan bir domain'de reklam servisi verilmesi engellenir.
4. Otomatik WebP Görsel Optimizasyonu
Reklamverenin yüklediği görsel, arka planda çalışan Pillow tabanlı bir boru hattı üzerinden WebP kalite 78 ayarıyla dönüştürülür. Sonuç: aktif kreatiflerin ortalama boyutu 18.5 KB, azami boyutu 41 KB. Google PageSpeed önerilerinin çok altında. JPG fallback da tutulur, WebP desteklemeyen eski tarayıcılar için otomatik yedek servis edilir.
5. Beş Katmanlı İstatistik Doğruluğu
Reklam istatistiği para demektir; yanlış ölçüm hem reklamvereni hem yayıncıyı zarara uğratır. Bu yüzden ölçüm sistemi beş bağımsız katmandan geçer:
- Bot filtresi — Google, Bing ve arama motoru crawler'ları filtrelenir.
- Tekrar (dedup) filtresi — Aynı ziyaretçinin 5 saniye içinde art arda tetiklediği kayıtlar tek sayılır.
- Öksüz tıklama koruması — Tıklamanın sayılabilmesi için aynı ziyaretçide daha önce bir gösterim (impression) atılmış olmalıdır. Doğrudan tıklama-URL paylaşımı (WhatsApp linki gibi) istatistiği kirletemez.
- Oturum doğrulaması — Her gösterim 1 saatlik onay bileti oluşturur; tıklama bu biletle eşleştirilir.
- Redis tampon + toplu yazım — Anlık sayaçlar önce Redis'te tampona alınır, 30 saniyede bir topluca veritabanına yazılır. Bu hem veritabanı yükünü %90 azaltır hem trafik sıçramalarına dayanır.
6. Cloudflare CDN Entegrasyonu ve Özel Cache Kuralları
Tüm trafik önce Cloudflare'in dünyaya yayılmış 300+ veri merkezinden geçer. Sistem üzerine sıfırdan tasarlanmış üç adet özel Cache Rule ile backend yükü yaklaşık %85 azaltılmıştır: reklam görselleri 30 gün Cloudflare edge'de tutulur, JavaScript yükleyici 2 saat cache'lenir, istatistik endpoint'leri ise asla cache'lenmez — böylece her gösterim ve her tıklama backend'e doğrudan ulaşır, ölçüm bütünlüğü korunur.
7. Türkçe Karakter Destekli Rapor Çıktıları
CSV, Excel ve PDF export'larında gömülü DejaVu fontları ile Türkçe karakterler (ç, ğ, ı, İ, ö, ş, ü) her ortamda tutarlı görünür. Sunucuya bağımlı değildir. Dosya adları belediye adıyla otomatik oluşturulur ("osmangazi-site-raporu-2026-02.xlsx" gibi). Reklam kod paketleri toplu PDF olarak indirilir, yasal metin doğru şekilde yerleşir.
8. Sistem Sağlığı Paneli
Süper yönetici, herhangi bir anda sunucu CPU'sunu, bellek kullanımını, disk doluluğunu, aktif Redis tamponu boyutunu, son 10 dakikadaki gösterim ve tıklama sayısını, son 24 saatteki yetkisiz domain reddi sayısını ve aktif varlık sayaçlarını tek bir ekrandan görebilir. Yeşil / sarı / kırmızı renkli göstergeler herhangi bir problemi anında görselleştirir — özellikle "son 10 dakikada 0 event" durumunda büyük kırmızı uyarı devreye girer, sessiz veri kaybının önüne geçer.
9. Kampanya - Kreatif Cascade Yönetimi
Kampanyanın durumu her zaman altındaki tüm görsellere otomatik yansır. Bir kampanyayı "pasif" yaptığınızda bağlı kreatifler de anında pasif görünür; tekrar aktif ettiğinizde eski durumlarına döner. Kampanya silindiğinde ise geçmiş istatistiklerdeki kampanya adı ve kreatif etiketleri korunur — raporlarınızda "silinmiş kampanya" görünmez, ama toplamlar doğru kalır.
10. Canlı Önizleme ve Rapor Temizleme
Yönetici herhangi bir yayıncı site + reklam alanı kombinasyonunu gerçek zamanlı olarak "canlı önizle" edebilir. Ayrıca eski, hatalı veya test verilerinin belirli tarih aralığında toplu silinmesi için yalnızca süper yöneticiye açık, çift onaylı bir "Rapor Temizle" özelliği vardır.
Teknoloji Yığını
Türk ADS CDN, üretim ortamının en iyi bilinen ve en olgun bileşenleriyle inşa edildi:
- Backend: Python + FastAPI (asenkron, saniyede yüzlerce eşzamanlı isteği tek işlem üzerinde kaldırır)
- Frontend: React + TailwindCSS + Shadcn UI bileşen kütüphanesi
- Veritabanı: MongoDB (yatay ölçeklenebilen doküman veritabanı)
- Önbellek: Redis (bellek içi tampon, anlık sayaç, oturum doğrulama)
- CDN: Cloudflare (SSL, DDoS koruması, WAF, HTTP/3, Brotli sıkıştırma)
- PDF üretimi: ReportLab + gömülü DejaVu fontlar
- Görsel işleme: Pillow (WebP + JPG fallback)
- Kimlik doğrulama: JWT + bcrypt
- Bulut altyapısı: Kubernetes tabanlı konteyner ortamı, rolling deployment desteği
Performans Rakamları
Rakamlar konuşsun:
- Ayda 50 milyon reklam isteği kapasiteli mimari
- Ortalama 18.5 KB WebP görsel — Google PageSpeed AA seviyesinin altında
- %85 backend yükü azaltımı — Cloudflare cache kuralları sayesinde
- %92+ CDN cache hit oranı — görsel istekleri backend'e neredeyse hiç uğramaz
- ~50 ms sunucu yanıt süresi — reklam servisi çağrısı için
- 5 sn dedup penceresi + 1 saat oturum doğrulama — istatistik doğruluğu için
- 7 gün ham olay kaydı + sınırsız aggregate saklama — audit ve tarihsel analiz için
Kim İçin Uygun?
Türk ADS CDN'de kullandığımız mimari, sadece belediyeler için değil — reklamı kendi ekosisteminde yönetmek isteyen her kurumsal müşteri için ideal:
- Yerel yönetimler ve kamu kurumları — çok belediyeli, çok yayıncılı, resmi/yasal metin destekli
- Medya grupları — birden çok haber sitesini tek panelden yöneten yayıncılar
- Franchise ağları — her şube kendi reklamını yönetir ama merkezi rapor tek yerden
- Emlak, otomotiv, e-ticaret ağları — kendi ilan/banner sistemini kuran platformlar
- Ajanslar — birden çok müşteriye ayrı ayrı reklam servisi yapan dijital ajanslar
Aynı mimari, aynı yaklaşım, sadece markanız ve iş kurallarınıza göre özelleştirilmiş bir versiyonu — kendi domain'inizde, kendi verinizle, kendi kontrolünüzde çalışır.
Neden Dijital Roket ile Çalışmalısınız?
Bir reklam yönetim sistemi, siparişle alınan bir hazır giyim değildir. Kurumunuzun iş akışına, yasal gereksinimlerine, marka diline ve ölçek beklentisine göre terzi işi yapılmalıdır. Türk ADS CDN üzerinden edindiğimiz deneyimle şunları vaad ediyoruz:
- Sıfırdan mimari — Hazır kalıpları esneterek çalışmıyoruz. İş modelinizin gerçek ihtiyacı neyse ona göre kod yazıyoruz.
- Şeffaf gelişim süreci — Her sprint sonunda ekran görüntüleri, testler, sürüm etiketleri. Ne aldığınızı biliyorsunuz.
- Ölçeklenebilir teslimat — 100 isteklik projeden başlar, aylık 100 milyon isteğe kadar yürüyecek şekilde büyütürüz. Aynı kodla.
- Türkçe destek — Sözleşme, dokümantasyon, kullanım kılavuzu, kod yorumları — hepsi Türkçe.
- Uzun vadeli bakım — Proje bitince gitmeyiz. Her sürüm etiketiyle takip edilebilir bir bakım planımız var.
Kendi Sisteminizi Kurmayı Düşünüyor musunuz?
Eğer siz de kurumunuz veya ağınız için size özel bir dijital reklam yönetim platformu düşünüyor, mevcut bir sistemin sınırlarında sıkışmış hissediyor ya da hazır SaaS ürünlerine ödediğiniz aylık ücretlerin sonu gelmeyeceğini fark ediyorsanız — konuşalım.
Türk ADS CDN'de attığımız her adım, sizin projeniz için de bir referans noktasıdır. Aynı prensipler, aynı kalite, aynı ölçek kabiliyeti — sadece sizin iş modelinize göre biçimlendirilmiş olarak.
Dijital Roket ile iletişime geçin: www.dijitalroket.com
Yazılım, tasarım ve dijital altyapıda gerçek bir teknoloji ortağı.

