“ChatGPT'nin beni kaynak göstermesini nasıl sağlarım?” sorusu genellikle bir liste yazısıyla yanıtlanır: iyi içerik yazın, şema ekleyin, bir llms.txtoluşturun. Bu tavsiyeler yanlış olmaktan çok yanlış katmana yöneliktir. Bir sayfanın nasıl görünmesi gerektiğini anlatır ve sonucu gerçekten belirleyen iki soruyu atlar: bilgi getirme sistemi sayfanıza erişebiliyor mu, ve sayfada bağlamından koparıldığında da anlamını koruyan bir pasaj var mı?
Bu yazı, mekanizmayı gerçekten işlediği sırayla anlatıyor. Bu kontrolleri kendi sitemizde çalıştırıyoruz ve bunlardan birkaçı sayesinde, içerik üzerinde ne kadar çalışsak da çözemeyeceğimiz sorunları bulduk.
Kaynak gösterilmek, sıralama değil bilgi getirme sorunudur
ChatGPT bağlantılarla yanıt verdiğinde, her soru için web'i canlı olarak okumaz. Bir bilgi getirme adımı, bir dizinden aday pasajları çeker; model dönen içerikten bir yanıt oluşturur ve dayandığı bölümlerin kaynaklarını belirtir. Bunun iki sonucu vardır ve klasik SEO'dan geliyorsanız ikisi de sezgilere aykırıdır:
- Birim sayfa değil, pasajdır. Bir sayfa iyi sıralanıp hiçbir katkı sağlamayabilir; çünkü alıntılanmaya değer bilgi bir görselde, metin karşılığı olmayan bir grafikte veya yalnızca JavaScript çalıştıktan sonra oluşan bir paragrafta bulunur.
- Getirilebilir olmak ve alıntılanabilir olmak farklı eşiklerdir. Dizinde yer almak bir ön koşuldur. Kaynak gösterilmenizi sağlayan şey, soruya ilişkin mevcut en açık cümleyi sunmaktır. GEO kontrol listelerinin çoğu yalnızca ilkine odaklanır, sonra da trafiğin neden değişmediğini sorgular.
Sıralama ve kaynak gösterilme pratikte ayrışır. Bir anahtar kelimede üçüncü sırada olup hiç kaynak gösterilmeyebilirsiniz; çünkü üstünüzdeki iki sayfa yanıtı kendi başına anlamlı tek bir cümlede verirken siz yanıtınızı “Felsefemiz” başlıklı bir bölümün dördüncü paragrafına gömmüşsünüzdür.
Üç bot, üç farklı görev
En maliyetli hatalar burada yapılır; çünkü insanlar “OpenAI'ın tarayıcısını” tek bir şeymiş gibi düşünür. OpenAI üç ayrı ajanı belgeler ve bunlar aynı işi yapmaz :
- GPTBot — model eğitimi için toplu tarama yapar. Bunu engellemek, gelecekteki modellerin sitenizden ne öğreneceğini değiştirir. Sizi ChatGPT'nin canlı kaynak gösterimlerinden çıkarmaz.
- OAI-SearchBot — bilgi getirme sisteminin okuduğu arama dizinini oluşturur. Kaynak gösterilip gösterilemeyeceğinizi belirleyen budur.
- ChatGPT-User — bir kullanıcının sorusu canlı gezinmeyi tetiklediğinde belirli bir URL'yi getirir. Bunu engellerseniz, tam biri sizin hakkınızda soru sorduğu anda getirme işlemi başarısız olur.
Yaygın hata şudur: bir ekip, içeriğinin model eğitiminde kullanılmasını istemediğine karar verir, GPTBot'u engeller ve bilinçli bir karar verdiğini düşünür. Vermiştir; eğitim hakkında. Bilgi getirme hakkında hiçbir karar vermemiştir. Daha kötü sürümü ise şudur: biri tek bir joker karakter kuralıyla bütün OpenAI ajanlarını engeller ve şirketi sessizce yapay zekâ yanıtlarından siler; ardından rakiplerinin neden kaynak gösterildiğini anlamaya çalışarak bir çeyrek geçirir.
Bunlar ayrı ayrı verilebilen kararlardır; dolayısıyla ayrı ayrı verin. Bizim robots.txt dosyamız üçünün de erişimine izin verir ve şunları engeller: /api/ ve paylaşım bağlantıları; çünkü paylaşım bağlantıları, dizinde yeri olmayan kullanıcı içerikleridir. Sizinki farklı olabilir; eğitim ve bilgi getirme gerçekten farklı ödünleşimlerdir. Yalnızca sağlayıcıya göre değil, bota göre karar verin ve sağlayıcının belgelerini ara sıra yeniden okuyun; çünkü bu politikalar değişir.
Sizi gerçekten durduran kapı robots.txt değildir
Robots bir ricadır ve herkesin incelediği katmandır. Asıl engel çıkaran katman CDN veya WAF'ınızdır. Uç platformlar, birçok varsayılan yapılandırmada tanımadıkları kullanıcı aracılarına doğrulama uygular veya onları engeller ve sonuç sessizdir: robots.txt şunu der: Allow, uç katman 403 döndürür ve deponuzdaki her dosya erişime açık olduğunuzu söylerken siz taranamaz durumda olursunuz.
Kontrol on saniye sürer ve neredeyse kimse yapmaz:
curl -s -o /dev/null -w "%{http_code}\n" -A "OAI-SearchBot" https://your-site/
curl -s -o /dev/null -w "%{http_code}\n" -A "ChatGPT-User" https://your-site/
curl -s -o /dev/null -w "%{http_code}\n" -A "PerplexityBot" https://your-site/200 erişilebilir demektir. Bir 403, bir 503veya bir doğrulama sayfası, içerik üzerinde ne kadar çalışırsanız çalışın çözemeyeceğiniz bir görünürlük sorununuz olduğu anlamına gelir. Bu kontrolü kendi ağınızın dışından, işlettiğiniz her alan adı için canlı ortamda çalıştırın; her alan adının genellikle kendi uç katman yapılandırması vardır ve bunlar zamanla birbirinden uzaklaşır.
Bu yazıdan yalnızca bir şey yapacaksanız bunu yapın. Harcanan saniye başına en yüksek getiriyi sağlayan kontrol budur ve hiçbir içerik denetiminde görünmez.
Bir bilgi JavaScript gerektiriyorsa yok demektir
Bilgi getirme tarayıcıları genellikle JavaScript çalıştırmadan ham HTML'i ayrıştırır. Bu yüzden bir ifadenin kaynak gösterilebilir olup olmadığının testi, tarayıcınızın gösterdiği şey değil, şudur:
curl -s https://your-site/page/ | grep -i "the claim you want quoted"Çıktıda hiçbir şey yoksa kaynak gösterilecek bir şey de yoktur. Bunun somut bir tasarım sonucu vardır: kaynak gösterilmesi kritik olan metinler — tanımınız, temel bilgiler, SSS yanıtları, fiyatlandırma ve güvenlik beyanları — sunulan HTML'de bulunmalıdır. Hydration sonrasında metni değiştiren bir çalışma zamanı sözlüğü, iyileştirme olarak uygundur; ancak bilginin bulunduğu tek yer olamaz.
Bu sorun en çok çok dilli siteleri etkiler ve biz tasarımımızda bu tuzaktan özellikle kaçındık. Çince metniniz yalnızca bir JavaScript i18n sözlüğünde bulunuyorsa, ham HTML okuyan bir tarayıcı açısından Çince içeriğiniz hiç yoktur. Bizim çözümümüz, her dili gerçek işaretleme olarak doğrudan sayfaya eklemek ve insanın hangisini göreceğine CSS'in karar vermesini sağlamaktır. Tarayıcılar dört dili de alır; okuyucular birini görür. Sayfa boyutunu artırır ama buna değer.
Bağlamından koparıldığında da anlamını koruyan pasajlar yazın
Bu, altyapıdan çok yazıyla ilgili olan kısımdır ve altyapı çalıştıktan sonra asıl etkiyi burada yaratırsınız.
Getirilen bir metin parçası, sayfanızın geri kalanı olmadan modele ulaşır. Başlık hiyerarşisi, önceki paragraf veya gezinme menüsü yoktur. Buna göre yazın:
- Önce yanıtı verin. Bir başlığın altındaki ilk cümle hazırlık değil, yanıt olmalıdır. “X, Y'dir” ifadesi, hiçbir şeyi yanıtlamayan ve asla alıntılanmayan “Günümüzün hızla değişen dünyasında…” ifadesinden daha iyidir.
- Özneleri açıkça belirtin. “OAuth'u destekler” bağlamından çıkarıldığında kullanılamaz hâle gelir; “Orkas OAuth'u destekler” ise anlamını korur. Metin parçalara ayrılırken zamirler işlevini yitirir.
- Her iddiayı kendi başına yeterli kılın. Varlık, koşul ve sınır tek cümlede: “Kendi sağlayıcınızı kullandığınızda model trafiği doğrudan o sağlayıcıya gider ve Orkas üzerinden proxy ile yönlendirilmez.” Bu cümle, yanlış bir ifadeye dönüşmeden tek başına alıntılanabilir; tam da bu yüzden alıntılanmaya uygundur.
- Etkileyici olanı değil, doğrulanabilir olanı tercih edin. Belirsiz üstünlük ifadeleri asla kaynak gösterilmez; çünkü kimsenin sorduğu hiçbir soruyu yanıtlamazlar.
Bilgi getirme anahtarı sorudur
Kullanıcılar soru sorar ve bilgi getirme sistemi soru biçimindeki metinlerle eşleşir. Sorunun kendisi olan bir başlık — “Orkas model trafiğini proxy üzerinden yönlendiriyor mu?” — “Model mimarisi” gibi bir isim öbeğinden daha iyi eşleşir. SSS bloklarının yapay zekâ görünürlüğünde boyutlarından çok daha büyük bir etki yaratmasının nedeni şema sihri değil, budur: bunlar kelimenin tam anlamıyla soru-yanıt çiftleridir ve getirilen içeriğin biçimi de budur.
Yapılandırılmış veri sizi tercih edilir değil, ayrıştırılabilir kılar
JSON-LD kaynak gösterilmenizi sağlamaz. Açık sınıflandırma sağlar: bu sayfanın ne olduğu, kimin yayımladığı, hangi metnin soru ve hangisinin yanıt olduğu. İki kural diğerlerinden daha önemlidir:
- SSS şeması, görünür metinle bire bir eşleşmelidir. Sayfanın söylemediği bir şeyi iddia eden şema bir güven sorunudur ve arama motorları bu uyumsuzluğu biçimlendirme hatası değil, spam sinyali olarak değerlendirir.
- Puan, ödül veya sayıları asla uydurmayın. Uydurulmuş tek bir toplu değerlendirme puanı yakalayan bir motorun, ileri sürdüğünüz diğer her şeye daha az güvenmek için nedeni vardır.
1:1 kuralı sessizce bozulmaya yatkındır: biri görünür SSS'yi düzenler, şemayı unutur ve altı ay sonra ikisi uyuşmaz. Bunu, site haritamızdaki her sayfayı dolaşan, SSS'yi JSON-LD'den çıkaran ve her soru ile yanıt metninin o sayfanın görünür metninde aynen bulunduğunu doğrulayan bir testle uygularız. Bir sapma olursa derleme başarısız olur. Yapılandırılmış veri, kendi sayfanız hakkında bir iddiadır; öyle denetlenmelidir.
llms.txt: düşük maliyetli, yararlı ve abartılı pazarlanan
Bu dosyanın ne olduğu konusunda dürüst olun. llms.txt önerilen bir uzlaşımdır. Hiçbir büyük motor onu okuyacağını taahhüt etmez ve size bunun bir veri alım kanalı olduğunu söyleyen herkes tahmin yürütüyordur.
Gerçekte yararlı olduğu alan daha dardır ama yine de bir saat ayırmaya değer: temel bilgilerinizin açıkça belirtildiği tek ve kalıcı bir yer — ürünün ne olduğu, model ve verilerin nasıl işlendiği, fiyatlandırma, önemli URL'ler. Bir tarayıcı veya insan araştırmacı buraya ulaştığında, bilgileri pazarlama sayfalarından yeniden bir araya getirmek yerine süssüz hâlini görür. Bu aynı zamanda sizi net olmaya zorlayan yararlı bir araçtır. Ürününüzle ilgili gerçekleri kırk satırda sıfat kullanmadan ifade edemiyorsanız, sayfalarınız da edemez; bu da zaten karşılaşacağınız bir içerik sorunudur.
Olmadığı şeyler: bir garanti veya bu bilgilerin sayfaların kendisinde bulunmasının yerine geçen bir çözüm.
Çelişkiler elenmenize yol açar
Yanıt motorları çapraz kontrol yapar. Fiyatlandırma sayfanız bir şey, belgeleriniz başka bir şey, ana sayfanızdaki SSS ise üçüncü bir şey söylüyorsa motor hakemlik yapmaz; ya temkinli bir yanıt verir ya da tutarlı olan başka birini kaynak gösterir.
Bu yüzden asıl işin büyük kısmı, farklı yerlerdeki bilgilerin tutarlılığıdır ve bunun hiçbir yanı gösterişli değildir. Model, fiyatlandırma veya güvenlikle ilgili bir bilgi değiştiğinde, aynı değişiklik kapsamında her yerde güncellenmelidir — sayfa, belgeler, ana sayfa SSS'si, llms.txt — aksi takdirde düzenlemeden daha uzun yaşayacak bir çelişki üretmiş olursunuz. Bunu bir alışkanlık değil, kesin bir kural olarak ele alıyoruz; çünkü alışkanlıklar teslim tarihlerine yenilir.
Dışarıdan doğrulama, kendi iddianızdan daha güçlüdür
Kabul etmesi en zor kısım şu: sizin hakkınızda mevcut en zayıf kaynak kendi sitenizdir. Motorlar dışarıdan doğrulamaya ağırlık verir ve bunu yapmakta haklıdır. Yalnızca kendi alan adınızda yer alan bir iddia, pazarlama iddiasıdır. Aynı iddia GitHub'da, üçüncü taraf karşılaştırmasında, bir forum başlığında veya başkasının yazdığı belgelerde yer aldığında bir olgudur.
Bu nedenle, site içi temeller gerçekten sağlandıktan sonra site dışı çalışma bir açılış sayfası daha oluşturmaktan daha iyi sonuç verir: depolar, dizinler, liste yazıları, gerçek tartışmalar. Kabaca söylemek gerekirse site içi çalışma sizi kaynak gösterilebilir kılar; site dışı çalışma ise kaynak gösterilmenizi sağlar. Ekipler sürekli olarak ilkine gereğinden fazla yatırım yapar; çünkü kontrol edebildikleri yarı odur.
Kendinizi kandırmadan nasıl ölçersiniz?
GEO yazılarının genellikle muğlaklaştığı yer burasıdır, o yüzden açık olalım: ChatGPT'deki kaynak gösterimlerini kesin biçimde ölçemezsiniz. Bir gösterge paneli yoktur. Elinizde üç kusurlu sinyal vardır:
- Sunucu günlükleri. Grep ile şunu arayın:
OAI-SearchBotveChatGPT-User. Tarama sıklığı ve hangi URL'lerin getirildiği, dizinde bulunup bulunmadığınızı ve nelerin canlı olarak çekildiğini gösterir. Elinizdeki en dürüst sinyal budur. - Asistandan gelen yönlendirme trafiği. Gerçektir ama kısmidir; pek çok kaynak gösterimi okunur ve hiç tıklanmaz. Zaten bir yanıt motorunun bütün amacı budur.
- Elle yapılan örnek kontroller. Yanıtlarında öne çıkmak istediğiniz on soruyu sorun; kimin kaynak gösterildiğini kaydedin. Zahmetlidir, yalnızca yön gösterir ve yanıtların kendisini gözlemlemenin hâlâ tek yoludur.
Üçünü de yön gösterici olarak ele alın. Size kesin bir “GEO puanı” satan kişi, kendi uydurduğu bir sayıyı satıyordur.
Biz gerçekte önce ne yapardık?
Sunumda ne kadar iyi göründüğüne göre değil, getirisine göre sıralanmıştır:
- 1.
curl -Aile bilgi getirme botlarını canlı ortamda test edin. Uç katman onları engelliyorsa bu listedeki başka hiçbir şeyin önemi yoktur. - 2.
curl | grepile temel iddialarınızı kontrol edin. Yalnızca JavaScript'te bulunan her şeyi sunulan HTML'e taşıyın. - 3. Her başlığın altındaki ilk cümleyi, özneleri açıkça belirtilmiş bir yanıt olacak şekilde yeniden yazın.
- 4. SSS metni ile SSS şemasını aynı hâle getirin ve görünür metinle destekleyemediğiniz her şemayı silin.
- 5. Sayfalar, belgeler ve şu dosya arasında çelişen bilgileri uzlaştırın:
llms.txt. - 6. Sonra — ancak bundan sonra — site dışında doğrulama kazanmaya çalışın.
Eksik kaynak gösterimlerinin nedeni genellikle 1. ve 2. adımlarda saklıdır. Bunlar aynı zamanda kimsenin hakkında yazı yazmadığı iki adımdır; çünkü içerik pazarlaması değildir.
Sonuç
ChatGPT tarafından kaynak gösterilmek, etrafındaki kısaltmanın düşündürdüğünden daha az gizemlidir. Bilgi getirme botu tarafından erişilebilir olun. JavaScript olmadan okunabilir olun. Kendi başına anlamlı tek bir cümlede alıntılanabilir olun. Kendi yayın alanlarınız arasında tutarlı olun. Pazarlama siteniz dışında bir yerde doğrulanın. Araçlar değişir; bu beş ilke geçerliliğini korur.
Bu kontrolleri kendi sitemizde çalıştırıyoruz ve bunları, bir sitenin şu yönünü denetleyen bir Orkas iş akışına ekledik: arama ve yapay zekâ yanıtlarında görünürlük ve önceliklendirilmiş bir düzeltme listesi sunar. Alttaki katmanı — bir lider ajanın işi nasıl planlayıp uzmanlara dağıttığını — merak ediyorsanız şunu okuyun: pratikte çok ajanlı orkestrasyon.