Dayanışma Nedir?
Dayanışma, dernek, vakıf, insan hakları kuruluşu, çevre platformu, kültür girişimi ve gönüllü ağları için sıfırdan tasarlanmış kurumsal bir PHP web sitesi temasıdır.
Tasarımın tüm renk, tipografi ve modül kararları tek bir sorudan hareketle şekillenmiştir: Bir hibe veren kuruluş, bir gazeteci veya bir potansiyel gönüllü kuruluşunuzun web sitesine geldiğinde neyi arıyor? Bu sorunun beş yanıtı vardır — yönetim kurulu şeffaflığı, faaliyet geçmişi, basın belgeleri, aktif içerik üretimi ve gönüllü çekme altyapısı. Dayanışma bu beş katmanı veritabanı, admin paneli ve frontend yapısının her bileşenine yerleştirmiştir.
Lacivert (#03296B), kırmızı (#BE0002) ve altın (#E8C77C) üç renkli HERALD tasarım dili; Fraunces serif başlıklar ve DM Sans gövde tipografisi ile tamamlanır. Bu görsel kararlar; sivil toplum kuruluşlarının kamuoyu önünde söz söyleme rolüne uygun, editöryal ve güven veren bir kimlik oluşturur.
Teknik altyapı saf PHP 7.4+ ile yazılmıştır. WordPress bağımlılığı, eklenti güncelleme riski, CDN yavaşlaması yoktur. Her sayfa doğrudan PHP + PDO + MySQL üzerinde çalışır; 17 veritabanı tablosu ve 12 admin modülü ile tam donanımlı gelir.
Neden Dayanışma?
Hibe başvurularında kanıt değeri
AB, BM ve bakanlık hibe programlarında başvuran kuruluşun web sitesi ön değerlendirme aşamasında zorunlu inceleme noktasıdır. Dayanışma'nın yapısı bu değerlendirmeyi geçmek için bilinçli olarak şu kararları içerir:
- Yönetim kurulu şeffaflığı: Her YK üyesinin /yonetim-kurulu/[slug] formatında ayrı profil sayfası, fotoğraf, unvan, biyografi, uzmanlık alanları ve sorumluluklar bölümü içerir. Şeffaf karar mekanizması kanıtı.
- Etkinlik arşivi: Geçmiş paneller, atölyeler ve saha çalışmaları tarih, şehir, etkinlik türü etiketleriyle arşivlenir; "geçmiş faaliyet kanıtı" olarak hibe başvurusunda doğrudan link verilebilir.
- Basın bülteni arşivi: Resmi açıklamalar, ortak bildirgeler ve yıllık raporlar tür etiketi ve PDF eki ile yayınlanır; kamuoyu nezdinde hesap verebilirlik göstergesi.
- KVKK uyumu: Gizlilik Politikası, KVKK Aydınlatma Metni ve Kullanım Şartları üç yasal sayfa hazır içerikle gelir; iletişim ve gönüllü formları KVKK onay kutucuğu ile çalışır.
Yönetim kurulu ve yazar profilinin çift yönlü bağlantısı
STK'larda YK üyeleri çoğu zaman blog yazan köşe yazarlarıdır. Dayanışma bu gerçeği şu şekilde modeller:
- Blog yazısının yazar adı bir YK üyesinin adıyla eşleşirse profil fotoğrafı, unvan ve biyografi veritabanından otomatik çekilir
- YK profil sayfasında üyenin yazdığı tüm blog yazıları otomatik listelenir
- Yazar sayfasından YK profiline, YK profilinden yazara çift yönlü link kurulur
- Tek bir kurumsal kimlik altında iki farklı sayfa (uzman ve karar verici) sergilenir
Gönüllü çekme altyapısı
- Gönüllü Ol sayfasında ad, e-posta, telefon, şehir, uzmanlık alanı, motivasyon mesajı ve KVKK onayı içeren form
- Honeypot spam koruması varsayılan aktif; reCAPTCHA v2 admin > Ayarlar > Güvenlik'ten isteğe bağlı eklenir
- Admin panelde Gönüllüler modülü: durum yönetimi (beklemede / onaylandı / reddedildi), yönetici not alanı, başvuru tarihi, CSV export
- Yeni başvurular için isteğe bağlı e-posta bildirimi
Öne Çıkan Özellikler
- Editöryal ana sayfa — Hero slider (admin panelden yönetilen lacivert overlay'lı saha görselleri, Fraunces büyük başlık, kırmızı CTA), hakkımızda blok, son haberler grid, etkinlik şeridi, blog kart, gönüllü çağrısı CTA, e-bülten widget
- HERALD tasarım dili — Lacivert + kırmızı + altın üçlü palet, Fraunces serif başlık + DM Sans gövde tipografisi, keskin köşeler ve ince çizgiler
- Haber modülü — Öne çıkan haber hero alanı, kapsam etiketi (Türkiye / Uluslararası / Saha), zengin metin editörü, içindekiler tablosu (H2'lerden otomatik), Schema.org NewsArticle
- Etkinlik arşivi (river layout) — Tarih + şehir + görsel + açıklama dörtlü kolon yapısı, etkinlik detay sayfasında harita embed, içindekiler tablosu, Schema.org Event
- Blog ve yazar profil sistemi — Yazar bazlı sayfa (/yazar/[slug]), YK profili ile otomatik eşleşme, ilgili yazılar bölümü, Schema.org BlogPosting
- Yönetim kurulu profil sayfaları — Her üye için bağımsız URL, fotoğraf, unvan, biyografi, uzmanlık etiketleri, sorumluluklar, bağlı blog yazıları
- Basın bülteni modülü — Tür etiketi (Bülten / Bildirge / Rapor / Açıklama), tarihli arşiv, PDF URL alanı, slug yönetimi
- Gönüllü başvuru sistemi — Form + admin durum yönetimi + yönetici notu + CSV export
- İletişim ve harita — Form, çalışma saatleri, telefon, e-posta, adres, Google Haritalar embed
- E-bülten aboneliği — Ana sayfa ve footer widget, admin panelde abone listesi yönetimi
- Üç KVKK yasal sayfa — Gizlilik Politikası, KVKK Aydınlatma Metni, Kullanım Şartları (hazır içerik, admin panelden düzenlenebilir)
- Duyuru barı — Admin panelden metin ve link yönetilir, kullanıcı kapatabilir, tercih cookie'de saklanır
- SEO meta yönetimi — Her sayfa için title, description, slug ayrı yönetilir
- Schema.org çoklu tip — Organization (ana sayfa), NewsArticle (haberler), Event (etkinlikler), BlogPosting (blog), Person (YK üyeleri), FAQPage
- Open Graph + Twitter Card — Sosyal medya paylaşımında doğru başlık, görsel, açıklama önizleme
- AVIF/WebP otomatik dönüşüm — Yüklenen görsellerde format dönüşümü, thumbnail (400/800px), lazy loading
- XML sitemap — Tüm haber, etkinlik, blog, YK profili, basın bülteni dahil dinamik üretim
- Honeypot + reCAPTCHA opsiyonel — Tüm formlarda varsayılan honeypot, isteğe bağlı reCAPTCHA v2
- CSRF + XSS + PDO koruması — Tüm formlarda CSRF token, çıktılarda htmlspecialchars, PDO prepared statements
- SSL uyumlu .htaccess — HTTPS yönlendirmesi, URL rewrite, GZIP sıkıştırma, 1 yıl browser cache
- Sıfır harici bağımlılık — jQuery, Bootstrap, Google Fonts, CDN kullanmaz; tüm bağımlılıklar lokal
- Mobil öncelikli tasarım — 375px'ten başlayarak her breakpoint test edilmiş
- Güncellenebilir sistem — Admin panelde versiyon kontrolü, tek tıkla güncelleme (v1.x için), otomatik yedekleme
Yönetim Paneli (12 Modül)
Dayanışma admin paneli, kuruluşun kadrosunda profesyonel web yöneticisi bulunmasa da gönüllü veya stajyer düzeyinde personelin yönetebileceği biçimde tasarlanmıştır. Her modül kendi sekme ve formlarıyla ayrılmıştır; değişiklikler anında canlıya yansır.
- Dashboard — Okunmamış mesaj sayısı, yeni gönüllü başvurusu, son etkinlik özeti, hızlı erişim linkleri
- Haberler — Başlık, özet, zengin içerik editörü, kapsam etiketi, öne çıkan görsel, SEO meta, taslak/yayın durumu
- Etkinlikler — Tarih, saat, şehir, etkinlik türü, açıklama, görsel, harita embed kodu, içerik editörü, durum yönetimi
- Blog Yazıları — Zengin editör, yazar atama, kategori, okuma süresi, öne çıkan görsel, SEO meta, yayın durumu
- Basın / Bülten — Başlık, tarih, tür dropdown (Bülten / Bildirge / Rapor / Açıklama), özet, içerik, PDF URL, slug yönetimi
- Kurumsal / YK Üyeleri — Fotoğraf yükleme, ad, unvan, biyografi, uzmanlık etiketleri, sıralama (sürükle-bırak), aktif/pasif
- Gönüllüler — Başvuru listesi, durum yönetimi (beklemede / onaylandı / reddedildi), yönetici notu, başvuru tarihi, CSV export
- Mesajlar — İletişim formu mesajları, okundu/okunmadı işareti, mesaj detay görünümü, IP ve tarih kaydı, arşivleme
- Sayfalar — Anasayfa slider metni, hakkımızda, misyon/vizyon, iletişim SSS bloklari — kodlama olmadan düzenleme
- Medya Kütüphanesi — Tüm yüklenen görsellerin merkezi görünümü, AVIF/WebP otomatik dönüşüm, kullanılmayan dosyaları temizleme
- Site Ayarları — Genel (site adı, açıklama, logo), iletişim bilgileri, sosyal medya, footer, reCAPTCHA anahtarları, GA4, GTM, çerez bildirimi
- Güncelleme ve Lisans — Tema versiyon bilgisi, mevcut güncelleme kontrolü, lisans anahtarı girişi, güncelleme geçmişi, otomatik yedekleme
Teknik Altyapı
Performans
- PHP 7.4+ opcode cache ile native hız
- PDO + prepared statements — N+1 sorgu yok, indeksli tablolar (17 tablo, idx tanımlı)
- AVIF/WebP otomatik dönüşüm — görsel boyutları ortalama %60 küçülür
- Lazy loading + decode async — viewport dışındaki görseller sayfa yüklenmesini yavaşlatmaz
- GZIP sıkıştırma ve 1 yıl browser cache — .htaccess üzerinden etkin
- Inline kritik CSS — ilk render'da harici dosya bekleme yok
Güvenlik
- PDO prepared statements — SQL injection'a karşı tam koruma
- htmlspecialchars() ile tüm kullanıcı girdisi sanitize — XSS koruması
- CSRF token — form gönderimlerinde çift-submit ve token kontrolü
- Admin oturumu — bcrypt ile hashlenmiş şifre, session fixation koruması
- Rate limiting — admin giriş denemelerinde brute-force koruması
- Honeypot + opsiyonel reCAPTCHA v2 — tüm public formlarda
- uploads/ klasöründe PHP yürütme engeli — .htaccess kuralı
- Dosya yükleme — MIME tipi doğrulama, uzantı filtresi, rastgele isim ataması
SEO
- Schema.org çoklu tip — Organization, NewsArticle, Event, BlogPosting, Person, FAQPage
- Canonical URL, robots.txt, noindex koruması — admin panelden yönetim
- XML sitemap otomatik oluşturma — her içerik güncellemesinde yeniden üretilir
- Open Graph + Twitter Card — kuruluş logosu, sayfa açıklaması, kapak görseli
- Semantic HTML5 — heading hiyerarşisi, alt etiketleri, aria-label'lar
- Breadcrumb navigation + Schema.org BreadcrumbList
KVKK ve 5253 Sayılı Dernekler Kanunu Uyumluluğu
Dayanışma, KVKK 6698 sayılı kanun ve 5253 Sayılı Dernekler Kanunu çerçevesinde tasarlanmıştır:
- Üç yasal sayfa hazır içerikle gelir: Gizlilik Politikası, KVKK Aydınlatma Metni, Kullanım Şartları
- İletişim formu, gönüllü formu, bülten aboneliği KVKK onay kutucuğu ile çalışır
- Kullanıcı verileri (mesaj, başvuru, abonelik) admin panelden silinebilir — "unutulma hakkı" desteği
- Çerez bildirimi gerektiğinde aktif edilir
- SSL üzerinden veri aktarımı zorunludur — .htaccess HTTPS yönlendirmesi hazır
- Yönetim kurulu üyelerinin kamuya açık bilgileri (Dernekler Mevzuatı kapsamında zorunlu) için ayrı modül
Çoklu Dil Desteği: Türkçe + İngilizce + Arapça (RTL)
Dayanışma teması, STK'ların uluslararası iletişim ihtiyacını karşılamak üzere üç dil desteği ile birlikte gelir: Türkçe (TR), İngilizce (EN) ve Arapça (AR — sağdan sola, RTL). Bu yapı opsiyoneldir; yalnızca Türkçe çalışacaksanız aktif etmek zorunda değilsiniz.
Slug Bazlı SEO Dostu URL Yapısı
Dil değişimi ?lang=en gibi query parametresi ile değil, slug bazlı URL ön ekleri ile yapılır. Google'da her dil ayrı sayfa olarak indekslenir:
- Türkçe: dayanisma.alfadizayn.com/blog
- İngilizce: dayanisma.alfadizayn.com/en/blog
- Arapça: dayanisma.alfadizayn.com/ar/blog
Otomatik hreflang meta etiketleri arama motorlarına alternatif dilleri bildirir; yanlış dilde gösterim ve duplicate content sorunu yaşanmaz.
RTL (Arapça) Tam Uyum
- Arapça seçildiğinde sayfa dir="rtl" ile sağdan sola akar
- Header, footer, sidebar, grid yerleşimleri otomatik ters çevrilir
- İkonlar, oklar, liste işaretleri RTL ayna görünüm alır
- Form alanları sağa hizalanır, metin yönü doğru
- Arapça için özel Noto Naskh Arabic fontu yüklenir
- Tüm RTL kuralları temada hazır gelir, ek CSS yazmazsınız
Modern Dil Çubuğu (HERALD Tasarım)
Üst duyuru barında TR | EN | AR pill butonlu modern dil çubuğu bulunur. Kullanıcı bir dile tıkladığında:
- URL otomatik /en/... veya /ar/... olarak değişir
- Seçim 30 gün cookie'de saklanır; sonraki ziyaretlerde tercih hatırlanır
- Mobilde header sağında kompakt halde görünür
İki Katmanlı İçerik Yapısı
1. Statik UI (lang dosyaları): Menü, butonlar, form etiketleri, hata sayfaları, bölüm başlıkları lang/tr.php, lang/en.php, lang/ar.php dosyalarından gelir. Düzenlemek için tek dosya açılır.
2. Dinamik içerik (DB): Haber, blog, etkinlik, basın bülteni, YK üyesi ve sayfa içerikleri için her tabloda title_en, title_ar, summary_en, summary_ar, content_en, content_ar kolonları bulunur. Admin panelden TR yanında EN/AR alanları açıktır; istediğinizde doldurursunuz.
Akıllı Çeviri Fallback
Bir kayıt için EN veya AR çevirisi girmediyseniz, o dilde TR versiyonu görünür. Sistem hiç boş içerik göstermez; çevirileri zamanla tamamlayabilirsiniz. Her zaman içerik bütünlüğü korunur.
SEO ve Sosyal Medya Optimizasyonu
- hreflang alternatif tag'ler: Her sayfa için 3 dilin URL'leri bildirilir
- HTML lang attribute: Sayfa dilini search engine'e doğru bildirir
- Open Graph locale alternates: Facebook/Twitter paylaşımında doğru dil etiketi
- Schema.org çoklu dil: NewsArticle, Event, BlogPosting yapılandırılmış verisi 3 dilde doğru üretilir
- Dinamik XML sitemap: Tüm dil varyantları otomatik dahil
- Browser dil tespiti: İlk ziyarette tarayıcı dili algılanır, uygun versiyonu önerilir
Hazır Demo İçerik 3 Dilde
Tema kurulumu sonrası gelen demo içeriklerin tümü baştan üç dilde doludur:
- 6 yönetim kurulu üyesi (ad, unvan, biyografi)
- 6 etkinlik kaydı (başlık, özet, şehir, tür, içerik)
- 5 haber kaydı (başlık, özet, kapsam, içerik)
- 4 blog yazısı (başlık, özet, kategori, içerik)
- 5 basın bülteni (başlık, özet, tür)
- Anasayfa, kurumsal, etkinlikler, gönüllü, bülten — bütün sayfa blokları
Hangi STK'lar İçin Kritik?
- İnsan hakları kuruluşları: BM, AB ve uluslararası raportörlere İngilizce; Ortadoğu paydaşlarına Arapça
- Mülteci dayanışma platformları: Suriyeli ve Iraklı mültecilere ana dilde bilgilendirme
- Uluslararası fon başvurusu yapan STK'lar: AB ve BM hibe başvurularında İngilizce sayfa zorunluluk
- İslam dünyası bağlantılı vakıflar: Arap ülkeleriyle bağış ve işbirliği
- Diaspora dernekleri: Yurt dışındaki üye/gönüllü ağıyla kendi dilinde iletişim
- Akademik araştırma kuruluşları: Uluslararası akademik camiaya yayın
Teknik Detay
| Özellik | Detay |
| Desteklenen dil sayısı | 3 (TR + EN + AR) |
| URL yapısı | Slug bazlı (/en/, /ar/) |
| RTL desteği | Arapça için tam (header, footer, sidebar, formlar) |
| Dil tercihi saklama | 30 gün cookie |
| Tarayıcı dili tespiti | İlk ziyarette otomatik |
| SEO meta etiketleri | hreflang, og:locale, lang attribute, Schema.org |
| Dinamik içerik fallback | EN/AR boşsa TR'ye geçer (içerik kaybolmaz) |
| Statik UI | 3 ayrı dil dosyası (PHP array, kolay düzenlenir) |
| Yeni dil ekleme | Mümkün (lang dosyası + DB kolon ekleme) |
Not: Çoklu dil desteği opsiyoneldir. Yalnızca Türkçe çalışmak istiyorsanız EN/AR alanlarını boş bırakır, dil çubuğunu admin panelden gizlersiniz. İhtiyaç doğduğunda zamanla EN/AR içeriği eklersiniz.