RBN Core - Framework v0.9.7 76 belge

06 — Rıza kapısı (çerez bandı, analitik ve reklam kodu)

Ölçüt: E:\localhost\docs\ bilgi bankası (yasal/kvkk-web-sitesi-gereksinimleri.md, analytics/ga4-tuketici-onayi.md, adsense/riza-cmp.md). Framework bu kuralı uygular; proje yalnız veri verir (integrations ayarları), açma/kapama anahtarı yoktur.

1. Karar kuralı

Karar tek yerden verilir: ConsentProvider::decision(array $integrations): array{open,analytics,ads}.

Kapı AÇIK = (analitik ayarı dolu VEYA reklam ayarı dolu) VE site noindex DEĞİL.

Site Analitik / reklam ayarı Kapı Bant Analitik ve reklam kodu Rıza kaydı Yasal bölümler (ölçüm / reklam / bant) "Çerez Tercihleri" bağlantısı
indekslenebilir dolu açık var yüklenir (reklam ve serbest betikler rızaya kadar bekler) yazılır çıkar var
indekslenebilir boş kapalı yok yok reddedilir çıkmaz yok
noindex dolu kapalı yok HİÇ yüklenmez (head/body serbest betikler dahil) reddedilir çıkmaz yok
noindex boş kapalı yok yok reddedilir çıkmaz yok
  • Noindex bilgisinin tek kaynağı CrawlerProvider::isSiteNoindex() (= SeoResolver::isSiteNoindex()): routemap view_mapping[site]['robots']['noindex'] = true ya da seo grubundaki meta-robots ayarı. Robots.txt Disallow: /, sitemap 404 kararıyla aynı cevaptır; ikinci bir bayrak yoktur. Karar okunamazsa noindex sayılır (kapalı).
  • Yerel (.test) davranışı değişmez: yerelde ayrı bir ortam kuralı yoktur; noindex bayrağı yoksa ve ayarlar doluysa bant yerelde de çıkar.
  • Routemap'te elle cookie => false yazılmaz; anahtar kaldırıldı, framework onu okumaz. Noindex siteye yazmak yeterlidir, hiçbir şey eklemek gerekmez.

2. Tüketiciler (hepsi aynı fonksiyondan alır)

Tüketici Kapı kapalıyken
FrontendProvider::render consent_head boş; google_analytics_code, google_adsense_code, head_scripts, body_scripts boş; consent_open = false (footer "Çerez Tercihleri" bağlantısı basılmaz)
LegalProvider::render bant şablonu basılmaz
LegalService::capabilities analytics, ads, consent_banner = false; yasal şablonlarda {{#analytics}}, {{#ads}}, {{#consent_banner}} bölümleri ve çerez envanteri satırları çıkmaz
ConsentService::record POST /fw-consent reddedilir (consent gate is closed), tabloya satır yazılmaz
FrontendBaseController::loadAdSettings adsense_status = 0; reklam yuvası görünümü hiçbir şey basmaz

hasAnalytics() / hasAds() yalnız ayarın dolu olup olmadığını söyleyen özel yardımcılardır; tüketici onları çağırmaz. Kapı testi: fw_frw19_riza_kapisi.php (G-kapi-01…14).

3. Proje ne yapar?

Hiçbir şey. Analitik/reklam ayarını integrations grubuna yazar; noindex sitedeyse kod ve bant zaten çıkmaz. Siteyi indekslenebilir yaptığınız anda (routemap'ten noindex kalkınca) ayarlar doluysa bant ve kod kendiliğinden gelir.