İçeriğe geç
Pzt–Cum 09:00–18:00
Yapay Zeka Aramaları (GEO) — 11 dk okuma

llms.txt: henüz kimsenin okumadığı, yine de yazmaya değer dosya

Sitenizin kökündeki /llms.txt adresi çoğu sitede 404 döner. Dosyanın ne yaptığını, hangi motorun okuyup okumadığını ve kendi sitemizde onu içerik katmanından nasıl türettiğimizi anlatıyorum — sıralama vaadi olmadan.

Burak Arda Özgül28 Ağustos 202611 dakika okuma

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?

  1. 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.
  2. 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.
  3. Her satıra bir cümlelik açıklama yazın. Sayfa başlığını tekrar etmeyin; sayfanın hangi soruyu cevapladığını yazın.
  4. 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.
  5. Dosyayı içerik kaynağından türetin. Elle yazılan bir liste ilk slug değişikliğinde eskir ve kimse fark etmez.
  6. 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.

Sık sorulan sorular

llms.txt en kısa tanımıyla nedir?

llms.txt, bir sitenin kök dizininde duran ve içeriğini dil modellerine sade metin biçiminde haritalayan bir dosya önerisidir. Markdown yazılır: tek bir H1 başlık, bir cümlelik kurum tanımı, sonra bölüm başlıkları altında sayfa adı, tam URL ve tek cümlelik açıklama taşıyan bağlantı satırları. Öneri Eylül 2024'te Jeremy Howard tarafından ortaya atıldı ve teknik tanımı llmstxt.org'da yayımlanıyor. Resmî bir standart değil, yaygınlaşmış bir sözleşme.

llms.txt nasıl hazırlanır?

Altı adım var. Önce dosyanın kime yazıldığına karar verin: model sizi hizmetlerinizle mi, dokümantasyonunuzla mı, vakalarınızla mı anmalı. Sonra sitenizin tamamını değil, sizi doğru anlatan yirmi-kırk sayfayı seçin. Her bağlantıya sayfa başlığını tekrar etmeyen, sayfanın hangi soruyu cevapladığını söyleyen bir cümle yazın. H1 altındaki tanım cümlesini kendi hakkınızda okumak istediğiniz cümle olarak kurun. Dosyayı elle değil içerik kaynağınızdan türetin. Son adım yayın ve doğrulama: içerik tipi text/markdown olmalı.

llms.txt ile llms-full.txt arasındaki fark ne?

İş bölümü net: biri harita, diğeri döküm. llms.txt yalnızca bağlantı ve tek cümlelik açıklama taşır, birkaç kilobayttır ve modeli doğru URL'e yollar. llms-full.txt sayfaların gövde metnini tek dosyada toplar, yüz kilobaytları bulabilir ve amacı modelin siteyi hiç gezmeden sizi doğru anlatabilmesidir. Büyük dosya otomatik olarak iyi değil — bağlam penceresini aşan bir döküm kırpılır ve hangi bölümün düştüğüne siz karar veremezsiniz.

llms.txt SEO'ya yarar mı, sıralamayı etkiler mi?

Doğrudan bir etkisi yok. Hiçbir büyük arama motoru dosyayı sıralama sinyali olarak kullandığını duyurmadı, Google tarafındaki açıklamalar da aksi yönde. Dosyayı eklemek klasik SEO metriklerinizde bir hareket yaratmaz. Buna rağmen eklemeye değer olmasının sebebi maliyet dengesi: bir saatlik iş, sıfıra yakın risk, belirsiz ama pozitif getiri. Sıralama beklentisiyle yaklaşan herkes hayal kırıklığına uğrar; okunabilirlik disiplini olarak yaklaşan kazanır.

ChatGPT llms.txt dosyasını okuyor mu?

Kısmen, ve resmî bir taahhüt olmadan. OpenAI llms.txt desteğini duyurmuş değil; dolayısıyla eğitim veya indeksleme tarafında dosyanın işlendiğini varsaymak yanlış olur. Ama kullanıcı bir bağlantıyı sorduğunda sayfayı o an çeken ChatGPT-User gibi ajanlar kökteki sade metni işleyebiliyor, ve bu dosya otuz sayfalık bir HTML'den hızlı okunuyor. Pratikte kazanç, eğitim verisine girmekten çok canlı çekimlerde doğru anlaşılmak.

llms.txt dosyası nereye konur?

Sitenin kök dizinine, robots.txt ile aynı seviyeye: alanadiniz.com/llms.txt. Alt klasörde duran bir dosyayı kimse aramaz, çünkü öneri tek bir sabit adres tanımlıyor. Çok dilli bir sitede kökteki dosyayı ana dilinizle kurup her dile ayrıca kendi sürümünü verebilirsiniz; biz kökte iki dili birleştirip /tr/llms.txt ve /en/llms.txt adreslerinde tek dilli sürümleri ayrıca yayımlıyoruz. İçerik tipinin text/markdown veya text/plain olması gerekir.

llms.txt ile robots.txt aynı şey mi?

Hayır, iki dosya farklı sorulara cevap veriyor. robots.txt bir izin belgesidir: hangi tarayıcının hangi yolu taramasına izin verildiğini söyler ve erişimi kontrol eder. llms.txt bir anlam belgesidir: erişimi hiç düzenlemez, yalnızca hangi sayfaların önemli olduğunu ve neyi anlattığını gösterir. İkisi birbirinin yerine geçmez — robots.txt'te kapalı bir siteyi llms.txt açamaz, llms.txt'i olmayan bir site robots.txt sayesinde daha iyi anlaşılmaz.

llms txt dosyasında kaç bağlantı olmalı?

Sabit bir sayı yok, ama seçicilik dosyanın işlevinin kendisi. Yirmi ile kırk bağlantı çoğu kurumsal site için işi görüyor; bizim Türkçe sürümümüzde 12 hizmet, 9 vaka ve yayındaki her yazıyla birlikte kırkın üzerinde satır var. Sınırı belirleyen soru şu: bir model bu listeyle sizi doğru anlatabilir mi? Yüzlerce bağlantı eklemek dosyayı sitemap kopyasına çevirir ve seçim yapmadığınız için modelin işini kolaylaştırmaz.

Çok dilli bir sitede llms.txt nasıl yönetilir?

Her dilin kendi sürümü olur, ve o sürüm yalnız kendi dilinin URL'lerini taşır. Tek dilde yayımlanan bir dosya diğer dildeki sayfalarınızı modelin haritasından siler; bu, ihracat yapan siteler için doğrudan bir görünürlük kaybı. Bizim düzenimizde kök /llms.txt iki dili tek belgede birleştiriyor, Türkçe bölüm önde geliyor; /tr/llms.txt ve /en/llms.txt ise tek dilli belgeler olarak duruyor ve karşı dile bağlantı vermiyor.

llms.txt olmadan yapay zeka motorlarında görünür olunur mu?

Evet, hem de rahatlıkla. Bugün AI motorlarında kaynak gösterilen sitelerin büyük çoğunluğunda bu dosya yok; görünürlüğü sağlayan şey içeriğin yapısı. Soru biçiminde başlıklar, başlık altında net cevap veren ilk paragraf, kendi başına anlamlı pasajlar ve metnin içine yerleştirilmiş rakamlar. SIM Baskı Malzemeleri'nde 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ı bu mimariden geldi, bir dosyadan değil.

llms.txt dosyasını kim güncelleyecek?

En iyi cevap: kimse. Dosya elle yazıldığında sahibi hızla belirsizleşir ve ilk slug değişikliğinde sessizce eskir — 200 dönmeye devam eder, içindeki bağlantılar 404 verir. Bu yüzden dosyayı içerik kaynağınızdan türetmek bir tercih değil, bakım kararıdır. Bizim dört llms dosyamızın içinde elle yazılmış tek bir bağlantı satırı yok; hepsi hizmet, vaka, paket ve yazı kayıtlarından derleme sırasında üretiliyor, dolayısıyla içerik değiştiğinde dosya kendiliğinden güncel kalıyor.
B
YazarBurak Arda Özgül

Kurucu · Marka Stratejisti ve Kreatif Direktör

Marka stratejisi ve performans pazarlamayı aynı masada tutan nadir isimlerden. Kurumsal markaların büyüme mimarisini kuruyor; Türkiye, Avrupa ve MENA pazarlarında 40+ markaya eşlik etti.

Nereden başlayalım?

Üç farklı hızda giriş kapısı. Hangisi sana uygunsa.

Brief gönder