feat(veri): katalog/OG/rapor metinleri yılı veri-yillari.ts'ten okur — 2026 yüklemesi P-C
- "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 <noreply@anthropic.com>
This commit is contained in:
@@ -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`,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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`,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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() {
|
||||
/>
|
||||
|
||||
<h1 className="font-heading text-3xl font-bold text-slate-900 sm:text-4xl">
|
||||
Tüm Bölümlerin Taban Puanları ve Sıralamaları 2026
|
||||
{BASLIK}
|
||||
</h1>
|
||||
|
||||
<Suspense fallback={<BolumKataloguSkeleton />}>
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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`,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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() {
|
||||
/>
|
||||
|
||||
<h1 className="font-heading text-3xl font-bold text-slate-900 sm:text-4xl">
|
||||
Üniversitelerin Taban Puanları ve Sıralamaları 2026
|
||||
{BASLIK}
|
||||
</h1>
|
||||
|
||||
<Suspense fallback={<UniversiteKataloguSkeleton />}>
|
||||
|
||||
@@ -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 (
|
||||
<>
|
||||
<p className="mt-4 max-w-3xl text-sm leading-7 text-slate-600">
|
||||
{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.
|
||||
</p>
|
||||
|
||||
<PagePixelDivider seed={29} className="mt-8" />
|
||||
|
||||
@@ -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 (
|
||||
<>
|
||||
<p className="mt-4 max-w-3xl text-sm leading-7 text-slate-600">
|
||||
{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.
|
||||
</p>
|
||||
|
||||
<PagePixelDivider seed={63} className="mt-8" />
|
||||
|
||||
@@ -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 (
|
||||
<p className={cn("mt-3 text-xs leading-5 text-slate-500", className)}>
|
||||
{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:{" "}
|
||||
<time dateTime={KATALOG_VERI_TARIHI}>{KATALOG_TARIH_METNI}</time>.
|
||||
</p>
|
||||
);
|
||||
|
||||
@@ -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.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
|
||||
@@ -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() {
|
||||
|
||||
<footer className="mt-6 border-t border-slate-300 pt-3 text-[10px] leading-relaxed text-slate-500">
|
||||
<p>
|
||||
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
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user