From 3fa5cab9066fc4b042c0cadb6fa35fbfff88617e Mon Sep 17 00:00:00 2001
From: bilalgursen
Date: Mon, 21 Sep 2026 16:53:42 +0300
Subject: [PATCH] =?UTF-8?q?feat(veri):=20katalog/OG/rapor=20metinleri=20y?=
=?UTF-8?q?=C4=B1l=C4=B1=20veri-yillari.ts'ten=20okur=20=E2=80=94=202026?=
=?UTF-8?q?=20y=C3=BCklemesi=20P-C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- "2025 yerleştirme" → SON_YIL, "2026 tercihleri" → TERCIH_YILI, başlık yılı → BASLIK_YILI
- yazdırılabilir rapor dipnotu: "2021–2025" → VERI_ARALIGI
- meraklısına 1. bölüm: efektif sıra açıklaması yılsız
- KATALOG_VERI_TARIHI: 2026-09-21 (2026 verisinin çekim tarihi)
Co-Authored-By: Claude Fable 5.1
---
src/app/bolum/[slug]/opengraph-image.tsx | 3 ++-
src/app/bolumler/opengraph-image.tsx | 6 +++---
src/app/bolumler/page.tsx | 11 +++++++----
src/app/universite/[slug]/opengraph-image.tsx | 3 ++-
src/app/universiteler/opengraph-image.tsx | 6 +++---
src/app/universiteler/page.tsx | 11 +++++++----
src/features/katalog/components/bolum-listesi.tsx | 7 ++++---
.../katalog/components/universite-listesi.tsx | 7 ++++---
src/features/katalog/components/veri-kaynagi.tsx | 5 +++--
.../pazarlama/components/meraklisina-icerik.tsx | 4 ++--
src/features/rapor/components/rapor-yazdir.tsx | 3 ++-
src/lib/seo.tsx | 2 +-
12 files changed, 40 insertions(+), 28 deletions(-)
diff --git a/src/app/bolum/[slug]/opengraph-image.tsx b/src/app/bolum/[slug]/opengraph-image.tsx
index 1703927..71f2945 100644
--- a/src/app/bolum/[slug]/opengraph-image.tsx
+++ b/src/app/bolum/[slug]/opengraph-image.tsx
@@ -4,6 +4,7 @@ import {
OG_CONTENT_TYPE,
OG_SIZE,
} from "@/lib/og-sayfa";
+import { SON_YIL, TERCIH_YILI } from "@/lib/veri-yillari";
export const alt = "Bölüm taban puanları ve sıralamaları — KolayTercih";
export const size = OG_SIZE;
@@ -26,6 +27,6 @@ export default async function Image({
return createOgSayfaImage({
eyebrow: "Bölüm",
title: `${ad} taban puanları`,
- description: `${sayi}2025 yerleştirme verileri · 2026 tercih rehberi`,
+ description: `${sayi}${SON_YIL} yerleştirme verileri · ${TERCIH_YILI} tercih rehberi`,
});
}
diff --git a/src/app/bolumler/opengraph-image.tsx b/src/app/bolumler/opengraph-image.tsx
index 9df4d77..0ae7dbb 100644
--- a/src/app/bolumler/opengraph-image.tsx
+++ b/src/app/bolumler/opengraph-image.tsx
@@ -3,9 +3,9 @@ import {
OG_CONTENT_TYPE,
OG_SIZE,
} from "@/lib/og-sayfa";
+import { BASLIK_YILI, SON_YIL } from "@/lib/veri-yillari";
-export const alt =
- "Tüm bölümlerin taban puanları ve sıralamaları 2026 — KolayTercih";
+export const alt = `Tüm bölümlerin taban puanları ve sıralamaları ${BASLIK_YILI} — KolayTercih`;
export const size = OG_SIZE;
export const contentType = OG_CONTENT_TYPE;
@@ -13,6 +13,6 @@ export default async function Image() {
return createOgSayfaImage({
eyebrow: "Katalog",
title: "Tüm bölümlerin taban puanları ve sıralamaları",
- description: "Lisans ve önlisans programları · 2025 yerleştirme verileri",
+ description: `Lisans ve önlisans programları · ${SON_YIL} yerleştirme verileri`,
});
}
diff --git a/src/app/bolumler/page.tsx b/src/app/bolumler/page.tsx
index 9f4e660..16990c6 100644
--- a/src/app/bolumler/page.tsx
+++ b/src/app/bolumler/page.tsx
@@ -1,16 +1,19 @@
import { Suspense } from "react";
import type { Metadata } from "next";
import { JsonLd, breadcrumbJsonLd, sayfaMetadata } from "@/lib/seo";
+import { BASLIK_YILI, SON_YIL, TERCIH_YILI } from "@/lib/veri-yillari";
import { SiteFooter } from "@/components/site-footer";
import {
BolumKatalogu,
BolumKataloguSkeleton,
} from "@/features/katalog/components/bolum-listesi";
+// Başlıktaki yıl tek kaynaktan (veri-yillari.ts); metadata ve h1 aynı metni okur.
+const BASLIK = `Tüm Bölümlerin Taban Puanları ve Sıralamaları ${BASLIK_YILI}`;
+
export const metadata: Metadata = sayfaMetadata({
- title: "Tüm Bölümlerin Taban Puanları ve Sıralamaları 2026",
- description:
- "Üniversite bölümlerinin 2025 yerleştirme taban puanları ve başarı sıralamaları: lisans ve önlisans programları kategori kategori, 2026 tercihleri için.",
+ title: BASLIK,
+ description: `Üniversite bölümlerinin ${SON_YIL} yerleştirme taban puanları ve başarı sıralamaları: lisans ve önlisans programları kategori kategori, ${TERCIH_YILI} tercihleri için.`,
path: "/bolumler",
});
@@ -26,7 +29,7 @@ export default function BolumlerPage() {
/>
- Tüm Bölümlerin Taban Puanları ve Sıralamaları 2026
+ {BASLIK}
}>
diff --git a/src/app/universite/[slug]/opengraph-image.tsx b/src/app/universite/[slug]/opengraph-image.tsx
index 4772c5b..f756bad 100644
--- a/src/app/universite/[slug]/opengraph-image.tsx
+++ b/src/app/universite/[slug]/opengraph-image.tsx
@@ -8,6 +8,7 @@ import {
OG_CONTENT_TYPE,
OG_SIZE,
} from "@/lib/og-sayfa";
+import { SON_YIL } from "@/lib/veri-yillari";
export const alt = "Üniversite taban puanları ve sıralamaları — KolayTercih";
export const size = OG_SIZE;
@@ -26,7 +27,7 @@ export default async function Image({
if (uni?.programSayisi != null) {
parcalar.push(`${uni.programSayisi.toLocaleString("tr-TR")} program`);
}
- parcalar.push("2025 yerleştirme verileri");
+ parcalar.push(`${SON_YIL} yerleştirme verileri`);
// Logo dosyası varsa OG kartına data URI olarak gömülür; okuma hatası
// kartı düşürmesin diye sessizce logosuz karta düşülür.
diff --git a/src/app/universiteler/opengraph-image.tsx b/src/app/universiteler/opengraph-image.tsx
index 07fb32c..ba84552 100644
--- a/src/app/universiteler/opengraph-image.tsx
+++ b/src/app/universiteler/opengraph-image.tsx
@@ -3,9 +3,9 @@ import {
OG_CONTENT_TYPE,
OG_SIZE,
} from "@/lib/og-sayfa";
+import { BASLIK_YILI, SON_YIL } from "@/lib/veri-yillari";
-export const alt =
- "Üniversitelerin taban puanları ve sıralamaları 2026 — KolayTercih";
+export const alt = `Üniversitelerin taban puanları ve sıralamaları ${BASLIK_YILI} — KolayTercih`;
export const size = OG_SIZE;
export const contentType = OG_CONTENT_TYPE;
@@ -13,6 +13,6 @@ export default async function Image() {
return createOgSayfaImage({
eyebrow: "Katalog",
title: "Üniversitelerin taban puanları ve sıralamaları",
- description: "Devlet ve vakıf üniversiteleri · 2025 yerleştirme verileri",
+ description: `Devlet ve vakıf üniversiteleri · ${SON_YIL} yerleştirme verileri`,
});
}
diff --git a/src/app/universiteler/page.tsx b/src/app/universiteler/page.tsx
index 5c07342..082f844 100644
--- a/src/app/universiteler/page.tsx
+++ b/src/app/universiteler/page.tsx
@@ -1,16 +1,19 @@
import { Suspense } from "react";
import type { Metadata } from "next";
import { JsonLd, breadcrumbJsonLd, sayfaMetadata } from "@/lib/seo";
+import { BASLIK_YILI, SON_YIL, TERCIH_YILI } from "@/lib/veri-yillari";
import { SiteFooter } from "@/components/site-footer";
import {
UniversiteKatalogu,
UniversiteKataloguSkeleton,
} from "@/features/katalog/components/universite-listesi";
+// Başlıktaki yıl tek kaynaktan (veri-yillari.ts); metadata ve h1 aynı metni okur.
+const BASLIK = `Üniversitelerin Taban Puanları ve Sıralamaları ${BASLIK_YILI}`;
+
export const metadata: Metadata = sayfaMetadata({
- title: "Üniversitelerin Taban Puanları ve Sıralamaları 2026",
- description:
- "Devlet ve vakıf üniversitelerinin 2025 yerleştirme taban puanları, başarı sıralamaları ve kontenjanları — üniversite üniversite, 2026 tercihleri için.",
+ title: BASLIK,
+ description: `Devlet ve vakıf üniversitelerinin ${SON_YIL} yerleştirme taban puanları, başarı sıralamaları ve kontenjanları — üniversite üniversite, ${TERCIH_YILI} tercihleri için.`,
path: "/universiteler",
});
@@ -26,7 +29,7 @@ export default function UniversitelerPage() {
/>
- Üniversitelerin Taban Puanları ve Sıralamaları 2026
+ {BASLIK}
}>
diff --git a/src/features/katalog/components/bolum-listesi.tsx b/src/features/katalog/components/bolum-listesi.tsx
index 3a49747..bb6af6f 100644
--- a/src/features/katalog/components/bolum-listesi.tsx
+++ b/src/features/katalog/components/bolum-listesi.tsx
@@ -4,6 +4,7 @@ import { KATEGORILER } from "@/lib/kategoriler";
import { CtaSiraForm } from "@/features/sihirbaz/components/cta-sira-form";
import { PagePixelDivider } from "@/components/pixel-decor";
import { Skeleton } from "@/components/ui/skeleton";
+import { SON_YIL, TERCIH_YILI } from "@/lib/veri-yillari";
const sayi = (n: number) => n.toLocaleString("tr-TR");
@@ -81,11 +82,11 @@ export function BolumKatalogu() {
return (
<>
- {sayi(hepsi.length)} bölümün 2025 YKS yerleştirme verileri: taban
+ {sayi(hepsi.length)} bölümün {SON_YIL} YKS yerleştirme verileri: taban
puanları, başarı sıralamaları, kontenjanlar ve devlet/vakıf dağılımı.
Bölüme tıklayınca o bölümü sunan tüm üniversitelerin tablosunu görürsün.
- Veriler YÖK Atlas 2025 yerleştirme sonuçlarına dayanır; 2026 tercihleri
- için rehber niteliğindedir.
+ Veriler YÖK Atlas {SON_YIL} yerleştirme sonuçlarına dayanır;{" "}
+ {TERCIH_YILI} tercihleri için rehber niteliğindedir.
diff --git a/src/features/katalog/components/universite-listesi.tsx b/src/features/katalog/components/universite-listesi.tsx
index 1fd4459..13c521f 100644
--- a/src/features/katalog/components/universite-listesi.tsx
+++ b/src/features/katalog/components/universite-listesi.tsx
@@ -5,6 +5,7 @@ import { CtaSiraForm } from "@/features/sihirbaz/components/cta-sira-form";
import { PagePixelDivider } from "@/components/pixel-decor";
import { UniLogo } from "@/components/uni-logo";
import { Skeleton } from "@/components/ui/skeleton";
+import { SON_YIL, TERCIH_YILI } from "@/lib/veri-yillari";
const sayi = (n: number) => n.toLocaleString("tr-TR");
@@ -49,11 +50,11 @@ export function UniversiteKatalogu() {
return (
<>
- {sayi(hepsi.length)} üniversitenin 2025 YKS yerleştirme verileri.
+ {sayi(hepsi.length)} üniversitenin {SON_YIL} YKS yerleştirme verileri.
Üniversiteye tıklayınca tüm programlarının taban puanlarını, başarı
sıralamalarını ve kontenjanlarını fakülte fakülte görürsün. Veriler YÖK
- Atlas 2025 yerleştirme sonuçlarına dayanır; 2026 tercihleri için rehber
- niteliğindedir.
+ Atlas {SON_YIL} yerleştirme sonuçlarına dayanır; {TERCIH_YILI} tercihleri
+ için rehber niteliğindedir.
diff --git a/src/features/katalog/components/veri-kaynagi.tsx b/src/features/katalog/components/veri-kaynagi.tsx
index d1485e5..9407c23 100644
--- a/src/features/katalog/components/veri-kaynagi.tsx
+++ b/src/features/katalog/components/veri-kaynagi.tsx
@@ -1,7 +1,8 @@
import { KATALOG_VERI_TARIHI } from "@/lib/seo";
import { cn } from "@/lib/utils";
+import { SON_YIL } from "@/lib/veri-yillari";
-// Veri tarihinin görünür biçimi ("9 Ağustos 2026") — tek biçim kaynağı; ana
+// Veri tarihinin görünür biçimi ("21 Eylül 2026") — tek biçim kaynağı; ana
// sayfa hero'sundaki veri satırı da bunu kullanır.
export const KATALOG_TARIH_METNI = new Date(
`${KATALOG_VERI_TARIHI}T00:00:00Z`,
@@ -24,7 +25,7 @@ export function VeriKaynagi({
return (
{children}
- Kaynak: YÖK Atlas 2025 yerleştirme sonuçları. Son güncelleme:{" "}
+ Kaynak: YÖK Atlas {SON_YIL} yerleştirme sonuçları. Son güncelleme:{" "}
{KATALOG_TARIH_METNI} .
);
diff --git a/src/features/pazarlama/components/meraklisina-icerik.tsx b/src/features/pazarlama/components/meraklisina-icerik.tsx
index 12815f5..d5c1c9c 100644
--- a/src/features/pazarlama/components/meraklisina-icerik.tsx
+++ b/src/features/pazarlama/components/meraklisina-icerik.tsx
@@ -47,8 +47,8 @@ export function MeraklisinaIcerik() {
öğrencinin Türkiye sıralamasıdır. Senin sıralaman bu sayıdan
küçükse (yani daha iyiysen), geçen yılın koşullarında o bölüme
yerleşebilirdin demektir. Sistemde her programın en güncel taban
- sıralaması kayıtlıdır; bir bölümün 2025 verisi henüz oluşmamışsa
- bir önceki yılınki kullanılır.
+ sıralaması kayıtlıdır; bir bölüm için en son yılın verisi henüz
+ oluşmamışsa bir önceki yılınki kullanılır.
diff --git a/src/features/rapor/components/rapor-yazdir.tsx b/src/features/rapor/components/rapor-yazdir.tsx
index 20cf054..3618f6c 100644
--- a/src/features/rapor/components/rapor-yazdir.tsx
+++ b/src/features/rapor/components/rapor-yazdir.tsx
@@ -7,6 +7,7 @@ import { DILIM_ETIKET, RISK_ETIKET, dilimdenRisk } from "@/lib/risk";
import type { RaporParams, RaporSonuc } from "../types/rapor";
import { Skeleton } from "@/components/ui/skeleton";
import { YazdirButonu } from "./yazdir-butonu";
+import { VERI_ARALIGI } from "@/lib/veri-yillari";
// Dilim sütunu: dilim adı + varsayılan riski. Üçüncü dilimde ikisi aynı
// kelime ("Güvenli") olduğu için parantez düşer — "Güvenli (Güvenli)" yazmaz.
@@ -106,7 +107,7 @@ export async function RaporYazdir() {
- Bu rapor KolayTercih tarafından resmî YÖK Atlas verisi (2021–2025
+ Bu rapor KolayTercih tarafından resmî YÖK Atlas verisi ({VERI_ARALIGI}{" "}
taban sıralamaları, kontenjan ve yerleşme istatistikleri) kullanılarak
üretilmiştir. Taban sıralamaları her yıl değişir; bu rapor yerleşme
garantisi vermez. Tercih listesinin ÖSYM sistemine girilmesi ve nihai
diff --git a/src/lib/seo.tsx b/src/lib/seo.tsx
index 52b4149..6d784cd 100644
--- a/src/lib/seo.tsx
+++ b/src/lib/seo.tsx
@@ -21,7 +21,7 @@ export const SITE_NAME = "KolayTercih";
* Yalnızca veri GERÇEKTEN değiştiğinde (ingest/refresh sonrası) elle güncelle;
* build zamanına bağlama — her deploy'da değişen lastmod sinyali değersizleşir.
*/
-export const KATALOG_VERI_TARIHI = "2026-08-09";
+export const KATALOG_VERI_TARIHI = "2026-09-21";
type SayfaMetadataGirdi = {
title: string;