Kısa cevap
llms.txt dosyası ne işe yarar?
llms.txt, bir sitenin kök dizinine konan düz metin içerik haritasıdır; üretken dil modellerinin siteyi tek istekte anlaması için yazılır. Eylül 2024'te llmstxt.org'da önerildi, Ağustos 2026'da v2 ile güncellendi. Biçimi Markdown'dır: tek bir H1, alıntı bloğu hâlinde özet, ardından H2 başlıkları altında açıklamalı bağlantı listeleri. Resmî bir standart değildir ve robots.txt'in yerini almaz.
Özet
- llms.txt bir izin dosyası değildir: erişimi robots.txt belirler, llms.txt yalnızca içeriği tarif eder.
- Spesifikasyonda özet satırı italik değil, alıntı bloğudur (>); dolaşımdaki Türkçe örneklerin çoğu bu satırı yanlış yazıyor.
- Google kendi dokümantasyonunda AI Overviews ve AI Mode'da görünmek için 'yeni makine okunur dosyalar, yapay zekâ metin dosyaları ya da işaretleme oluşturmanız gerekmez' diyor — llms.txt bir sıralama hamlesi değildir.
- llms-full.txt spesifikasyonda geçmez; yaygınlaşmış bir uygulamadır, standart değildir.
- Dosya /llms.txt adresinden 200 yanıtıyla ve text/plain olarak sunulmalıdır; yönlendirme ya da indirme başlığı dosyayı okunamaz hâle getirir.
- Güncellenmeyen bir llms.txt yoktan kötüdür: ölü bağlantılardan oluşan bir harita siteyi tarif etmek yerine yanlış tarif eder.
llms.txt nedir?
llms.txt, bir sitenin ne olduğunu ve hangi sayfasının ne anlattığını makineye tek dosyada söyleyen düz metin bir haritadır. Öneriyi Eylül 2024'te Jeremy Howard llmstxt.org üzerinden yayımladı; spesifikasyon Ağustos 2026'da ikinci sürümüne geçti. Dosya kök dizinde durabileceği gibi bir alt yolda da durabilir — /docs/llms.txt gibi.
Adı robots.txt'i çağrıştırdığı için sıkça karıştırılıyor, ama işlevi tamamen farklıdır. robots.txt bir erişim dosyasıdır: hangi tarayıcının hangi yolu çekebileceğini söyler. llms.txt ise bir tarif dosyasıdır; kimseye izin vermez, yalnızca içeriği anlatır. İkisi birbirinin yerine geçmez, yan yana çalışır.
robots.txt GPTBot'u engelliyorsa llms.txt yayımlamak bunu değiştirmez. Tarayıcı dosyayı çekemez; harita kapının arkasında kalır.
llms.txt hangi sorunu çözüyor?
Bir dil modeli bir siteyi okumak istediğinde önündeki HTML'in büyük kısmı içerik değildir: gezinme menüleri, çerez uyarıları, betikler ve stil dosyaları. Model bunları ayıklamak zorunda kalır ve bağlam penceresinin bir kısmını buna harcar. Kurumsal bir ana sayfada okunabilir metnin, indirilen baytlara oranı çoğu zaman yüzde birkaçtır.
llms.txt bu ayıklamayı siteyi yazan tarafın önceden yapmasını önerir. Kök dizine konan tek bir düz metin dosyası, sitenin ne olduğunu bir paragrafta anlatır ve önemli sayfaları başlıklar altında listeler. Modelin işi böylece 'bu HTML yığınında ne var?' sorusundan 'bu listedeki hangi sayfa işime yarar?' sorusuna iner.
Dosyanın bugün en net karşılığını bulduğu yer pazarlama siteleri değil, dokümantasyon siteleridir. Bir geliştirici aracı, bir kütüphanenin kurulum sayfasını bulmak için arama yapmak yerine bilinen bir adresten tek dosya çekebiliyorsa iş gerçekten hızlanır. Kurumsal bir sitede kazanç daha dolaylıdır ve aşağıdaki 'gerçekten okunuyor mu?' bölümü bunu olduğu gibi anlatıyor.
llms.txt dosyası nasıl yazılır?
Biçim Markdown'dır ve spesifikasyon bölümlerin sırasını belirler. Sıra değiştirilebilir bir tercih değil, dosyayı ayrıştıran tarafın beklediği yapıdır.
Tek bir H1: projenin ya da sitenin adı
Spesifikasyonun zorunlu tuttuğu tek bölüm budur. Tek satır, tek başlık, şirketin tam adı — slogan değil.
Alıntı bloğu hâlinde özet
Satır başına > konur. Bu satır dosyanın geri kalanını anlamak için gereken bilgiyi taşımalıdır: ne satılıyor, kime, nerede. Dolaşımdaki örneklerin çoğu bu satırı italik yazıyor; spesifikasyon alıntı bloğu diyor.
Başlıksız serbest bölümler (isteğe bağlı)
Özetten sonra, başlık içermeyen paragraf ya da listeler gelebilir: fiyat yayımlamıyorsanız, ölçüler belirli bir birimdeyse, sipariş yalnızca bayiden alınıyorsa burası onu söyleyeceğiniz yerdir.
H2 başlıkları altında bağlantı listeleri
Her satır bir Markdown bağlantısıdır, ardından iki nokta ve o sayfanın ne anlattığını söyleyen kısa bir not gelir. 'Optional' başlığı ise sözleşme gereği ikincil bilgi içindir: bağlam kısaltmak gerektiğinde atlanabilecek bağlantılar oraya konur.
# Kuzey Mobilya
> İstanbul merkezli, ofis ve ev mobilyası üreten bir imalatçı. Katalog ve
> teknik ölçü bilgileri bu sitede yayımlanır; satış yalnızca bayiler
> üzerinden yapılır.
Fiyat listesi yayımlanmaz. Tüm ürün ölçüleri milimetre cinsindendir.
## Ürünler
- [Ofis koltukları](https://example.com/urunler/ofis-koltuklari): 14 modelin ölçü, kumaş ve garanti bilgisi
- [Toplantı masaları](https://example.com/urunler/toplanti-masalari): Modüler masa sistemleri, 6–24 kişilik ölçü tablosu
- [Depolama](https://example.com/urunler/depolama): Dolap ve keson serileri, kilit seçenekleri
## Kurumsal
- [Hakkımızda](https://example.com/hakkimizda): Kuruluş yılı, üretim tesisi ve kapasite bilgisi
- [Bayilik](https://example.com/bayilik): Bayi başvuru koşulları ve bölge listesi
- [İletişim](https://example.com/iletisim): Adres, telefon ve çalışma saatleri
## Optional
- [Basın arşivi](https://example.com/basin): Yayımlanmış bültenler
- [Kariyer](https://example.com/kariyer): Açık pozisyonlarAçıklamalar dosyanın en değerli kısmıdır: bağlantı listesi modele nereye gidebileceğini, açıklama ise oraya gitmenin isteğe değip değmeyeceğini söyler.
Listeye her sayfa girmez. Ölçü şudur: bir modelin siteyi anlamak için okuması gereken sayfalar. Üç yüz ürünlü bir katalogda üç yüz satır yazmak haritayı sitemap'e çevirir ve dosyanın varlık sebebini ortadan kaldırır; kategori sayfalarını yazıp ürünleri onların altına bırakmak doğru olandır.
llms.txt ile llms-full.txt arasındaki fark nedir?
llms.txt bir haritadır: bağlantı verir, metni vermez. llms-full.txt ise sitenin metninin tamamını tek dosyada birleştirir; model hiçbir bağlantıya gitmeden okuyabilsin diye. Önemli ayrım şu: llms-full.txt spesifikasyonda geçmez. Yaygınlaşmış bir uygulamadır, standart değildir, ve bunu böyle bilmek gerekir.
Pratikte kararı boyut veriyor. Yirmi sayfalık bir kurumsal sitede tam metni birleştirmek mantıklıdır ve dosya birkaç yüz kilobayt kalır. Binlerce ürünü olan bir e-ticarette aynı dosya megabaytlara çıkar; kimse indirmez, indirse de faydası olmaz. Bu durumda llms.txt'i yazıp llms-full.txt'i atlamak doğru karardır.
Spesifikasyonun ayrıca önerdiği, daha az bilinen bir yol var: her sayfanın temiz bir Markdown sürümünü yayımlamak — page.html.md gibi ya da uzantıyı .md ile değiştirerek. Bu, tek dev dosya üretmekten hem daha ucuz hem de güncel kalması daha kolay bir yöntem.
Dosya nasıl sunulmalı, llms txt checker yerine nasıl doğrularım?
Dosyayı yazmak işin kolay yarısı. Sunucunun onu doğru başlıklarla vermesi ise en sık atlanan yerdir; yanlış yapılandırılmış bir llms.txt tarayıcıya hiç yokmuş gibi görünür. Tek komutla doğrulanır:
$ curl -sIL https://example.com/llms.txt
HTTP/2 200
content-type: text/plain; charset=utf-8
content-length: 1483
# Beklenmeyen yanıtlar:
# 301/302 -> yönlendirme var, dosya kökte değil
# 404 -> dosya yayımlanmamış ya da yol yanlış
# text/html-> sunucu dosyayı sayfa olarak veriyor
# content-disposition: attachment -> tarayıcı içeriği okuyamaz-L bayrağı yönlendirmeleri izler; son satırdaki adresin hâlâ /llms.txt olduğunu doğrulayın. Bir CDN dosyayı /llms.txt/ adresine yönlendiriyorsa çoğu istemci peşinden gitmez.
- Yanıt kodu 200 olmalı; 30x yönlendirme zinciri istemcilerin bir kısmında dosyayı görünmez yapar.
- İçerik türü text/plain olmalı, charset=utf-8 ile birlikte; Türkçe karakterler aksi hâlde bozulur.
- content-disposition: attachment başlığı bulunmamalı — bu başlık dosyayı okunacak değil indirilecek bir şey olarak işaretler.
- Dosya UTF-8 olmalı. Spesifikasyon bayt sırası işaretine (BOM) izin verir, ama Windows'ta üretilmiş dosyalarda BOM'un ilk başlığa yapışıp '# ' satırını bozması sık görülür.
- Bir kimlik doğrulama duvarı ya da bot koruması arkasında kalmamalı: giriş yapmadan curl ile okunamıyorsa hiçbir tarayıcı da okuyamaz.
Next.js, WordPress ve Shopify'da llms.txt nasıl eklenir?
Dosyayı elle yazıp sunucuya atmak en kısa yoldur, ama en kırılganıdır: site değiştiğinde dosya olduğu yerde kalır ve birkaç ay içinde yalan söylemeye başlar. Üç platformda da doğru hamle, dosyayı içerikten üretmektir.
export const dynamic = "force-static";
export function GET() {
const pages = [
{ url: "/urunler", name: "Ürünler", note: "Katalog ve ölçü tabloları" },
{ url: "/bayilik", name: "Bayilik", note: "Başvuru koşulları ve bölgeler" },
];
const body = [
"# Kuzey Mobilya",
"",
"> İstanbul merkezli ofis ve ev mobilyası üreticisi.",
"",
"## Sayfalar",
"",
...pages.map((p) => `- [${p.name}](https://example.com${p.url}): ${p.note}`),
"",
].join("\n");
return new Response(body, {
headers: { "content-type": "text/plain; charset=utf-8" },
});
}Liste sayfa verisinin kendisinden üretildiği için dosya içerikle birlikte güncellenir. Bu sitenin /llms.txt dosyası da aynı yöntemle yazılıyor.
WordPress'te iki yol var. Fiziksel dosyayı kök dizine koymak çalışır ama tema ya da sunucu göçünde kaybolur; kalıcı çözüm, bir eklenti ya da functions.php üzerinden /llms.txt yolunu yakalayıp yanıtı yayımlanmış içerikten üretmektir. Kök dizine dosya koyacaksanız, çok siteli kurulumlarda her alan adı için ayrı dosya gerektiğini unutmayın.
Shopify'da durum farklıdır ve bunu önceden bilmek gerekir. Shopify tema şablonları üzerinden yalnızca robots.txt.liquid düzenlenebilir; kök dizine serbest dosya koymak tema şablonlarının kapsamında değildir. Pratikte llms.txt ya bir uygulama/proxy ile ya da mağazanın önündeki bir kenar katmanı (Cloudflare Worker gibi) ile sunulur. Sayfa olarak yayımlayıp yönlendirmek işe yaramaz: yanıt text/plain değil, HTML olur.
llms.txt gerçekten okunuyor mu?
Bu, dosyayla ilgili en çok satılan ve en az dürüst cevaplanan sorudur. Bugün itibarıyla büyük motorlardan hiçbiri llms.txt'i okuduğunu resmen beyan etmiş değil. Google bunun tersini açıkça yazıyor: AI Overviews ve AI Mode'da görünmek için 'yeni makine okunur dosyalar, yapay zekâ metin dosyaları ya da işaretleme oluşturmanıza gerek yok' ve 'eklemeniz gereken özel bir schema.org yapılandırılmış verisi de yok'.
OpenAI ve Anthropic tarayıcılarını ayrıntısıyla belgeliyor — hangi user-agent hangi iş için, hangi IP aralığından gelir — ama iki dokümantasyonda da llms.txt desteğine dair bir satır yok. Yani dosyayı yayımlamak, motorların okuduğu bir kanal açmak değil; okumaya karar verirlerse hazır olmak.
Buna rağmen dosyayı yayımlamak makuldür, çünkü maliyeti bir öğleden sonra ve okuyucusu da yalnızca büyük motorlar değil: bilinen bir adresten tek istek yapan ajanlar, dokümantasyon araçları ve iç arama sistemleri dosyayı bugün kullanıyor. Doğru çerçeve şu: llms.txt öncelik listesinin sonunda duran, ucuz ve zararsız bir hamledir. Tarayıcı erişiminin ve sayfa yapısının önüne geçtiği anda zaman kaybına dönüşür.
Sıralama nettir: önce tarayıcı erişimi, sonra sayfadaki cevap yapısı, sonra işaretleme, en sonda llms.txt. Bu sıra bozulduğunda ortaya çıkan tablo tanıdıktır — kusursuz bir llms.txt ve robots.txt'te engellenmiş bir arama tarayıcısı.
Çok dilli bir sitede llms.txt nasıl olmalı?
Spesifikasyon dosyanın alt yollarda da durabileceğini söylediği için iki geçerli desen var. Birincisi: kökte tek dosya, dillere göre H2 bölümleri. İkincisi: her dil için kendi yolunda ayrı dosya — /tr/llms.txt, /en/llms.txt — ve kökteki dosyanın onlara işaret etmesi.
Dört dilli orta ölçekli bir sitede birincisi daha iyi çalışır: tek istek, tek dosya, hepsi bir arada. Dosya birkaç yüz satırı geçmeye başladığında ikinciye geçmek gerekir. Her iki durumda da tek bir hata ölümcüldür: bağlantıların dili ile açıklamaların dili birbirinden ayrılırsa dosya modeli yanlış dildeki sayfaya gönderir.
# Kuzey Mobilya
> İstanbul merkezli ofis ve ev mobilyası üreticisi. Site Türkçe, İngilizce ve
> Almanca yayımlanır; her sayfanın diğer dillerdeki karşılığı vardır.
## Türkçe
- [Ürünler](https://example.com/tr/urunler): Katalog ve ölçü tabloları
- [Bayilik](https://example.com/tr/bayilik): Başvuru koşulları
## English
- [Products](https://example.com/en/products): Catalogue and dimension tables
- [Dealership](https://example.com/en/dealership): Application terms
## Deutsch
- [Produkte](https://example.com/de/produkte): Katalog und Maßtabellen
- [Händler](https://example.com/de/haendler): Bewerbungsbedingungenllms.txt, robots.txt ve sitemap.xml arasındaki fark nedir?
Üç dosya, üç ayrı iş — hiçbiri diğerinin yerine geçmez
robots.txt
- Ne söyler
- Hangi tarayıcının hangi yolu çekebileceği
- Kim okur
- Bütün tarayıcılar
- Standart mı?
- Evet — RFC 9309
sitemap.xml
- Ne söyler
- Sitedeki adreslerin listesi ve son değişiklik tarihleri
- Kim okur
- Arama motoru tarayıcıları
- Standart mı?
- Evet — sitemaps.org
llms.txt
- Ne söyler
- Sitenin ne olduğu, hangi sayfanın ne anlattığı
- Kim okur
- Beyan eden bir motor yok; ajanlar ve dokümantasyon araçları
- Standart mı?
- Hayır — öneri
| Dosya | Ne söyler | Kim okur | Standart mı? |
|---|---|---|---|
| robots.txt | Hangi tarayıcının hangi yolu çekebileceği | Bütün tarayıcılar | Evet — RFC 9309 |
| sitemap.xml | Sitedeki adreslerin listesi ve son değişiklik tarihleri | Arama motoru tarayıcıları | Evet — sitemaps.org |
| llms.txt | Sitenin ne olduğu, hangi sayfanın ne anlattığı | Beyan eden bir motor yok; ajanlar ve dokümantasyon araçları | Hayır — öneri |
En sık yapılan beş hata nedir?
- sitemap.xml'i kopyalayıp llms.txt diye yayımlamak. Sitemap makineye adres verir, llms.txt anlam vermek içindir; açıklamasız bir bağlantı listesi hiçbir şey eklemez.
- Özet satırını italik yazmak. Spesifikasyon alıntı bloğu (>) diyor; italik satır, dosyayı sıkı ayrıştıran bir istemcide özet olarak tanınmaz.
- Dosyayı erişim izni sanmak. llms.txt hiçbir tarayıcıya izin vermez; engel robots.txt'te ya da güvenlik duvarındaysa orada çözülür.
- Dosyayı yazıp sayfaları olduğu gibi bırakmak. Harita modeli sayfaya götürür; sayfada alıntılanabilir bir pasaj yoksa ziyaret sonuçsuz kalır.
- Bir kez yazıp unutmak. Altı ay sonra üç bağlantısı 404 veren bir llms.txt, siteyi tarif etmek yerine yanlış tarif eder ve dosyanın tamamının güvenilirliğini düşürür.
Sık sorulanlar
llms.txt zorunlu mu?
- Hayır. llms.txt bir öneridir; arama motorlarının ya da model sağlayıcılarının ortak kabul ettiği bir standart değildir ve dosyanın varlığı tek başına sıralama veya atıf getirmez. Maliyeti düşük olduğu için yayımlamak makuldür, ancak öncelik sırasında tarayıcı erişiminin ve sayfa yapısının arkasında gelir.
llms.txt SEO'ya fayda sağlar mı?
- Klasik arama sıralamasında doğrudan bir etkisi yoktur ve Google bunu dokümantasyonunda açıkça yazar: yapay zekâ özelliklerinde görünmek için yeni bir makine okunur dosyaya gerek yoktur. Dolaylı bir faydası olabilir — dosyayı yazmak, sitenin hangi sayfalarının gerçekten bir şey anlattığını gözden geçirmeye zorlar ve bu gözden geçirme çoğu zaman sayfaların kendisini düzeltmeyle sonuçlanır.
llms.txt ne kadar uzun olmalı?
- Spesifikasyon bir sınır koymaz, ama dosyanın amacı sınırı kendiliğinden belirler: bir modelin siteyi tek okumada anlamasını sağlamak. Kurumsal bir sitede bu genellikle 20–60 bağlantı demektir. Yüzlerce satıra çıkan bir llms.txt artık harita değil dizin olur ve dosyanın çözdüğü sorunu geri getirir.
llms.txt yayımladım ama ChatGPT'de hâlâ çıkmıyorum, neden?
- Çünkü iki şey birbirine bağlı değil. ChatGPT bir soruya cevap verirken arama yapar ve bunu OAI-SearchBot ile yapar; bu tarayıcı robots.txt'te engelliyse ya da sunucu önündeki bot koruması onu düşürüyorsa sitenizi hiç okumaz. llms.txt bu zincirin hiçbir halkasını değiştirmez. Önce erişimi doğrulayın, sonra sayfada alıntılanabilir bir cevap pasajı olduğundan emin olun.
llms.txt dosyasını hangi sıklıkla güncellemeliyim?
- Dosya elle yazıldıysa her yeni bölüm ya da kaldırılan sayfa sonrası, pratikte ayda bir kontrol gerekir. İçerikten üretiliyorsa bu sorunun cevabı kendiliğinden çözülür ve tercih edilmesi gereken yol da budur. En düşük maliyetli kontrol, dosyadaki bağlantıları aylık bir betikle çağırıp 404 dönenleri raporlamaktır.
Kaynaklar
- 01The /llms.txt file proposal — llmstxt.org, 2024
- 02AI features and your website — Google Search Central, 2026
- 03OpenAI crawlers: GPTBot, OAI-SearchBot, ChatGPT-User, OAI-AdsBot — OpenAI, 2026
- 04GEO: Generative Engine Optimization — Aggarwal, Murahari, Rajpurohit, Kalyan — KDD 2024, 2024
Bu sayfa şu aramalara cevap veriyor
- llms.txt nedir
- llms.txt generator
- llms txt checker
- llms txt google
- example llms.txt
- wordpress llms.txt