Sitenizin kökündeki /llms.txt adresini açmak on saniye sürüyor. Çoğu sitede o adres 404 döner. Ardından gelen soru hep aynı oluyor: bu dosyayı eklersek ChatGPT bizi anar mı? Dürüst cevap hayır. Ama sorunun nerede yanlış kurulduğunu göstermek, dosyayı tarif etmekten daha faydalı — çünkü llms.txt bir sıralama kaldıracı değil, bir okunabilirlik kararı.
llms.txt nedir?
llms.txt, bir sitenin kökünde duran ve o sitenin içeriğini dil modellerine sade metinle haritalayan bir dosya önerisidir. Adresi sabittir: alanadiniz.com/llms.txt. Biçimi markdown'dır — tek bir H1 başlık, bir cümlelik tanım, sonra bölüm başlıkları altında bağlantı listeleri. Öneriyi Eylül 2024'te Jeremy Howard ortaya attı; teknik tanımı llmstxt.org'da duruyor ve bugüne kadar resmî bir standart kurumu tarafından onaylanmadı.
Ne olmadığını söylemek daha kolay. robots.txt bir izin dosyasıdır: hangi yolun taranmayacağını söyler. sitemap.xml bir envanterdir: her URL'i sayar, hiçbirinin ne anlattığını söylemez. llms.txt üçüncü bir iş yapar — hangi sayfaların önemli olduğunu ve her birinin neyi cevapladığını tek satırda anlatır. Fark burada: makine için yazılmış bir içindekiler sayfası.
Bu dosya neden ortaya çıktı?
İki teknik kısıt yüzünden. Birincisi: yapay zeka tarayıcılarının (AI crawler) çoğu JavaScript çalıştırmıyor; içeriği tarayıcı tarafında derlenen bir sayfa onlara boş bir kabuk olarak gidiyor. İkincisi: bir dil modelinin bağlam penceresi (context window) sınırlı; modelin sitenizi okumak için harcayacağı bütçe menülerle, çerez uyarılarıyla, footer bağlantılarıyla ve tekrarlanan şablon metinle eriyor.
llms.txt iki kısıtı da tek hamlede geçiyor. Dosya sade metin olduğu için JavaScript'e ihtiyaç duymuyor; kısa olduğu için bağlam penceresinde yer kaplamıyor. HTML tarayıcı için yazılır, markdown okumak için — ve bir modelin sayfanızda yaptığı iş, aslında okumaktan ibaret.
Kısıtın kendisi yeni değil. Yeni olan, o kısıtla karşılaşan tarafın artık bir kullanıcı değil bir program olması. Bu yüzden yapay zeka arama optimizasyonu tartışması hız ve indekslenebilirlikten sonra üçüncü bir başlık açtı: makine sayfanızdan ne çıkarabiliyor?
Dosyanın biçimi: markdown bağlantı listesi
Biçim kasıtlı olarak dar tutulmuş. llmstxt.org tek bir düzen tarif ediyor ve dosyanın sırtını beş öğe taşıyor:
- Tek bir H1: sitenin veya kurumun adı. Belgede ikinci bir H1 bulunmaz.
- H1'in altında, blok alıntı biçiminde tek cümlelik tanım: kurum ne yapar, kime çalışır.
- H2 başlıklarıyla bölümler: hizmetler, ürünler, dokümantasyon, vakalar, iletişim. Bölüm adları serbesttir.
- Her bölümün altında bağlantı satırları — köşeli parantezde sayfa adı, parantezde tam URL, iki noktadan sonra tek cümlelik açıklama. Açıklama isteğe bağlı, ama dosyanın asıl değeri orada.
- İsteğe bağlı bir Optional bölümü: bağlam daraldığında modelin atlayabileceği ikincil bağlantılar.
URL'ler mutlak olmalı. Göreli yol veren bir dosya, kendi sitesinin dışına çıkarıldığı anda anlamını kaybediyor — ve bir modelin dosyayı okuduğu yer neredeyse hiçbir zaman sizin siteniz değil.
llms.txt ile llms-full.txt farkı ne?
İkisi arasındaki iş bölümü net: llms.txt bir harita, llms-full.txt bir döküm. Harita modeli doğru URL'e yollar ve birkaç kilobayt tutar. Döküm, sayfaların gövde metnini tek dosyada taşır ve yüz kilobaytları bulabilir; amacı, modelin siteyi hiç gezmeden sizi doğru anlatabilmesi.
llms-full.txt orijinal önerinin çekirdeğinde yoktu; dokümantasyon araçlarının pratiğinden çıkıp yaygınlaştı. Büyük olması otomatik olarak iyi değil: bağlam penceresini aşan bir dosya kırpılır ve hangi yarısının kırpıldığına siz karar veremezsiniz. Pratik kural, ikisini birlikte yayımlamak ve dökümü gerçekten alıntılanmasını istediğiniz içerikle sınırlamak.
Arama motorları bu dosyayı gerçekten okuyor mu?
Bugün itibarıyla hiçbir büyük arama motoru veya model sağlayıcısı llms.txt'i resmî olarak desteklediğini duyurmadı. Google tarafındaki açıklamalar dosyanın sıralamada kullanılmadığı yönünde; OpenAI, Anthropic ve Perplexity de bir destek beyanı yayımlamış değil. Size aksini söyleyen bir ajansa kaynağını sorun.
Yayımlayan taraf ise hızla büyüyor. Geliştirici dokümantasyonu yayımlayan şirketler dosyayı fiilen standart hâline getirdi, dokümantasyon platformlarının çoğu llms.txt ve llms-full.txt'i otomatik üretiyor. Dosya bu yüzden bir asimetride duruyor: yazan çok, resmen okuduğunu söyleyen yok. Asimetrinin kalıcı olacağını varsaymak için de bir sebep yok — bir motor desteği duyurduğu gün, dosyası hazır olan taraf hiçbir şey yapmak zorunda kalmaz.
Dosyanın bugün karşılık bulduğu yer başka: kullanıcı isteğiyle canlı sayfa çeken ajanlar. ChatGPT-User, Claude-User ve Perplexity-User gibi tarayıcılar bir soruya cevap verirken URL'i o an çekiyor, ve kökte duran sade bir harita otuz sayfalık bir HTML'den daha hızlı işleniyor. Aynı dosya kod ve dokümantasyon asistanlarının, kendi kurduğunuz sohbet asistanının ve içeriğinizi besleyen her erişim tabanlı kurulumun da işine yarıyor.
Karar çerçevesi bu yüzden basit: maliyeti bir saat, riski neredeyse sıfır — dosya zaten herkese açık sayfaları listeliyor, yeni hiçbir şeyi ifşa etmiyor. Getirisi ise belirsiz ama pozitif. Bir çeyreklik yol haritasına konacak iş değil; bir öğleden sonra kapanacak iş.
llms txt dosyası adım adım nasıl hazırlanır?
Altı adımlık bir iş. Dosyayı elle yazmak mümkün, ama ilk kararı doğru vermek sonrakileri kolaylaştırıyor: bu dosya kime, hangi soruyu cevaplasın diye yazılıyor?
- Alıcıyı tanımlayın. Model sizi neyle anmalı — hizmetlerinizle mi, teknik dokümantasyonunuzla mı, vakalarınızla mı? Dosyanın bölümleri bu cevaptan çıkar.
- Sayfaları seçin. Sitenizin tamamını değil, bir modelin sizi doğru anlatması için gereken yirmi-kırk sayfayı listeleyin. Envanteri sitemap zaten veriyor; burada seçim yapıyorsunuz.
- Her satıra bir cümlelik açıklama yazın. Sayfa başlığını tekrar etmeyin; sayfanın hangi soruyu cevapladığını yazın.
- Tanım cümlesini yazın. H1'in altındaki tek cümle, modelin sizi tarif ederken kullanacağı cümledir. Kendi hakkınızda okumak istediğiniz cümleyi yazın.
- Dosyayı içerik kaynağından türetin. Elle yazılan bir liste ilk slug değişikliğinde eskir ve kimse fark etmez.
- Yayımlayın ve doğrulayın. İçerik tipi text/markdown veya text/plain olmalı; tarayıcıda indirme başlatan bir dosya yanlış başlıkla sunuluyordur. Çok dilli bir siteniz varsa her dilin kendi sürümünü verin.
Yedinci bir adım yok. Dosya yayına girdikten sonra kalan iş içeriğin kendisini alıntılanabilir hâle getirmek, ve llms.txt o işin yerine geçmiyor.
Kendi sitemizde llms.txt'i nasıl kurduk?
Bu sitede dört dosya yayımlanıyor: /llms.txt, /tr/llms.txt, /en/llms.txt ve /llms-full.txt. Hiçbirinin içinde elle yazılmış bir bağlantı satırı yok. Hepsi içerik katmanından — hizmet, vaka, paket, yazı ve danışman kayıtlarından — derleniyor, derleme sırasında statik dosyaya dönüşüyor ve text/markdown içerik tipiyle sunuluyor. Hiçbiri istek anında hesaplanmıyor.
Kararın gerekçesi bakım. Bir slug değiştiğinde elle yazılmış bir llms.txt sessizce eskir: dosya hâlâ 200 döner, içindeki bağlantılar 404 verir ve bunu ilk fark eden taraf okurunuz olmaz. Bağlantı satırlarını içerik nesnelerinden ürettiğimiz için o senaryo mümkün değil — hizmet URL'i hizmetin kendi slug alanından, vaka URL'i vakanın slug alanından geliyor. Alan adı da sabit yazılmıyor, tek bir site adresi sabitinden okunuyor.
Dosyanın bugünkü içeriği: üç disiplin altında 12 hizmet, 9 vaka çalışması, yayındaki her yazı, iletişim ve beş kaynak sayfası — Türkçe sürümde kırkı aşan bağlantı, her biri tek cümlelik açıklamasıyla. Kök /llms.txt iki dili tek belgede birleştiriyor, Türkçe bölüm önde, bir ayırıcıdan sonra İngilizce bölüm geliyor. Tek dilli sürümler karşı dile hiçbir bağlantı taşımıyor, çünkü tek dilli bir dosyanın işi kendi dilinin haritasını vermek.
/llms-full.txt daha ileri gidiyor: her hizmetin kapsamı ve kapsam dışı maddeleri, dört paketin süresi ve üç para birimindeki sabit fiyatı, dokuz vakanın problem-yaklaşım-sonuç anlatısı ve metrikleri bağlamıyla birlikte. SIM Baskı Malzemeleri satırında 15 katlık organik trafik artışı, yanında "6 ayda; yeniden platform ve içerik programıyla" notuyla duruyor. Rakamı bağlamsız basmıyoruz — bir model onu alıntılayacaksa çerçevesiyle alıntılasın.
Bu dosyaların SIM Baskı Malzemeleri vakasındaki sonuçları ürettiğini iddia etmiyoruz. Orada organik trafiğin altı ayda 15 katına çıkması ve AI motorlarındaki görünürlüğün sıfırdan 40 bine ulaşması, sitenin beş dilli olarak yeniden kurulmasından ve içeriğin soru-cevap mimarisiyle yazılmasından geldi. llms.txt o işin dipnotu, kaldıracı değil. Sıralama bilinçli: önce içerik, sonra harita.
AI crawler'lara robots.txt'te ne demeli?
llms.txt'in okunabilmesi için sitenin o tarayıcıya açık olması gerekiyor, ve bu karar robots.txt'te veriliyor. Bizim robots dosyamız on AI crawler'ı adıyla listeliyor ve hepsine Allow veriyor: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, PerplexityBot, Perplexity-User, Google-Extended, Applebot-Extended ve CCBot.
Erişim zaten yıldız bloğunun altında açıktı; adları tek tek yazmanın sebebi niyeti okunur kılmak. Ama teknik bir tuzak var: robots.txt'te en özgül user-agent bloğu kazanır, yani adı geçen bir bot yıldız bloğunu hiç okumaz. Uygulama, yönetim ve API yollarını kapatan kısıt listesini her blokta tekrar etmezseniz, adını yazdığınız tarayıcılara herkesten geniş erişim vermiş olursunuz. Biz aynı kısıt listesini on bir bloğun hepsinde tekrar ediyoruz.
Bir ayrıntı daha: üretim dışı ortamlar tüm tarayıcılara Disallow: / döndürüyor. Ön izleme alan adının indekslenmesi kanonik sürümle çakışır, ve bu, iyi kurulmuş bir GEO çalışmasını sessizce bozan hatalardan biri.
En sık yapılan hatalar neler?
Dosyayı yayımlamak kolay, yanlış yayımlamak da öyle. Sahada tekrarlayan beş hata var.
- Sitemap kopyası yayımlamak. Açıklamasız bir URL listesi zaten sitemap.xml'de duruyor; llms.txt'in tek katkısı o açıklamalar.
- Elle yazıp unutmak. Altı ay sonra dosyada sitede olmayan sayfalar, sitede dosyada olmayan başlıklar kalır.
- Yanlış içerik tipiyle sunmak. text/html olarak dönen bir llms.txt, markdown bekleyen tarafta işlenmez.
- Çok dilli sitede tek dil yayımlamak. İngilizce sayfalarınız modelin haritasında hiç görünmez.
- Dosyayı sıralama vaadi sanmak. llms.txt kimseyi kaynak göstermeye ikna etmiyor; içeriğin kendisi ikna ediyor — Google AI Overviews'da yer almak bunun kendi başına bir iş kalemi.
Bu hafta hangi testi yapabilirsiniz?
Tez şu: llms.txt sıralama kazandırmaz, ama okunabilirlik borcunuzu görünür kılar. Dosyayı hazırlarken kendinize sorduğunuz "bir model beni hangi kırk sayfayla doğru anlatır" sorusu çoğu sitede yılda bir kez bile sorulmuyor, ve asıl kazanç o sorunun cevabında.
Bugün yapabileceğiniz somut test iki dakika sürüyor. Tarayıcınıza kendi alan adınızı, sonuna da /llms.txt yazın. 404 alıyorsanız, dosyayı kurmadan önce ikinci soruyu sorun: kurulsaydı içine hangi sayfaları koyardınız ve her birinin yanına ne yazardınız? O listeyi çıkarmakta zorlanıyorsanız sorun dosyada değil, sitenin kendini anlatma biçiminde. Aynı testi bir de rakibinizin alan adında yapın; kimin ne kadar hazırlandığını on saniyede görürsünüz.
Listeyi çıkardıktan sonra sıradaki iş içeriğin kendisi. Yapay zeka aramalarında öne çıkma rehberi o kısmı adım adım anlatıyor; kurulmuş hâlinin rakamları da vaka sayfalarımızda duruyor.