Update routing in next.config.ts to redirect "/tercih-robotu" to the hero form, add simple-icons dependency in package.json, and enhance database indexing for improved query performance. Remove unused SVG files and update metadata across various pages for better SEO and clarity.
All checks were successful
Deploy / deploy (push) Successful in 14m14s

This commit is contained in:
bilalgursen
2026-08-01 17:28:38 +03:00
parent 569b9e5da2
commit 8cf0c3267d
76 changed files with 5050 additions and 255 deletions

View File

@@ -0,0 +1,161 @@
import Link from "next/link";
import { getAllBolumler } from "@/lib/katalog";
/**
* Site footer'ı: yasal metin + SEO iç link kolonları. Server component —
* popüler bölümler listesi build sırasında katalogdan gelir. Layout'a değil
* sayfalara eklenir; auth/utility ekranlarında (giris, listem...) footer yok.
*/
export function SiteFooter() {
const populerBolumler = [...getAllBolumler()]
.sort((a, b) => b.programSayisi - a.programSayisi)
.slice(0, 8);
return (
<footer className="border-t border-slate-200/70 pb-32 pt-12">
<div className="mx-auto max-w-6xl px-4">
<div className="grid gap-10 sm:grid-cols-2 lg:grid-cols-3">
<nav aria-label="Popüler bölümler">
<h2 className="text-xs font-semibold uppercase tracking-wide text-slate-500">
Popüler Bölümler
</h2>
<ul className="mt-3 grid grid-cols-1 gap-1.5">
{populerBolumler.map((b) => (
<li key={b.slug}>
<Link
href={`/bolum/${b.slug}`}
className="text-sm text-slate-600 hover:text-slate-900 hover:underline"
>
{b.ad} Taban Puanları
</Link>
</li>
))}
</ul>
</nav>
<nav aria-label="Keşfet">
<h2 className="text-xs font-semibold uppercase tracking-wide text-slate-500">
Keşfet
</h2>
<ul className="mt-3 space-y-1.5">
<li>
<Link
href="/#hero-form"
className="text-sm text-slate-600 hover:text-slate-900 hover:underline"
>
YKS Tercih Robotu 2026
</Link>
</li>
<li>
<Link
href="/bolumler"
className="text-sm text-slate-600 hover:text-slate-900 hover:underline"
>
Bölüm Taban Puanları
</Link>
</li>
<li>
<Link
href="/universiteler"
className="text-sm text-slate-600 hover:text-slate-900 hover:underline"
>
Üniversite Taban Puanları
</Link>
</li>
<li>
<Link
href="/rehber"
className="text-sm text-slate-600 hover:text-slate-900 hover:underline"
>
Tercih Rehberi
</Link>
</li>
<li>
<Link
href="/meraklisina"
className="text-sm text-slate-600 hover:text-slate-900 hover:underline"
>
Meraklısına: Nasıl çalışır?
</Link>
</li>
</ul>
</nav>
<nav aria-label="Rehber yazıları">
<h2 className="text-xs font-semibold uppercase tracking-wide text-slate-500">
Rehberden
</h2>
<ul className="mt-3 space-y-1.5">
<li>
<Link
href="/rehber/tercih-listesi-nasil-yapilir"
className="text-sm text-slate-600 hover:text-slate-900 hover:underline"
>
Tercih Listesi Nasıl Yapılır?
</Link>
</li>
<li>
<Link
href="/rehber/kac-siralama-ile-hangi-bolume-girebilirim"
className="text-sm text-slate-600 hover:text-slate-900 hover:underline"
>
Kaç Sıralama ile Hangi Bölüme Girebilirim?
</Link>
</li>
<li>
<Link
href="/rehber/olu-tercih-nedir"
className="text-sm text-slate-600 hover:text-slate-900 hover:underline"
>
Ölü Tercih Nedir?
</Link>
</li>
<li>
<Link
href="/rehber/ek-yerlestirme-2026"
className="text-sm text-slate-600 hover:text-slate-900 hover:underline"
>
Ek Yerleştirme Rehberi
</Link>
</li>
</ul>
</nav>
</div>
<div className="mt-10 border-t border-slate-200/70 pt-6 text-center text-sm leading-relaxed text-slate-500">
<p>
© 2026 KolayTercih. Veriler resmî YÖK Atlas kaynağından derlenir;
KolayTercih, ÖSYM veya YÖK ile bağlantılı değildir.
</p>
<p className="mt-2">
KolayTercih bir karar destek aracıdır, yerleşme garantisi vermez.
Tercih listenizin son hali ve başvuru sorumluluğu size aittir.
</p>
<nav
aria-label="Yasal sayfalar"
className="mt-4 flex flex-wrap items-center justify-center gap-4"
>
<Link
href="/gizlilik"
className="hover:text-slate-700 hover:underline"
>
Gizlilik & KVKK
</Link>
<Link
href="/kosullar"
className="hover:text-slate-700 hover:underline"
>
Kullanım & iade koşulları
</Link>
<Link
href="/iletisim"
className="hover:text-slate-700 hover:underline"
>
İletişim
</Link>
</nav>
</div>
</div>
</footer>
);
}