Files
kolaytercih/src/app/robots.ts
bilalgursen 24d4bea32c
All checks were successful
Deploy / deploy (push) Successful in 6m16s
feat(geo): llms.txt, RSS, IndexNow, Article yazar/görsel, bölüm sayfasına veri özeti, vakıf bursu yazısı
GEO araştırması (docs/arastirma/2026-09-24-geo-seo) Dalga 1-2 uygulaması:
- /llms.txt ve /feed.xml route'ları (getAllRehberler'den otomatik), head'de RSS linki
- Article JSON-LD: author, image, mainEntityOfPage, publisher logo; görünür 'Yazan' satırı
- robots: ClaudeBot ayrı grupta Crawl-delay 1
- scripts/indexnow.ts (pnpm indexnow) + public anahtar dosyası
- bölüm sayfası açılışı veriden üretilen özgü cümleler (il/program/tür/kontenjan, taban aralığı, yıllık yön)
- ana sayfa fiyat iddiasına kaynak; iki yazıda 23.000 -> 21.000+; beş yazıya 'Kısa cevap' açılışı
- yeni yazı: vakif-universitesi-bursu-kesilir-mi (ÖSYM 2026 kılavuzu + YÖK ücret esasları)
- YAYIN-KUYRUGU: IndexNow adımı ve aylık AI görünürlük rutini

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-24 17:42:29 +03:00

48 lines
1.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { MetadataRoute } from "next";
import { SITE_URL } from "@/lib/seo";
// Yalnızca /api/ engellenir. /sonuc, /giris, /listem, /odeme/*, /rapor/*
// bilinçli olarak ENGELLENMEDİ: bu sayfalar noindex meta taşıyor ve robots.txt
// engeli o meta'nın görülmesini imkânsız kılardı (dış link alırlarsa
// "robots.txt tarafından engellendi ama dizine eklendi" durumuna düşerlerdi).
const DISALLOW = ["/api/"];
// Arama/cevap motorlarının tarayıcıları. `*` kuralı bunları zaten kapsıyor;
// grup, niyeti belgelemek için açıkça yazıldı: AI aramalarında kaynak
// gösterilmek istiyoruz. DİKKAT: bir bot kendi adına yazılmış grubu bulursa `*`
// grubunu yok sayar — buraya eklenen her bot için DISALLOW tekrar edilmeli.
const AI_BOTLARI = [
// Arama indeksi + kullanıcı tetiklemeli fetch
"OAI-SearchBot",
"ChatGPT-User",
"Claude-SearchBot",
"Claude-User",
"PerplexityBot",
"Perplexity-User",
"DuckAssistBot",
"MistralAI-User",
"meta-webindexer",
"Amzn-SearchBot",
// Model eğitimi: aramasız yanıtlarda markanın bilinmesi buradan geçer
"GPTBot",
// ClaudeBot aşağıda kendi grubunda (Crawl-delay için); buraya yazma.
"Google-Extended",
"Applebot-Extended",
"meta-externalagent",
"Amazonbot",
"CCBot",
];
export default function robots(): MetadataRoute.Robots {
return {
rules: [
{ userAgent: "*", allow: "/", disallow: DISALLOW },
{ userAgent: AI_BOTLARI, allow: "/", disallow: DISALLOW },
// Anthropic Crawl-delay'i resmî olarak destekliyor (support.claude.com);
// eğitim taraması 1011 URL'lik katalogda saniyede 1 istekle yeter.
{ userAgent: "ClaudeBot", allow: "/", disallow: DISALLOW, crawlDelay: 1 },
],
sitemap: `${SITE_URL}/sitemap.xml`,
};
}