Çok ajanlı gece vardiyasının çıktıları: analitik (Rybbit) bulguları, SEO/GEO konu planı, marka stratejisi, canlı mail testi, CEO kararları (2 tur), CTO şartnamesi, yazar/yazılımcı raporları, bağımsız kod denetimi ve sabah özeti (yazılı + sesli). Kod değişiklikleri gece/* dallarında. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
29 KiB
01 — Analitik bulgular (Rybbit, site_id=1)
Hazırlayan: Analitik ajanı · 2026-09-21 gece vardiyası · Saat dilimi: Europe/Istanbul Pencereler: 7g = 15–21 Eyl · 30g = 23 Ağu–21 Eyl · Tüm zamanlar = 2 Ağu–21 Eyl · Organik dönem = 18 Ağu–21 Eyl (Google trafiğinin başladığı gün; iç test trafiğinden en temiz kesit). Yalnızca okuma araçları kullanıldı; Rybbit'te hiçbir şey oluşturulmadı/değiştirilmedi. Kod değiştirilmedi.
Yönetici özeti (5 madde)
- Gerçek kullanıcıdan ödeme başlatan yok. Organik dönemdeki 13
odeme_baslatildiolayının 13'ü de iç hesaplardan (kurucu + test hesapları). İç kullanıcılar filtreleninceodeme_baslatildi= 0,/paketgörüntüleyen = 2 oturum.odeme_tamamlanditüm zamanlarda 3 olay / 1 oturum (9–15 Ağu haftası; iç test olabilir — sipariş tablosundan doğrulanmalı). Yani bugün "ödeme hunisi" ölçülecek kadar veri üretmiyor; darboğaz daha yukarıda. - Trafiğin ~%75'i Google organik ve ~%70'i katalog sayfalarına (/universite, /bolum) iniyor; bu sayfalar huniye neredeyse hiç beslemiyor. /universite girişli 580 oturumun yalnızca 14'ü (%2,4) sıra giriyor; bounce %68. Ana sayfaya inen oturumlarda bu oran ~%10. Buna karşın katalog ziyaretçisi "listeye program ekle"yi seviyor: organik dönemde 91 oturum (%10, %93'ü mobil)
program_eklendiyaptı — ama bunların sadece 7'si (%7,7) sıra girdi. En büyük fırsat: katalog sayfasından sihirbaza/kayda köprü. - Trafik sezonla birlikte çöktü. Haftalık oturum: 381 (18–24 Ağu) → 256 → 131 → 70 → 86 (15–21 Eyl). Son 7g: 86 oturum / 79 kullanıcı. Tercih dönemi dışındayız; önümüzdeki aylarda hacim düşük kalacak → şimdi ölçüm + içerik altyapısı zamanı, A/B testi zamanı değil.
- Huninin gerçek düşüş noktası /sonuc → /giris. Gerçek kullanıcıda (organik dönem, iç hesaplar hariç): sıra girildi 36 → sihirbaz tamam 29 (%81) → /sonuc 24 → /giris 5. Sihirbazın kendisi sağlıklı (adım bazında kayıp %3–11); kayıp giriş duvarında. Örneklem küçük (n=24–36), yön gösterir, oran kesin değil.
- Ölçüm altyapısında 4 somut delik var: (a) iç trafik dışlanmıyor ve tüm KPI'ları şişiriyor, (b)
kaydet_banner_goruntulendivetadimlik_goruntulendiolayları bir hook hatası yüzünden hiç atılmıyor (0 kayıt), (c) Web Vitals site ayarında kapalı (0 performans olayı), (d) Google OAuth dönüşü yeni oturum + "Organic Search" olarak sayılıyor, huniyi bölüyor. Ayrıca giriş yapan kullanıcıların e-posta+adı Rybbit'e trait olarak gidiyor, IP takibi açık — KVKK/gizlilik metni açısından CEO kararı gerekir.
Veri güvenilirliği — önce bunu oku
- Örneklem küçük. Tüm zamanlar 1.220 oturum / 941 kullanıcı; son 7g 86 oturum. Huni adımlarında n çoğu zaman < 40. Aşağıdaki yüzdeler "yön"dür; %5'lik farklara anlam yüklemeyin.
- 2–17 Ağu dönemi ağırlıklı iç test trafiği. 296 oturum, 126 kullanıcı, oturum başı 5,9 sayfa, 349 sn, bounce %29; şehir dağılımında İstanbul+Sancaktepe %66 (
get_breakdown city, 2–17 Ağu). Bu dönem "tüm zamanlar" ortalamasını olduğundan iyi gösteriyor (bounce %60 / 132 sn). Gerçek taban çizgisi organik dönemdir: 925 oturum, 820 kullanıcı, bounce %70, 2,1 sayfa/oturum, 62 sn (get_overview18 Ağu–21 Eyl). - İç kullanıcılar organik dönemde de veriyi kirletiyor: bilinen iç cihaz/hesap kimlikleriyle 48 oturum, 136 sayfa görüntüleme (
get_overview+user_idfiltresi). Ödeme olaylarının tamamı bunlardan. - Bounce eden oturumda "sayfada kalma süresi" tanım gereği 0'dır; rehber yazılarındaki 0–5 sn'lik süreler okuma süresi değil, tek sayfalık oturum oranının yansımasıdır.
/sonucsayfa görüntülemeleri şişkin (143 oturumda 1.602 görüntüleme):trackUrlParamsaçık, sonuç sayfasındaki her filtre/URL parametresi değişimi yeni pageview sayılıyor. Sayfa/oturum metriğini yukarı çeker.- Araç kısıtları:
get_goalsşema hatasıyla döndü (okunamadı);analyze_funnelbir adım 0'a düşünce hata veriyor, bu yüzden huni 3–4 adımlık parçalar halinde ölçüldü. Kayıtlı huni yok (get_funnels→ boş).
1. Genel KPI ve trend
| Pencere | Oturum | Kullanıcı | Sayfa/oturum | Bounce | Ort. süre |
|---|---|---|---|---|---|
| Son 7g (15–21 Eyl) | 86 | 79 | 2,16 | %67,4 | 78 sn |
| Önceki 7g (8–14 Eyl) | 70 | 63 | 2,31 | %70,0 | 70 sn |
| Son 30g | 646 | 568 | 2,07 | %69,8 | 64 sn |
| Organik dönem (18 Ağu+) | 925 | 820 | 2,12 | %70,1 | 62 sn |
| Tüm zamanlar | 1.220 | 941 | 3,03 | %60,2 | 132 sn |
Kaynak: get_overview (her pencere ayrı sorgu), get_overview_timeseries günlük.
Haftalık oturum (günlük seriden toplandı): 18–24 Ağu 381 · 25–31 Ağu 256 · 1–7 Eyl 131 · 8–14 Eyl 70 · 15–21 Eyl 86. Zirve günü 20 Ağu (76 oturum). Düşüşün tercih/ek tercih takvimiyle örtüştüğü varsayılıyor — ÖSYM 2026 takvim tarihleri doğrulanmalı.
2. Trafik kaynakları
- Kanal (tüm zamanlar): Organic Search 896 (%73,4) · Direct 316 (%25,9) · AI 6 (%0,5) · Referral 1. 30g: Organic %77,9, Direct %22,0, AI 1 oturum. 7g: Organic 65, Direct 21, AI 0. (
get_breakdown channel) - Referrer (tüm zamanlar): google.com 815 · accounts.google.com 58 · search.google.com 10 · google.com.tr 7 · gemini.google.com 5 · Gmail uygulaması 3 · duckduckgo 1 · temp-mail.org 1 (muhtemelen mail QA testi).
- AI/LLM referrer'ları: toplam 6 oturum — gemini.google.com 5 + utm_source=chatgpt.com 1. 5'i 2–17 Ağu döneminde; son 30 günde 1, son 7 günde 0. Perplexity/Copilot yok. İndikleri sayfalar: /, /bolum/bilgisayar-muhendisligi, /rehber/ais-tercih-nasil-yapilir-onaylama, 3 üniversite sayfası. GEO paketi (
53eb07b) sonrası etkiyi ölçmek için henüz veri yok; hacim istatistik yapılamayacak kadar düşük. - Bir ziyaretçi/bot
/llm.txtistedi (7g, 1 oturum). Repodallms.txt/llm.txtrotası yok (src/app/altında yalnızrobots.ts,sitemap.ts). - UTM: chatgpt.com dışında hiç UTM'li trafik yok → bugüne kadar ölçülebilir hiçbir kampanya/sosyal paylaşım yapılmamış. Bing/Yandex organik de yok (yalnız Google + 1 DuckDuckGo).
- Ölçüm hatası: accounts.google.com referrer'lı 58 oturum "Organic Search" sayılıyor (bounce %8,6). Bunlar Google ile giriş dönüşleri; giriş sayfası dağılımı da bunu doğruluyor (/listem 27, /sonuc 15, /giris 8, /paket 8 oturum giriş sayfası olarak görünüyor). Organik trafiği ~%6 şişiriyor ve OAuth dönüşünde oturumu bölüyor olması kuvvetle muhtemel.
3. Giriş/çıkış sayfaları ve /rehber performansı
Giriş sayfası kırılımı (tüm zamanlar, get_overview + entry_page starts_with):
| Giriş grubu | Oturum | Bounce | Sıra giren oturum | Oran |
|---|---|---|---|---|
| /universite/* | 580 (%47,5) | %68,3 | 14 | %2,4 |
| / (ana sayfa) | 275 (%22,5) | %38,9* | 64 (322 oturumun) | ~%20* / organik dönemde 12/121 ≈ %10 |
| /bolum/* | 159 (%13,0) | %70,4 | ≤7 | ≤%4,4 |
| /rehber/* | 127 (%10,4) | %75,6 | 13 | %10,2 |
* İç test trafiğiyle şişkin; 30g'de ana sayfa bounce'u %60,4.
- En çok giriş alan tekil sayfalar: / (275), /universite/sabanci-universitesi (38), /listem (27, OAuth dönüşü), /rehber/yerlesemedim-ne-yapmaliyim (19), /universite/selcuk-universitesi/sayfa/5 (19), izmir-kavram-myo (18), manas (18), /rehber/siralama-sartlari-2026 (17), /rehber/tercih-listesi-nasil-yapilir (17), /bolum/hemsirelik (16).
- Sayfalama URL'leri Google'dan giriş alıyor: organik dönemde
/universite/*/sayfa/Ngirişli 77 oturum (%8,3), bounce %68,8. Kullanıcı bir üniversitenin 5. sayfasına düşüyor, bağlamı yok. - En çok çıkış: / (212), /listem (39), sabanci (36), /sonuc (35), /giris (29), /paket (21). /sonuc + /giris + /paket toplam 85 çıkış = huni içi terk.
- Niş bölüm sayfaları beklenmedik giriş alıyor: rus-dili-ve-edebiyati (30g: 9, 7g: 5), cagdas-turk-lehceleri, nufus-ve-vatandaslik, farsca-mutercim, uygulamali-ispanyolca — düşük rekabetli uzun kuyruk işliyor.
- Eski alan adından kalma URL'ler 404'e düşüyor:
/aydin-adnan-menderes-universitesi-2019-taban-puanlari-ve-basari-siralamalari,/2017-elektrik-elektronik-muhendisligi-basari-siralamalari-ve-taban-puanlari,/blog/2021-tyt-konulari(1'er oturum). Alan adının eski backlink'leri var demek; hacim küçük ama Search Console'dan tam liste çıkarılmalı. - Bozuk gelen URL'ler:
/universiteler:%3EÜniversitelerin(3 oturum),/rehber/tercih-robotu-...:J<b>Tercih(1). Bir dış kaynak/scraper linki bozuk kopyalamış; düşük öncelik.
/rehber yazıları (tüm zamanlar, get_breakdown pathname starts_with /rehber; oturum / görüntüleme / bounce)
| Durum | Yazı | Oturum | Bounce |
|---|---|---|---|
| Çekiyor | tercih-listesi-nasil-yapilir | 27 | %48 |
| Çekiyor | kac-siralama-ile-hangi-bolume-girebilirim | 23 | %52 |
| Çekiyor ama tutmuyor | yerlesemedim-ne-yapmaliyim | 23 | %74 (30g girişlerinde %100) |
| Çekiyor, iyi tutuyor | olu-tercih-nedir | 19 | %26 |
| Çekiyor ama tutmuyor | siralama-sartlari-2026 | 19 | %74 |
| Orta | yks-tercih-takvimi-2026 | 12 | %42 |
| Orta | tercih-robotu-nedir-yok-atlas-nasil-kullanilir | 11 | %55 |
| Orta | ais-tercih-nasil-yapilir-onaylama | 10 | %80 (ama ort. 127–137 sn okunuyor) |
| Zayıf | ek-yerlestirme-2026 (7), hazirlik-sinifi (6, %100 bounce), tercih-sonuclari (5), yatay-gecis (5), bolum-mu-universite-mi (4), onlisans-mi-lisans-mi (4), universite-kayit-rehberi (4), merkezi-yerlestirme (3), yurt-burs (3), obp (2), devlet-mi-vakif-mi (1), ozel-kosullu-programlar (1) | ||
| Ölü (0 görüntüleme) | taban-puan-mi-siralama-mi, taban-siralamalar-nasil-degisir, bolumun-is-imkanini-nasil-arastirirsin, veliler-icin-tercih-rehberi | 0 | — |
24 yazının tamamı 1–7 Ağu arasında yayınlandı (git log); 7 haftada 4'ü hiç görüntülenmedi, 12'si ≤7 oturum aldı. Rehber girişli oturumların sıra girme oranı (%10,2) katalog sayfalarının 4 katı — rehber az trafik çekiyor ama çektiği trafik daha niyetli.
4. Huni
Gerçek rotalar (src/app): / → (sihirbaz modal, ayrı rota yok: src/features/sihirbaz/components/sihirbaz-modal.tsx) → /sonuc → /giris (+/giris/dogrula) → /listem → /paket → /odeme → /odeme/sonuc. Sihirbaz adımları yalnızca olaylarla ölçülebilir (sira_girildi, sihirbaz_adim{adim}, sihirbaz_tamamlandi).
A. Gerçek kullanıcı hunisi — organik dönem, iç hesaplar user_id not_equals ile dışlandı (analyze_funnel):
| Adım | Oturum | Önceki adıma göre |
|---|---|---|
| sira_girildi | 36 | — |
| sihirbaz_adim adim=2 | 32 | %89 |
| sihirbaz_adim adim=3 | 31 | %97 |
| sihirbaz_tamamlandi | 28–29 | %90 |
| /sonuc görüntüleme | 24 | %83 (bkz. not) |
| /giris görüntüleme | 5 | %21 |
Ayrı sorgu (/sonuc'tan başlayan, aynı filtre): /sonuc 30 → /giris 9 (%30) → giris_denendi 5 (%17). Aynı dönemde gerçek kullanıcıda: giris_denendi 10 olay, liste_olusturuldu 3, kilit_goruntulendi 7, /listem 8 oturum, /paket 2 oturum, odeme_baslatildi 0.
Not: sihirbaz_tamamlandi → /sonuc arasındaki %17'lik "kayıp" büyük olasılıkla ölçüm kaynaklı: sihirbaz /sonuc üzerindeki profil kapısından da açılabiliyor (src/features/liste/components/tercih-profili-kapisi.tsx), o durumda yeni pageview oluşmuyor ve sıralı huni eşleşmiyor. Gerçek terk olarak yorumlanmamalı.
B. Ana sayfa → sıra girme (organik dönem): mobil 56 → 5 (%8,9) · masaüstü 65 → 7 (%10,8). Tüm zamanlar: 322 → 64 (%19,9; iç testle şişkin), 7g: 24 → 6. 36 sıra girişinin yalnız 12'si ana sayfadan; 24'ü katalog/rehber sayfalarındaki formlardan (cta-sira-form / profil kapısı) geliyor.
C. Tüm zamanlar, iç trafik dahil (referans için, karar için kullanmayın): / 322 → sıra 64 → tamam 55 → /sonuc 43; /sonuc 141 → /giris 53 → giris_denendi 32 → /listem 17; /listem 76 → /paket 20 → odeme_baslatildi 11 oturum. odeme_baslatildi 94 olay / 23 oturum / 6 kullanıcı, hepsi iç hesap veya tanıdık test hesabı (oturum listesinden doğrulandı; son 7g'deki 9 olayın 9'u tek bir kurucu oturumu, 20 Eyl).
D. Katalog tarafı: program_eklendi organik dönemde 128 olay / 91 oturum; bu oturumların 7'si sonradan sıra girdi (%7,7). netler_goruntulendi 239 olay — katalogdaki en çok kullanılan etkileşim. /bolum/hemsirelik → /giris yolu 8 kez görüldü (get_journeys), yani katalogdan giriş duvarına çarpan bir akış var.
5. JS hataları (get_errors, tüm zamanlar — toplam 7 olay, 5 oturum; hacim çok düşük)
| Hata | Adet / oturum | Sayfa | Olası kaynak |
|---|---|---|---|
TypeError: f.getBBox is not a function |
2 / 2 (ikisi de son 30g) | /rehber/* (pathname filtresiyle doğrulandı; /meraklisina'da yok) |
src/features/rehber/components/el-cizimi-sema.tsx:55-74 — mermaid.render() çağrısında .catch yok. Hata olursa svg state'i hiç dolmuyor, kullanıcı sonsuza dek h-96 animate-pulse iskeletini görüyor (satır 92-96). 24 rehber yazısının 24'ünde mermaid şeması var. |
HierarchyRequestError: insertBefore … new child contains the parent |
3 / 1 (30g'den eski) | sayfa tespit edilemedi | Tek oturum; büyük olasılıkla tarayıcı eklentisi/çeviri aracı ya da portal kullanımı (ViewportPortal). Tekrarlamadıkça izle. |
ChunkLoadError: Failed to load chunk /_next/static/chunks/… |
1 / 1 | /, /sonuc veya /listem (Safari/GSA) |
Deploy sırasında açık sekme eski chunk'ı istiyor. src/app/error.tsx içinde ChunkLoadError'da tek seferlik location.reload() yoksa eklenmeli. |
Minified React error #418 (hydration metin uyuşmazlığı) |
1 / 1 | /universite, /bolum veya /rehber altı |
Sunucu/istemci farklı metin: tarih/sayı biçimlendirme (toLocaleString), "veri tazelik" damgası (GEO paketi 53eb07b) ilk şüpheli. |
6. Web Vitals
Veri yok. get_site → webVitals: false; get_web_vitals → total_performance_events: 0, tüm yüzdelikler null. LCP/INP/CLS hakkında Rybbit'ten hiçbir şey söylenemez; mobil/masaüstü ayrımı yapılamadı. Trafiğin %79'u mobil ve mobil bounce masaüstünden 12 puan kötü olduğu için bu körlük önemli. Açmak site ayarı değişikliği gerektirir (bu vardiyada yasak) → kullanıcı Rybbit panelinden "Web Vitals"ı açmalı.
7. Cihaz / tarayıcı / konum
- Cihaz (organik dönem): Mobil 735 (%79,5), bounce %72,5 · Masaüstü 190 (%20,5), bounce %60,5. Tüm zamanlar %71/%29.
- Tarayıcı (30g): Mobile Chrome %41,4 · Mobile Safari %24,3 · Chrome %21,0 · GSA (Google uygulaması içi tarayıcı) %9,1 · Samsung Internet %1,7. OS: iOS %39,0, Android %38,3, Windows %15,9, macOS %5,9.
- Şehir (30g): İstanbul %24, bilinmeyen %14, Ankara %10,7, İzmir %5,7, Bursa %3,4, Kayseri %2,8, Antalya %2,3. Ülke: TR %89,6; US %3,9 + CN %1,6 + SG %1,2 büyük olasılıkla bot/datacenter (blockBots açık olmasına rağmen sızan ~%7).
- Mobil huni farkı: sıra giren oturumların %72'si mobil (26/36) — trafik payıyla (%79) uyumlu, mobilde belirgin bir sihirbaz engeli görünmüyor.
program_eklendiyapanların %93'ü mobil (85/91). Tüm zamanlar hunisinde mobil /→sıra %15,0, masaüstü %23,1 ama masaüstü iç testle şişkin. Sonuç: eldeki veriyle "mobilde huni bozuk" denemez; n çok küçük.
8. Retention
get_retention haftalık (90g): 17 Ağu kohortu 312 kullanıcı → 1. hafta %1,3, 2. hafta %0,3 · 24 Ağu kohortu 258 → %1,2 · 31 Ağu kohortu 104 → %1,9. Son iki kohortta (57 ve 93 kullanıcı) geri dönen yok. Günlük (14g): 15 kohortun 4'ünde tek tük geri dönüş. 3 Ağu kohortundaki %17 iç ekip. Gerçek geri dönüş ≈ %1–2. Ürün doğası gereği (yılda bir kullanılan tercih aracı) beklenen bir tablo; ancak giriş yapmayan kullanıcıya geri dönmesi için hiçbir kanca (e-posta, kayıtlı liste hatırlatması) çalışmıyor — kaydet banner'ının gösterilip gösterilmediği bile ölçülemiyor (bkz. CTO-2).
9. Ölçüm boşlukları
Kodda tanımlı olaylar: src/lib/analitik.ts:14-32 (18 istemci olayı) + src/lib/analitik-sunucu.ts:17 (odeme_tamamlandi, sunucu tarafı).
| Olay | Rybbit'te (tüm zamanlar) | Durum |
|---|---|---|
| program_eklendi 371 · netler_goruntulendi 300 · sihirbaz_adim 252 · sira_girildi 136 · sihirbaz_tamamlandi 114 · odeme_baslatildi 94 · kilit_goruntulendi 68 · giris_denendi 67 · katalog_arama 22 · hazir_panel_goruntulendi 22 · giris_cta_tiklandi 15 · danisman_sorusu 12 · liste_olusturuldu 10 · kredi_bitti 4 · odeme_tamamlandi 3 | var | çalışıyor |
| kaydet_banner_goruntulendi | 0 | hook hatası (CTO-2) |
| tadimlik_goruntulendi | 0 | hook hatası (CTO-2) |
| liste_guncellendi, liste_revize | 0 | kullanım yok ya da gerçek kullanıcı o aşamaya gelmiyor; hata kanıtı yok |
Huniyi ölçmek için eksik olaylar:
giris_basarili/kayit_tamamlandi(sunucu tarafı,odeme_tamamlandideseniyle). Şu an yalnız "denendi" var; e-posta doğrulama ve OAuth başarısı görünmüyor. /giris → /listem arası kaybın (%47) nedeni bilinemiyor.sonuc_goruntulendi{girisli, havuz_boyutu, sira_kovasi} — /sonuc pageview'ı URL parametreleriyle şişkin ve profil kapısı akışında hiç oluşmuyor; olay tabanlı adım şart.liste_uretim_basladiveliste_uretim_hata{kod} —src/features/rapor/components/liste-uretici.tsx:55-90yalnız başarıyı ve kredi bitişini izliyor; AI üretim hatası/timeout görünmez.paket_goruntulendi{kaynak: kilit | kredi_bitti | nav} veodeme_hata/odeme_iptal(iyzico callback başarısız dalı,src/lib/odeme.ts).sihirbaz_acildi{kaynak} vesihirbaz_kapatildi{adim} — modal terk noktası;sira_girildiAPI başarısına bağlı olduğundan form hatası (hero-form.tsx:86catch dalı) görünmüyor →sira_form_hata.- Katalog → huni köprüsü:
katalog_cta_tiklandi/rehber_cta_tiklandi{slug} — rehber ve üniversite sayfalarındaki CTA'ların tıklanma oranı bilinmiyor. rapor_yazdirildi(/rapor/yazdir) — ücretli değerin tüketildiğinin tek sinyali.- Rybbit tarafı: hedef (goal) ve kayıtlı huni tanımlı değil; Web Vitals kapalı; iç trafik filtresi yok.
Öncelikli bulgular
| # | Bulgu | Kanıt (rakam + sorgu) | Etki | Önerilen aksiyon | Muhatap |
|---|---|---|---|---|---|
| 1 | Gerçek kullanıcıdan ödeme başlatan yok; ödeme verisinin tamamı iç trafik | Organik dönem get_event_names: odeme_baslatildi 13 → iç user_id'ler dışlanınca 0; get_sessions event_name=odeme_baslatildi: 23 oturum / 6 kullanıcı, hepsi iç/test; /paket gerçek kullanıcı 2 oturum |
Yüksek | Fiyat/paket optimizasyonuna vakit harcamayın; öncelik huni üstü (katalog→sihirbaz, /sonuc→giriş). odeme_tamamlandi 3 kaydının gerçek satış olup olmadığını sipariş tablosundan doğrulayın |
CEO |
| 2 | İç trafik dışlanmıyor, tüm KPI ve huni oranlarını şişiriyor | 2–17 Ağu: 296 oturum, 5,9 sayfa/oturum, İstanbul+Sancaktepe %66; organik dönemde iç ID'lerle 48 oturum | Yüksek | Rybbit site ayarından ekip IP'lerini dışla ve/veya ekip tarayıcılarında Rybbit'in opt-out bayrağını kullan (localStorage disable-rybbit — Rybbit dokümanından doğrulanmalı). Raporlamada taban çizgisi 18 Ağu+ alınmalı |
CTO |
| 3 | Katalog sayfaları trafiğin ~%60'ını alıyor ama huniye %2–4 besliyor | /universite girişli 580 oturum → 14 sıra girişi (%2,4), bounce %68; /bolum 159 → ≤7; buna karşın program_eklendi 91 oturum, yalnız 7'si sıra girdi (analyze_funnel program_eklendi→sira_girildi %7,7) |
Yüksek | Katalog sayfasında "bu programa sıralaman yeter mi?" tarzı sıra girişi köprüsünü öne al; 1. program eklenince sihirbaza/kayda yönlendiren adım. Önce CTA tıklama olayı eklenmeli (ölçmeden değiştirmeyin) | CEO → CTO |
| 4 | Huni içi en büyük düşüş /sonuc → /giris | Gerçek kullanıcı: /sonuc 24–30 oturum → /giris 5–9 (%21–30) → giris_denendi 5; /sonuc çıkış sayfası 35, /giris 29 | Yüksek (n küçük) | /sonuc'ta girişsiz kullanıcıya gösterilen değer önerisini (tadımlık satır, hazır panel) gözden geçir; ama önce tadimlik_goruntulendi düzeltilmeli ki gösterilip gösterilmediği bilinsin |
CEO, Marka |
| 5 | kaydet_banner_goruntulendi ve tadimlik_goruntulendi hiç atılmıyor |
get_event_names tüm zamanlar: ikisi de listede yok (0), oysa program_eklendi 371; kod: use-gorunum-olayi.ts:28-31 ref null iken effect erken dönüyor ve deps değişmediği için bir daha çalışmıyor |
Orta | CTO-2'deki düzeltme | CTO |
| 6 | Web Vitals kapalı | get_site webVitals:false; get_web_vitals 0 olay |
Orta | Rybbit panelinden aç (kullanıcı işlemi). Mobil %79 + bounce %72,5 iken performans körü kalınmamalı | CTO / Bilal |
| 7 | Google OAuth dönüşü "Organic Search" + yeni oturum sayılıyor | referrer accounts.google.com 58 oturum, bounce %8,6; giriş sayfası /listem 27, /sonuc 15 | Orta | Huni analizini oturum yerine kullanıcı/olay bazlı kur; giris_basarili sunucu olayı ekle; Rybbit'te accounts.google.com'u referrer dışlama listesine al (ayar varsa — doğrulanmalı) |
CTO |
| 8 | Trafik 5 haftada %77 düştü (381 → 86 oturum/hafta) | get_overview_timeseries günlük, haftalık toplam |
Orta | Sezon dışı strateji kararı: evergreen içerik + 2027 tercih dönemi için SEO birikimi; kısa vadede dönüşüm deneyi için trafik yetersiz | CEO, SEO |
| 9 | 24 rehber yazısının 4'ü sıfır, 12'si ≤7 oturum | get_breakdown pathname starts_with /rehber |
Orta | SEO başlığına bakın | SEO |
| 10 | Rehber şemalarında getBBox hatası → şema yerine kalıcı gri iskelet |
get_errors pathname starts_with /rehber: 2 olay / 2 oturum (30g) |
Düşük–Orta (hacim küçük ama her rehber yazısını etkileyebilir) | CTO-3 | CTO |
| 11 | Giriş yapan kullanıcının e-posta + adı Rybbit'e gidiyor, IP takibi açık | src/components/rybbit-identify.tsx:28-31; get_site trackIp:true; oturum kayıtlarında trait olarak e-posta görünüyor |
Orta (hukuki) | Self-host olsa da gizlilik metni/KVKK aydınlatmasıyla tutarlılığı kontrol edin; gerek yoksa trait'leri kaldırıp yalnız kullanıcı ID'si gönderin | CEO → CTO |
| 12 | AI/LLM trafiği neredeyse yok | kanal AI: 6 oturum tüm zamanlar, son 30g 1, son 7g 0; /llm.txt isteği 1 |
Düşük (şimdilik) | GEO etkisini aylık izleyin; llms.txt rotası değerlendirilsin |
SEO/GEO |
| 13 | Eski alan adı URL'leri 404 | 3 farklı eski URL, 1'er oturum (organik dönem, giriş sayfası regex dışı sorgu) | Düşük | Search Console'dan 404 + backlink listesi; ilgili /universite, /bolum sayfalarına 301 | SEO → CTO |
CTO'ya iletilecek teknik maddeler
- İç trafik filtresi. Rybbit site ayarında IP dışlama ve/veya ekip cihazlarında opt-out. Kod tarafında alternatif:
src/app/layout.tsx:129-136'daki Script'i bir çerez/localStorage bayrağıyla koşullamak. Hangi yöntem seçilirse seçilsin, mail QA / tarayıcı test ajanlarının trafiği de dışlanmalı (referrer'da temp-mail.org göründü). - Görünüm olayı hook'u koşullu render'da çalışmıyor.
src/components/use-gorunum-olayi.ts:28-31: effect yalnız[ad, anahtarEki]değişince kuruluyor; bileşen ilk render'danulldönüyorsaref.currentnull → erken return → bir daha hiç gözlemlenmiyor. Etkilenenler:src/features/liste/components/kaydet-banner.tsx:43-47(liste < 3 vekapalibaşlangıçta true) vesrc/features/rapor/components/tadimlik-satiri.tsx:100-104(satirasync geliyor). Çalışanlar (listem-govde.tsx:140,145,sihirbaz-cagri-karti.tsx:232) eleman baştan mount olduğu için etkilenmiyor. Çözüm yönü: callback ref'e geçmek ya da gözlemi, elemanı saran ve yalnız eleman varken mount olan küçük bir alt bileşene taşımak. - Mermaid render hatası yutulmuyor.
src/features/rehber/components/el-cizimi-sema.tsx:55-74:import("mermaid").then(async …)zincirindecatchyok;getBBoxhatasında iskelet sonsuza dek kalıyor. En azından hata durumunda iskeleti kaldırıpariaLabelmetnini düz yazı olarak göstermek. Hata/rehber/*'de görüldü,/meraklisina'da görülmedi. - ChunkLoadError toparlanması.
src/app/error.tsx'te ChunkLoadError için tek seferlik yeniden yükleme var mı kontrol edilmeli (1 olay, Safari/GSA). - Hydration #418. Katalog/rehber sayfalarında sunucu-istemci metin farkı; ilk şüpheli yerel tarih/sayı biçimlendirmesi ve GEO paketindeki veri tazelik damgası. Tek olay — düşük öncelik, ama yeniden görülürse sayfa bazında daraltın (
get_errors+ pathname filtresi). - Eksik olaylar (öncelik sırasıyla):
giris_basarili(sunucu),sonuc_goruntulendi,liste_uretim_hata,paket_goruntulendi{kaynak},odeme_hata,sihirbaz_kapatildi{adim},katalog_cta_tiklandi/rehber_cta_tiklandi,sira_form_hata. Tip birliği:src/lib/analitik.ts:14-32; sunucu olayları:src/lib/analitik-sunucu.ts:17. - /sonuc pageview şişmesi.
trackUrlParams: true+ /sonuc'taki URL parametre değişimleri → 143 oturumda 1.602 pageview. Maskeleme (data-mask-patterns,layout.tsx:132) sıralamayı gizliyor ama sayımı engellemiyor. Ya /sonuc'ta parametre değişimlerinireplaceStateile pageview tetiklemeyecek şekilde yapın ya da raporlamada /sonuc için oturum sayısını kullanın. - Sayfalama URL'leri.
/universite/[slug]/sayfa/[no]sayfaları Google'dan doğrudan giriş alıyor (77 oturum). Teknik karar SEO ile birlikte: canonical'ı 1. sayfaya vermek mi, yoksa sayfalama sayfalarının başlık/H1'ini ("… — sayfa 5") ve üst bağlamını güçlendirmek mi. - Rybbit paneli (kod değil, ayar — kullanıcı onayıyla): Web Vitals'ı aç; hedef ve kayıtlı huni tanımla (sira_girildi → sihirbaz_tamamlandi → giris_basarili → liste_olusturuldu → odeme_baslatildi → odeme_tamamlandi).
get_goalsMCP aracı şu an şema hatası veriyor (meta.total string dönüyor) — Rybbit/MCP sürüm uyumsuzluğu, bilgi notu. - PII.
src/components/rybbit-identify.tsx:28-31e-posta ve adı trait olarak gönderiyor; CEO kararına göre kaldırılabilir (yalnızkullaniciIdyeterli).
SEO/GEO ekibine iletilecek içerik sinyalleri
- Trafiği taşıyan şey rehber değil, programatik katalog. Girişlerin %47,5'i /universite/, %13'ü /bolum/; rehber %10,4. Uzun kuyruk işliyor: vakıf/KKTC/yurt dışı üniversiteleri (Sabancı 38, Manas 18, İzmir Kavram MYO 18, Nevşehir HBV 17, Bayburt 13, Kıbrıs Aydın/İlim, Saraybosna, Ahmet Yesevi) ve niş bölümler (rus dili, çağdaş türk lehçeleri, nüfus ve vatandaşlık, farsça mütercim, uygulamalı ispanyolca). Rekabetin düşük olduğu bu kümelerde katalog sayfalarının üstüne kısa, özgün bir "bu üniversite/bölüm için tercih notu" bloğu en yüksek kaldıraçlı içerik işi olabilir.
- Katalog sayfalarının bounce'u %68–70 ve huniye katkısı %2–4. İçerik tarafında: sayfanın ilk ekranında "sıralamanla bu programlar tutar mı?" sorusuna bağlanan net bir köprü metni.
- Niyeti yüksek rehber konuları: tercih-listesi-nasil-yapilir (27), kac-siralama-ile-hangi-bolume-girebilirim (23), olu-tercih-nedir (19, bounce %26 — en iyi tutan), yks-tercih-takvimi-2026 (12). Rehber girişli oturumlar %10,2 oranında sıra giriyor (katalogun 4 katı). Bu kümeyi derinleştirin.
- Trafik çekip tutamayanlar: yerlesemedim-ne-yapmaliyim (23 oturum, 30g girişlerinde %100 bounce) ve siralama-sartlari-2026 (19, %74–87). Arama niyeti–içerik uyumu ve ilk ekran kontrol edilmeli; "yerleşemedim" okuyucusu ürünün hedef kitlesi değil (tercih bitmiş) — ek yerleştirme/2027 hazırlığına yönlendiren bir sonraki adım gerekir.
- Ölü yazılar (0 görüntüleme, 7 hafta): taban-puan-mi-siralama-mi, taban-siralamalar-nasil-degisir, bolumun-is-imkanini-nasil-arastirirsin, veliler-icin-tercih-rehberi. İndekslenme durumu Search Console'dan kontrol edilmeli; iç link (katalog sayfalarından ve güçlü rehber yazılarından) verilmeli. Yeni yazı üretmeden önce bu 4 + ≤3 oturumlu 5 yazının neden görünmediği anlaşılmalı.
- Sezon: trafik 20 Ağu zirvesinden beri düşüyor. Sezon dışı evergreen konular (bölüm tanıtımları, taban sıralama trendleri, "X sıralamayla nereye girilir" kümeleri) 2027 için şimdi yaşlandırılmalı. ÖSYM takvimine bağlı her tarih doğrulanmalı.
- GEO: AI kanalı 6 oturum (Gemini 5, ChatGPT 1), son 7 günde 0. GEO paketinin etkisi henüz ölçülemez. Bir istemci
/llm.txtaradı;llms.txtyok. Başarı ölçütü olarak aylık "AI kanalı oturumu" ve referrer'da chatgpt/perplexity/gemini/copilot takibi önerilir; hedef koymak için erken. - Eski alan adı mirası: 2017–2021 tarihli "taban puanları" ve
/blog/…URL'leri hâlâ tıklanıyor → backlink var. 301 haritası çıkarılırsa bedava otorite. - Arama motoru çeşitliliği yok: Bing/Yandex organik 0. Bing Webmaster + Yandex Webmaster kaydı yapılmadıysa yapılmalı (Copilot/ChatGPT araması Bing indeksine dayanır — GEO için de dolaylı önemli).
Bu vardiyada yapılamayanlar / engeller
- Web Vitals analizi: veri yok (site ayarı kapalı).
- Hedefler:
get_goalsaracı şema doğrulama hatası verdi, okunamadı. - Hata olaylarının tam sayfa/stack bilgisi:
get_errorsyalnız mesaj bazında grupluyor; sayfa, pathname filtreleriyle dolaylı daraltıldı. Session replay kapalı. - Rybbit verisinde bana yönelik talimat içeren bir içerik görülmedi; bozuk URL'lerdeki
<b>parçaları HTML kırıntısı, komut değil.