Files
kolaytercih/docs/ekip-raporlari/2026-09-22/02-sevk-yollari-ux.md
bilalgursen 2b350d0c5d content(rehber): gece vardiyasının 14 yeni yazısı + 2 düzeltme, ekip raporları ve kurallar
14 yeni rehber yazısı (hepsi editör denetiminden geçti, 46 yazıda 829 iç link
tarandı, 0 kırık hedef; 180+ DB rakamı yazıların kendi filtreleriyle yeniden
koşuldu):

  taban-siralamalari-alti-yilda-nasil-degisti · kac-net-ile-hangi-bolum ·
  siralama-bandlari-hangi-kapilar-acilir · ayni-bolum-farkli-universite-siralama-farki ·
  hangi-bolumlerin-kontenjani-azaldi · yeni-acilan-bolumler-nasil-degerlendirilir ·
  bilgisayar-mi-yazilim-muhendisligi-mi · kktc-universiteleri-okunur-mu ·
  yapay-zekaya-tercih-sordum-guvenilir-mi · ek-madde-1-puanim-yetiyor-mu ·
  universitede-ilk-hafta-ders-kaydi-muafiyet-kayit-dondurma · yks-2027-takvimi ·
  rehber-ogretmenler-icin-veri-kaynaklari · bolumumu-sevmedim-hangi-kapilar-var

İki canlı yazı düzeltildi:
- veliler-icin-tercih-rehberi: veli diliyle kapanış; altındaki "sıralamanı gir"
  kutusu artık veliye ölü uç değil
- bos-kontenjanlar-ne-anlatiyor: "birkaç yüz kişilik fark" aslında ~9 bin
  (ÖSYM 265.356 ↔ bizim 256.532); payda açıklaması tersti — ek kontenjan
  paydaya girseydi oran düşerdi. guncelleme alanı eklendi (sitemap lastmod).

Kurallar (AGENTS.md):
- Yayın sonrası arama motoru bildirimi: URL denetimi yalnız canlıda 200 dönen
  adrese; kota sayacı; mülk/hesap notu; sitemap grep kuralı
- Yıkıcı git komutları yasak: reset/checkout --/restore/clean/stash
- Tarayıcı açma: tasarımcı ve UX gerekli gördüğünde açabilir (yetenek için
  .claude/agents/tasarimci.md'ye tarayıcı araçları eklendi)

docs/gece-vardiyasi/2026-09-22/ — 34 rapor: CEO kararları ve kapanış turu,
marka/ödeme analizi, sıfır ödeme teşhisi, SEO konu planı, veri kalitesi,
editör denetimi, CTO şartnamesi, yazılımcı ve güvenlik raporları, SABAH-OZETI.

docs/ekip/YAYIN-KUYRUGU.md — Search Console bildirim kuyruğu.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 23:25:34 +03:00

26 KiB
Raw Blame History

02 — Sevk yolları: ziyaretçiyi yapay zekâ listesine götüren yol haritası ve eleştirisi

Hazırlayan: Tasarımcı · 22 Eyl 2026 gündüz · Yöntem: koddan denetim (tarayıcı açılmadı, ekran ölçülmedi). Sayısal kaynak: docs/ekip-raporlari/2026-09-21/03-donusum.md (Rybbit, 30g, iç trafik hariç). Piksel/ekran tahminleri "koddan çıkarım" olarak işaretlendi; doğrulaması Bilal'de.

Sade özet (5 satır)

  1. "Yapay zekâ" kelimesi, ziyaretçinin ilk gördüğü ekranların hiçbirinde geçmiyor. Organik trafiğin indiği katalog sayfalarında funnel'ın tamamı (cta-sira-form.tsx kompakt satır → çekmece → sihirbaz) ürünü "Programları gör" / "Ücretsiz tablonu gör" diye satıyor; 24'lük yapay zekâ listesinden ilk kez /sonuc'un ~3. ekranında söz ediliyor. Ziyaretçi kapılardan geçerken ardında ne olduğunu bilmiyor.
  2. En büyük sıra kaynağı hiçbir yere gitmiyor. sira_girildi{kaynak:kapi} 30 günde 14 olayla en büyük kaynak (03-donusum §3); bu yol (+ toast'ı → profil kapısı) sihirbazın 3 adımını da doldurtuyor, sonra profilTamamlandi null döndürüyor (use-tercih-profili.ts:346) ve kullanıcı "Tercihlerin kaydedildi." toast'ıyla kataloğda kalıyor. Liste için gereken her şey toplandı, liste teklif edilmedi.
  3. Ürünün tek gerçek değer önizlemesi ölü bölgede. TadimlikSatiri (gerçek LLM gerekçesi + risk + trend) yalnızca /sonuc'ta, 60 satırlık tablonun altında render ediliyor (sonuc/page.tsx:117); tadimlik_goruntulendi 30 günde 0. Ana sayfada, katalogda, rehberde listenin çıktısı hiç gösterilmiyor — 3 kutu metin ve bir karşılaştırma tablosu var.
  4. /sonuc ödül sayfası olarak kurulmamış. Sihirbazı bitiren kullanıcının gördüğü ilk şey, hiç kullanmadığı manuel listenin boş gri placeholder'ı (manuel-harita.tsx:71-79); yapay zekâ paneli ~3–4 ekran aşağıda (koddan çıkarım). Ölçüm bunu doğruluyor: panel 17 anonimin 6'sına göründü, 0 tık.
  5. Kapı sayısı fazla değil, kapıların sırası ve sessizliği sorun. Girişsiz kullanıcı için listeye giden en kısa yol 4 kapı / 7 ekran / ~9 tık; kapılardan ikisi (sihirbaz, giriş) meşru, ama ikisi de ne kazandıracağı söylenmeden açılıyor.

1. Yol envanteri — listeye ulaşan her yol

Ortak kısaltma: S = sihirbaz (3 adım: alan → il → devlet/vakıf, sihirbaz-adimlar.tsx:276, 296, 434). Kapılar: K1 sıra girme · K2 sihirbaz · K3 Google girişi · K4 kredi (üretim 3 kredi, yeni hesapta 5 deneme kredisi).

Yol A — Ana sayfa (30g: 67 oturum → 11 sıra, %16,4; en iyi dönüşen yol)

# Ekran Ne yapılıyor Dosya
1 / hero puan türü çipi + sıralama + "Yapay Zeka listemi kur" app/page.tsx:244 → hero-form.tsx:188-196
2–4 Dialog (S) 3 adım, son buton girişsizde "Ücretsiz tablonu gör" hero-form.tsx:209-228, etiket :222
5 /sonuc?hazir=1 harita placeholder → tablo → tadımlık → hazır panel hero-form.tsx:104, sonuc/page.tsx:102-126
6 /giris?callback=/listem?uret=1 Google sihirbaz-cagri-karti.tsx:245
7 /listem?uret=1 üretim (~20 sn tipik, 60 sn sunucu sınırı) liste-uretici.tsx:42-45

7 ekran · ~9 tık · 4 kapı. Girişli kullanıcıda 5. ekran boşa gider: /sonuc tam tabloyu render eder, sonra router.replace("/listem?uret=1") ile sekilir (sihirbaz-cagri-karti.tsx:209-219).

Yol B — /universite/[slug] ve /bolum/[slug] üst kompakt satır (30g: 464 oturum → 12 sıra, %2,6)

  1. Kompakt satır: başlık + özet paragrafının altında, tablo/istatistik ızgarasının üstünde (universite-icerik.tsx:180, 290, 352; bolum-icerik.tsx:267). CTA: "Programları gör" (cta-sira-form.tsx:254).
  2. Gönderince çekmece doğrudan sihirbaz adımıyla açılır (cta-sira-form.tsx:145-148); kompakt varyantta çekmecenin tanıtım/kanıt ekranı (SectionEyebrow "Saniyede gör" + "24 tercihlik plan / Risk analizi / YÖK Atlas verisi" üçlüsü) hiç render edilmez — koşul !kompakt && adim === "sira" (:296).
  3. S 3 adım → "Ücretsiz tablonu gör" (:334) → /sonuc?hazir=1 (:172) → Yol A'nın 5–7. adımları.

8 ekran · ~9 tık · 4 kapı. Bu yolda ziyaretçi "yapay zekâ", "24 tercih", "risk analizi" ifadelerinin hiçbirini görmez (grep: src/features/katalog/components/*.tsx + kompakt dal → 0 eşleşme).

Yol C — Katalog alt kartı (tablonun ve sayfalamanın altı)

universite-icerik.tsx:381, bolum-icerik.tsx:297. Kart varyantı: başlık + KATALOG_CTA_ACIKLAMA (sayfalama.tsx:40) + "Sıralamanı gir, programları gör" → çekmecenin sıra adımı açılır (kanıt üçlüsü burada görünür) → S → /sonuc. 9 ekran, üstteki satırdan 1 tık fazla. 30g'de 20 satır/dilim × 3 dilim tablonun altında; mobilde ~1.500 px aşağıda (koddan çıkarım).

Yol D — + (tabloya program ekleme) kapısı — 30g'deki en büyük sıra kaynağı: 14 olay

  1. Tablodaki + (program-ekle-butonu.tsx:105, size-11 — dokunma hedefi doğru).
  2. Profilsiz eklemede toast: "Seçtiklerine eklendi · Sıralamanı girersen bu programın risk seviyesini de gösteririz." + aksiyon "Sıralamamı gir" (:69-83).
  3. Aksiyon profilToplamaAc(null, true, "arti_toast") → kapı sıra adımıyla açılır → S 3 adım.
  4. hedef = null → profilTamamlandi null döndürür → yönlendirme yok (use-tercih-profili.ts:327-346). Kullanıcı "Tercihlerin kaydedildi." toast'ıyla (tercih-profili-kapisi.tsx:238) kataloğa geri düşer.

Sonuç: 4 ekran, 2 kapı geçildi, liste teklif edilmedi. Aynı ölü uç manuel liste çekmecesindeki "Sıralamamı gir" butonunda da var (liste-cekmecesi.tsx:296-298, aynı çağrı).

Yol E — Navbar "Sıralama gir" (mobilde kalıcı, sticky 2. satır)

katalog-arama.tsx:366 (mobil) / :302 (lg+) → sonucaGitIste({dogrudanSira:true}) → kapı (tanıtım adımı atlanır, doğru) → S → hedef="sonuc" → sonucHref() parametresiz. /sonuc'ta hazir=1 olmadığı için hazır panel yerine genel panel ("24 tercihi tek tek elemek yerine, yapay zekâ kursun", sihirbaz-cagri-karti.tsx:312-336) çıkar — o da sayfanın en altında. 6 ekran · 3 kapı.

Yol F — Arama modalındaki funnel kartı

arama-funnel-karti.tsx:132-139 → "Yapay Zeka listemi kur" → profilToplamaAc("sihirbaz") → kapı → S → /sonuc?hazir=1 (girişsiz) / ?sihirbaz=1 (girişli). Niyeti doğru taşıyan tek kısayol — ama arama modalının arkasında, mobilde size-9 ikon butonla açılıyor (katalog-arama.tsx:379-386).

Yol G — Rehber (30g: 73 oturum → 5 sıra; %86 tek sayfa)

rehber-makale.tsx:115 — CTA kartı makalenin tamamının altında (mt-12), rehber/page.tsx:45 liste sayfasının altında. Yazı içinde funnel girişi yok.

Yol H — /listem doğrudan (boş durum)

/listem giriş duvarlı (listem-icerik.tsx:43 verifySession). Girişli + raporsuz kullanıcı: Sparkles + "Henüz Yapay Zeka listen yok" + profil yoksa CTA ana sayfaya atar (listem-bos-cta.tsx:30, href="/") → kullanıcı Yol A'nın 1. adımına döner. Profil varsa doğrudan ?uret=1 — bu dal doğru.

Yol I — /universite/*/sayfa/N (30g: 56 oturum → 0 sıra)

Üst satır burada da var (universite-icerik.tsx:352), ama sayfa metni "tablonun N. sayfası" bağlam cümlesi; listeye dair hiçbir vaat yok.


2. Her kapının hesabı

Kapı Şu anda gerekli mi? Ardında ne olduğu ekranda söyleniyor mu? Karar
K1 · Sıra girme Evet — tablo da, havuz da sıralamayla hesaplanıyor (liste-queries.ts). Doğru kapı, doğru yerde. Kısmen. Kompakt satır "Sıralaman {X} tabanlarının neresinde? Ücretsiz, üyelik gerekmez." diyor (cta-sira-form.tsx:354-362) — tabloyu vaat ediyor, listeyi değil. Kalsın, vaadi büyüt.
K2 · Sihirbaz (3 adım) Evet — havuzu kuran girdi (bkz. /meraklisina şeması, huni-semasi.tsx:16-19). Adım başına kayıp 1–3 kişi; sihirbazın kendisi sağlıklı. Hayır. Girişsizde son buton "Ücretsiz tablonu gör" (cta-sira-form.tsx:334, hero-form.tsx:222). Kullanıcı 3 adım doldurup "tablo" vaat ediliyor; yapay zekâ listesinden söz eden tek yer girişlilere gösterilen "(3 kredi)" etiketi. Kalsın, etiket vaadi söylesin.
K3 · Google girişi Evet (liste kullanıcıya bağlı, kredi sayacı hesapta). 6/6 deneme başarılı — mekanizma sorunu yok. Evet, iyi: /giris funnel dalında "Seçimlerin hazır — giriş yap, 5 deneme kredinle listen hemen üretilsin" (giris-karti.tsx:52-58). Kapının kendisi iyi; sorun oraya davet eden panelin görünmemesi. Kalsın.
K4 · Kredi (3/5) Evet ve zararsız: yeni hesapta 5 kredi var, ilk liste ücretsiz. Kısmen — "5 deneme kredin hazır" yalnızca /sonuc panelinde ve /giris'te. Katalog yolunda hiç geçmiyor. Kalsın.
K0 · Profil kapısının tanıtım adımı Hayır. + dışındaki tüm girişler dogrudanSira ile bu adımı zaten atlıyor. Kalan dalda ekran şu: "Tercihine ışık tutabilmemiz için önce ne istediğini öğrenelim" + 4 satır paragraf + Vazgeç / Tercihlerimi belirle (tercih-profili-kapisi.tsx:297-338). Hiçbir girdi toplamıyor. — Kaldırılabilir (bkz. Öneri 1 notu).

Özet: Gereksiz kapı yok; gerekçesiz kapı var. Kullanıcı K1 ve K2'yi "tablo görmek için" geçiyor, K3'e geldiğinde ilk kez yapay zekâ listesini duyuyor — ve o an sayfanın 3. ekranında.


3. Katalog köprüsü — 992a01a sonrası hâl yeterli mi?

Yetersiz, üç sebeple.

  1. Konum. Satır, h1'in değil, 8–9 satırlık SEO özet paragrafının altında (universite-icerik.tsx:287-290). 375 px'te üst uç ≈ 570 px, gönder butonu ≈ 840 px (koddan çıkarım: sticky başlık ~96 px + breadcrumb ~36 + logo/h1 bloğu ~144 + paragraf 8×28 ≈ 224 + mt-6). Yani buton ikinci ekranda. /bolum tarafında paragraf kısa (2 satır), satır ilk ekranda (bolum-icerik.tsx:265-268) — iki sayfa aynı davranmıyor.
  2. "Kompakt" yalnızca lg'de kompakt. flex-col gap-3 lg:flex-row (cta-sira-form.tsx:195) ve input/buton flex-col sm:flex-row (:227). 375 px'te: 5 puan türü çipi 2 satıra sarar (~66 px) + input 48 + buton 48 + başlık 2–3 satır → ~270 px, yani mobilde tek satır değil, bir blok. Mobilin %74'ü tek sayfada çıkıyor; bu blok tek ekrana sığmıyor.
  3. Vaat eksik. Kompakt dal kanıt üçlüsünü ve "Saniyede gör" eyebrow'unu render etmiyor (:296 koşulu). Ziyaretçiye "tabloda nerede olduğunu göster" deniyor; ürünün kendisi (24'lük liste) anlatılmıyor. docs/tasarim/cta-cekmece-tasarimi.md §1'deki "kart vaat eder → çekmece tahsil eder" algısı kompakt varyantta vaat kısmı düşerek uygulanmış.

4. /sonuc ve /listem — sihirbazı bitiren ne görüyor?

/sonuc sırası (sonuc/page.tsx:102-126): ManuelHarita → SonucProgramTablosu → TadimlikBolumu → SonucSihirbazi → dipnot.

  • İlk ekran boş bir kutu. Manuel liste boşken (yeni gelen herkeste boş) aspect-[1050/447] gri alan + "Tablodan + ile ekledikçe üniversiteler haritada belirir." (manuel-harita.tsx:71-79). 375 px'te ~143 px. Ödül sayfasının en üstünde, kullanıcının hiç kullanmadığı bir özelliğin boş durumu duruyor.
  • Tablo uzun. Dilim başına 20 satır (liste-queries.ts:43), satır ~64 px → ~1.280 px (koddan çıkarım).
  • Tadımlık ~1.500 px'te, yapay zekâ paneli ~2.200 px'te (≈ 3,5 ekran). Ölçümle tutarlı: panel 17 anonimin 6'sına göründü, tadimlik_goruntulendi = 0.
  • "Kaç saniyede geliyor" hiçbir yerde yazmıyor. Süre bilgisi yalnızca üretim başladıktan sonra, /listem'de görünüyor: "Bu işlem yarım dakika kadar sürebilir, sayfayı kapatma." (liste-uretici.tsx:271). Karar anında (panel, sihirbaz son butonu) süre vaadi yok.
  • Panel metni uzun. 3 cümlelik tek paragraf + parantez içi kredi açıklaması (sihirbaz-cagri-karti.tsx:286-291); 375 px'te ~8 satır.

/listem boş ekranı bir ilk kullanıcıya: giriş duvarının arkasında olduğu için ilk kullanıcı buraya ancak giriş yaptıktan sonra düşer. Gördüğü: Sparkles + "Henüz Yapay Zeka listen yok" + tek paragraf + tek buton. Profil yoksa buton ana sayfaya atıyor (listem-bos-cta.tsx:30) — kullanıcı sıfır noktasına döner. Ekranda ne alacağını gösteren hiçbir görsel yok (örnek satır, iskelet, ekran görüntüsü).


5. Değer önizlemesi — üretmeden önce ne gösteriliyor?

Yüzey Önizleme var mı?
Ana sayfa Yok. Bölümler: Sorun / Nasıl çalışır (3 metin kartı) / Karşılaştırma tablosu / Fiyat / SSS / final CTA (app/page.tsx:267-660). Listenin çıktısından tek bir satır bile gösterilmiyor.
Katalog (/bolum, /universite) Yok.
Rehber Yok.
/meraklisina Kurallar + mermaid şeması + kendi sıralamasına göre güncellenen sayılar (meraklisina-demo.tsx:105-130) — süreç anlatımı, çıktı değil.
/sonuc Var ama görülmüyor: TadimlikSatiri gerçek rapor formatında tek satır (gerekçe + risk rozeti + trend, tadimlik-satiri.tsx:113-191). tadimlik_goruntulendi 30g = 0.

Önemli teknik imkân: tadimlikSec(sira, tur, kategoriSlug?, tip?) (lib/tadimlik-havuzu.ts:107) kovaya göre çalışıyor ve her kovanın temsiliSira değeri sabit (:24-32). Yani ziyaretçinin sıralamasını bilmeden de ("örnek bir aday için" etiketiyle) gerçek bir tadımlık satırı render edilebilir; havuz canlıda dolu (522 satır). Yeni içerik üretimi, yeni LLM çağrısı, yeni bileşen gerekmiyor — mevcut TadimlikSatiri başka yüzeylere taşınabilir.


6. Tasarım önerileri (6)

Ortak kural: hiçbir öneri yeni rozet/pill/çarpı/buton varyantı icat etmez. Rozet gerekirse SectionEyebrow (pixel-decor.tsx), CTA'da metin önce + sonda <ArrowRight className="size-4" aria-hidden />, çekmece/modal kapatma çarpısı dialog.tsx kanonik seti. /meraklisina şeması (huni-semasi.tsx:16-30) sihirbaz adım sayısını/sırasını ve havuz kurallarını belgeler; aşağıdaki önerilerin hiçbiri adım sayısını, sırasını, havuz kurallarını veya 24'lük dağılımı değiştirmiyor → şema senkronu gerekmiyor (Öneri 1'de yalnızca sihirbaz sonrası yönlendirme değişiyor, şemada o yok).

Ö1 — Kapı azaltma: sihirbazı bitiren herkes listeye çıksın (ölü uçları kapat)

(a) Ne değişiyor: + toast'ındaki "Sıralamamı gir" (program-ekle-butonu.tsx:82) ve liste çekmecesindeki eşi (liste-cekmecesi.tsx:298) profilToplamaAc(null, …) yerine profilToplamaAc("sihirbaz", …) çağırsın; navbar girişi (katalog-arama.tsx:115, sonucaGitIste → hedef:"sonuc") de "sihirbaz" hedefine geçsin. Ayrıca profilTamamlandi'nin hedef == null dalı (use-tercih-profili.ts:346) sonucHref({ hazir: "1" }) döndürsün — sihirbazı bitirmiş hiç kimse "kaydedildi" toast'ıyla yerinde bırakılmasın. tercih-profili-kapisi.tsx:238'deki başarı toast'ı bu dalda gereksizleşir (akış devam ediyor, bitmiyor). (b) Neden: 30g'de en büyük sıra kaynağı kapi (14 olay) ve duzenle (5) bu ölü uçta bitiyor; ikisi birlikte tüm sıra girişlerinin ~%55'i. Kullanıcı K1 ve K2'yi geçmiş, tek eksik ona listeyi teklif etmek. Bu, liste yolunu 3 ekran kısaltır (kataloğa dönüp tekrar funnel'a girmek yerine doğrudan ödül ekranı). (c) Büyüklük: S (davranış; src/ içinde 4–5 satır). (d) Kural uyumu: görsel değişiklik yok; şema etkilenmez. Ölçüm: sira_girildi{kaynak:kapi} → sonuc_goruntulendi zinciri ilk kez kurulur.

Not (ayrı, opsiyonel): profil kapısının tanıtım adımı (tercih-profili-kapisi.tsx:297-338) hiçbir girdi toplamıyor ve dogrudanSira ile zaten çoğu yolda atlanıyor. ilkAdim'ı her zaman "sira" yapmak bir ekran daha siler. S.

Ö2 — Mobil tek ekran: katalog üst satırı başlığın altına, gerçekten tek satıra

(a) Ne değişiyor: /universite/[slug]'da ustSiraSatiri SEO özet paragrafının üstüne, h1'in hemen altına alınsın (universite-icerik.tsx:287-290 → :285 öncesi; /bolum zaten böyle). Kompakt varyantın mobil düzeni: (i) puan türü çipleri varsayılan "Sayısal" seçili tek satırda yatay kaydırmalı şeride (flex-nowrap overflow-x-auto + -mx-4 px-4) alınsın ya da başlangıçta gizlenip "Puan türü: Sayısal · değiştir" satırıyla açılsın; (ii) input + buton mobilde de yan yana (flex-row, buton shrink-0, yalnız ikon değil kısa metin: "Gör"→hayır, metin "Programları gör" kalsın, gerekirse buton alt satırda tam genişlik kalsın ama çipler tek satıra insin). Hedef: bloğun toplam yüksekliği ~270 px'ten ~150 px'e insin ve üst uç ~380 px'e çıksın → 375×667'de input + buton ilk ekranda. (b) Neden: Katalog 464 oturum → 12 sıra (%2,6); mobil bounce %74. 992a01a satırı yukarı taşıdı ama /universite'de paragrafın altında ve mobilde tek satır değil (bkz. §3). (c) Büyüklük: M. (d) Kural uyumu: mevcut çip class seti (hero formuyla birebir) korunur; CTA deseni değişmez; yeni pill yok. Yatay kaydırmalı şeride geçilirse kaydırma göstergesi metinle desteklenmeli, çipler role="radio" kalmalı.

Ö3 — Değer önizlemesi kapıdan önce: tadımlık satırını kataloğa ve ana sayfaya taşı

(a) Ne değişiyor: Mevcut TadimlikSatiri bileşeni (yeni bileşen değil) iki yeni yerde render edilsin: · Katalog: üst sıra satırının hemen altında, SectionEyebrow'u "Yapay zekâdan örnek satır" olarak, üstünde tek cümle: "Sıralamanı girince listendeki 24 satır böyle görünür." Sıra bilinmiyorsa kovaBul().temsiliSira ile "örnek bir aday için" etiketli hâli (tadimlik-havuzu.ts:24-32, 107); bölüm sayfasında bölümün kategorisi kategoriSlug olarak verilebilir. · Ana sayfa: "Nasıl çalışır?" bölümünün 3 kartının altına, steps metinlerinin karşılığı olarak tek gerçek satır (app/page.tsx:340-358 sonrası). Çekmecenin sıra adımındaki kanıt üçlüsü kompakt dalda da gösterilsin (cta-sira-form.tsx:296 koşulunun kompakt dalı). (b) Neden: Ürünün çıktısı hiçbir yerde üretilmeden önce gösterilmiyor (§5); tek örnek /sonuc'un dibinde ve 30 günde 0 kez görüldü. "Bu kapının ardında ne var?" sorusunun cevabı budur. (c) Büyüklük: M (yerleştirme + sırasız/kova varyantı; içerik hattı hazır). (d) Kural uyumu: SectionEyebrow kanonik rozet; risk rozeti zaten metin etiketli (RISK_ETIKET, lib/risk.ts:9) — renk tek başına anlam taşımıyor. Tadımlık CTA'sı mevcut ok desenini kullanıyor (tadimlik-satiri.tsx:186-188).

Ö4 — /sonuc'u ödül sayfası yap: sıralamayı tersine çevir

(a) Ne değişiyor: sonuc/page.tsx:102-126 sırası şu olsun: (1) kısa ödül başlığı + yapay zekâ paneli (hazır panel / genel panel) → (2) tadımlık (girişsizde) → (3) program tablosu → (4) manuel harita, ve harita boşken hiç render edilmesin (manuel-harita.tsx:69-80 boş dalı null dönsün; CLS riski yok çünkü tablonun üstünde değil altında). Panel metni 3 cümleden 1 cümleye insin: başlık "Seçimlerin hazır — listen bir adım uzakta", gövde "Google ile 5 saniyede giriş yap; 5 deneme kredinle 24 tercihlik listen ~30 saniyede kurulur." (süre ilk kez karar anında söylenir, kaynak liste-uretici.tsx:42-44). (b) Neden: Anonim kullanıcı /sonuc'ta medyan 33 sn kalıyor ve panele inmiyor; panel 6/17 gösterim, 0 tık. Ödül sayfasının ilk ekranı şu an kullanılmamış bir özelliğin boş durumu. (c) Büyüklük: M. (d) Kural uyumu: panel bileşeni ve CTA deseni aynen kalır; yalnız sıra ve metin değişir. "Ücretsiz tablo her zaman açık" güvencesi panelde tek cümleyle korunmalı (vaatsizlik).

Ö5 — /sonuc mobil sabit alt çubuk (anonim + seçimleri hazır)

(a) Ne değişiyor: Yeni bileşen değil: sihirbaz-cagri-karti.tsx'in girisBekliyor dalına, yalnız max-sm'de görünen sticky bir satır. İçerik: "Listeni kaybetme — Google ile kaydet" + <ArrowRight className="size-4" aria-hidden />, hedef girisUrl, olay giris_cta_tiklandi{kaynak:"sonuc_cubuk"}. Teknik gereklilikler: position: sticky; bottom: 0 (fixed değil — klavye açılınca zıplamasın), yükseklik ≥ 56 px, pb-[max(0.75rem,env(safe-area-inset-bottom))], sayfa altına eşdeğer scroll-padding/boşluk ki dipnot çubuğun altında kalmasın, prefers-reduced-motion'da giriş animasyonu yok. (b) Neden: Panel mobilde 3,5 ekran aşağıda; anonim mobil oturumların medyan kalış süresi 33 sn. Çubuk görünürlüğü %100'e çıkarır. (c) Büyüklük: S–M. (d) Kural uyumu: CTA deseni (metin önce, sonda ok) birebir; yeni renk/pill yok; layout'taki pb-28 (app/layout.tsx:95) ile çakışma kontrol edilmeli.

Ö6 — Dil birliği: kapının ardındaki ödülü her etikette söyle

(a) Ne değişiyor: Üç etiket: · Sihirbaz son butonu, girişsiz: "Ücretsiz tablonu gör" → "Listeme geç — ücretsiz tablon + yapay zekâ listen" ya da kısa hâli "Devam et — listeni gör" (cta-sira-form.tsx:334, hero-form.tsx:222, sihirbaz-cagri-karti.tsx:348). · Kompakt satır başlığı: "Sıralaman {X} tabanlarının neresinde?" + "Ücretsiz, üyelik gerekmez" cümlesine ikinci cümle: "Sıralamanı girince yapay zekâ 24 tercihlik listeni de kurabilir." (cta-sira-form.tsx:354-362). · /listem boş durumda profil yokken CTA ana sayfaya atmasın; aynı sayfada profil kapısını açsın (profilToplamaAc("sihirbaz")) — listem-bos-cta.tsx:30. (b) Neden: Kullanıcı "tablo" vaadiyle 3 kapı geçiyor, ürünü /sonuc'un dibinde öğreniyor (§2). Boş /listem CTA'sı kullanıcıyı huninin başına geri atıyor. (c) Büyüklük: S. (d) Kural uyumu: yalnız metin + bir href; CTA ok deseni korunur. Yeni metinler vaat içermez ("kurabilir", "gör" — "yerleşirsin" değil).


7. Yan bulgular — tek kaynak / erişilebilirlik ihlalleri (öneri dışı, ucuz)

Dosya:satır Kural / sorun Kullanıcıya etkisi Düzeltme Büyüklük
sihirbaz-cagri-karti.tsx:269 AGENTS.md CTA deseni: <Link href="/listem">Listeni gör</Link> — sondaki ArrowRight yok Raporu olan kullanıcının gördüğü tek CTA sitedeki diğerlerinden farklı duruyor Listeni gör<ArrowRight className="size-4" aria-hidden /> S
sira-gerekli.tsx:61-62 CTA deseni: Trophy ikonu metnin başında ("başta ikon yok") Aynı eylem iki farklı biçimde İkonu kaldır, sonda ArrowRight S
liste-uretici.tsx:220-221 CTA deseni: RefreshCcw metnin başında ("Tekrar dene") Hata ekranındaki tek buton desen dışı İkon sona ya da kaldırılsın S
liste-cekmecesi.tsx:297, 307 <ArrowRight data-icon="inline-end" /> — aria-hidden yok, kanonik className="size-4" aria-hidden değil (listem-govde.tsx:290,371 aynı yazım ama aria-hidden'lı) Aynı ok üç farklı yazımda Tek yazıma indir S
tercih-profili-kapisi.tsx:393-398 Aynı eleman iki stilde: puan türü burada Select, hero/CTA formunda role="radiogroup" çipler (hero-form.tsx:143-164, cta-sira-form.tsx:199-220) Kullanıcı aynı soruyu iki farklı arayüzle cevaplıyor Çip radiogroup'a birle (tek kaynak) M
katalog-arama.tsx:343, 366, 379 Mobilde funnel'ın kalıcı girişi h-9 / size-9 = 36 px dokunma hedefi (< 44 px) Trafiğin %90'ı mobil; ana funnel girişi ve arama küçük h-11/size-11'e çıkar (ya da dokunma alanını ::before ile büyüt) S
arama-funnel-karti.tsx:28, 42 Vaat/korku dili: "Doğru strateji, doğru yerleşme.", "Boş kalan tercih, kaçan fırsattır." — ürünün "yerleşme garantisi vermiyoruz" duruşuyla (app/page.tsx:393) çelişiyor Güven mesajını zayıflatıyor İki satırı çıkar ya da yeniden yaz S
arama-funnel-karti.tsx:105, 125 Palet dışı yüzey: bg-[#0b1f3a] + text-cyan-300; sitenin funnel yüzeyi bg-primary + PixelField (sihirbaz-cagri-karti.tsx:275, liste-cekmecesi.tsx:269) Aynı işlevli panel iki ayrı marka dilinde [BİLAL] — renk paleti kararı S
arama-funnel-karti.tsx:63 vs cta-sira-form.tsx:49 Aynı kanıt üçlüsü iki farklı etiketle ("24 tercih" / "24 tercihlik plan") ve iki renkte Küçük ama ölçülebilir tutarsızlık Tek sabit hâline getir S

8. Bilal'in gözle kontrol etmesi gereken ekranlar (375 px, mobil)

  1. /universite/<uzun-adli-bir-üniversite> — kompakt sıra satırının üst ucu ilk ekranda mı, gönder butonu görünüyor mu; çipler kaç satıra sarıyor.
  2. /bolum/hemsirelik — aynı satır (burada paragraf kısa; iki sayfa arasındaki fark ne kadar büyük).
  3. /sonuc (sıralama girmiş, girişsiz) — ilk ekranda boş gri harita kutusu görünüyor mu; yapay zekâ paneline kaç kaydırma gerekiyor; tadımlık görünüyor mu.
  4. Katalog tablosunda + → toast → "Sıralamamı gir" → sihirbazı sonuna kadar doldur — ekran nerede kalıyor (Ö1'in kanıtı).
  5. Navbar'daki "Sıralama gir" pill'i — parmakla ilk denemede isabet ediyor mu (36 px).
  6. /listem (girişli, listesiz) — boş ekran ve CTA'nın gittiği yer.

9. Bilal'den istenen (en fazla 3)

  1. Yukarıdaki 6 ekranı telefonda sırayla aç, 3 ve 4 numaralıların ekran görüntüsünü ekibe bırak — 10 dk.
  2. Ö1'i (sihirbazı bitiren herkes /sonuc'a çıksın) onayla ya da reddet; en büyük sıra kaynağını huniye bağlayan tek değişiklik bu — 2 dk.
  3. Arama funnel kartının koyu lacivert/cyan yüzeyi kalsın mı, bg-primary funnel diline mi dönsün — marka kararı — 2 dk.