
Bağlam
Şirketin kurumsal sitesi yıllardır WordPress üzerinde çalışıyordu. Eklenti güncellemeleri, tema kısıtları ve güvenlik yamaları sürekli ilgi istiyordu; içerik editörleri ise basit bir haber ya da duyuru için bile yardım almak zorunda kalıyordu. Sitenin tamamını kurumun kontrolünde, bağımlılığı az bir yapıya taşımak istedik.
Çözüm
Django ile iki uygulamadan oluşan sade bir yapı: kamuya açık site (core) ve
teknik bilgi gerektirmeyen özel yönetim paneli (panel). Eski sitedeki
sayfalar, haberler, şubeler, yönetim kurulu, sermaye yapısı ve faaliyet
raporları bir seed komutuyla taşındı; eski adresler 301 yönlendirmeyle
korunarak arama motoru sıralaması kaybedilmedi.


Yönetim paneli
Her içerik türü için ortak bir "kaynak" tanımı üzerinden listeleme, ekleme, düzenleme ve hızlı aktif/pasif anahtarı üretiliyor. Panelden yönetilenler:
- Haberler ve ana sayfa slider sırası
- Duyuru pencereleri: tarih aralığı, gösterim sıklığı (her ziyaret, oturum başına, günlük, tek sefer), sayfa kapsamı ve öncelik
- Sayfalar, üç seviyeli menü, site ayarları
- Şubeler, şube personeli ve fotoğraf galerisi, harita koordinatları, kapasite
- Yönetim kurulu, genel merkez personeli, ortaklar, sermaye yapısı
- Faaliyet raporları (yıl ve PDF ile tek adımda), ELÜS ürünleri
- İletişim mesajları
- SSL sertifikası yenileme: PEM ya da PFX yükleniyor, anahtar eşleşmesi doğrulanıyor, eski sertifika yedekleniyor, nginx test edilip yeniden yükleniyor; hata olursa otomatik geri dönülüyor



Panel görüntüleri yerel deneme ortamından alınmıştır; site görüntülerinde kişi, iletişim ve tutar bilgileri bulanıklaştırılmıştır.
SEO ve performans
Her sayfa için ayrı başlık, açıklama ve canonical; Open Graph ve Twitter kartları; Organization, WebSite, NewsArticle, BreadcrumbList ve Warehouse türlerinde JSON-LD; otomatik sitemap ve robots. Yüklenen görseller otomatik küçültülüyor ve küçük resim üretiliyor; statik dosyalar sıkıştırılmış ve sürüm damgalı sunuluyor.
Güvenlik
- Üretimde gizli anahtar zorunlu; HSTS, SSL yönlendirme ve çerçeve engeli açık
- Panel girişinde kaba kuvvet koruması
- İletişim formunda bot ve istek sınırlama önlemleri
- Yüklemelerde tür doğrulaması ve içerik temizliği
- Web sunucusu ve servis düzeyinde ek sertleştirme
- 38 güvenlik odaklı otomatik test
Sayılarla
- 16 içerik modeli, 41 şablon, yaklaşık 5 bin satır Python
- 14 açık sayfa rotası, 8 yıllık faaliyet raporu arşivi
- Kurulum, go-live ve alan adı geçişi için hazır betikler ve kılavuz