> >
Ölçüm yöntemi

Neyi, nasıl ölçüyoruz?

Bir ölçüm ürünü, ölçüsünü açıklamak zorundadır. Aşağıda GEO skorunun formülü, sorulan sorular, "göründü" sayılma kriteri ve yöntemin bilinen sınırları var — hepsi, iyi görünmeyenler dahil.

Skor

GEO skoru iki ölçümün ortalamasıdır

Skorunuz %50 motor görünürlüğü + %50 teknik site hazırlığı. İki taraf birbirinden bağımsız ölçülür; biri ölçülemezse skor mevcut tarafa dayanır ve raporda bu açıkça yazılır — eksik ölçümü sıfır saymayız.

Bu birleşik sayı bir hazırlık endeksidir, görünürlük ölçüsü değildir. Sitesi kusursuz ama motorlarda hiç görünmeyen bir marka da bu endekste yüksek çıkar. Aylık raporda bu yüzden adı GEO Hazırlık Endeksidir ve asıl gösterge ayrıca verilir: AI keşif görünürlüğü — yani sizi bilmeyen birinin sizi bulup bulamadığı.

Motor görünürlüğü nasıl hesaplanır

Her motor için ayrı bir skor çıkarılır, sonra motorların ortalaması alınır. Tek motorun skoru şu iki şeyden oluşur:

"Göründü" ne demek: motorun cevap metninde marka adınızın geçmesi. Adın geçtiği her yer sayılır; olumlu anılma şartı aranmaz — marka algısı ayrı bir bölümde ölçülür.

Sayfası okunacak kaynaklar frekans sırasına göre seçilir. Liste bir dönem geldiği sırayla kesiliyordu ve en sık okunan kaynaklar sınıflandırılmadan kalıyordu: bir raporda 6, 6 ve 5 soruda geçen üç kaynak “önce açıp bakın” diye müşteriye ödev olarak verilirken, 2 soruda geçen iki kaynağın sayfası okunmuştu. Yetenek vardı, en önemli yere uygulanmamıştı — analitik işi müşteriye geri devretmek, raporun geri kalanındaki titizlikle çelişir.

Kaynağın ne olduğunu alan adından tahmin etmiyoruz — sayfayı açıp okuyoruz. Bir alan adı ipucudur, kanıt değildir ve bunu üç kez pahalıya öğrendik: “bet” alt dizesi bir yapı malzemesi satıcısını bahis sitesi saydı, “grup/group” farkı bir rakibi görünmez yaptı, ve “sanayi” alt dizesi bir fan üreticisinin kendi sitesini “Sektör dizini” yaptı — o satır yüksek öncelikli bir iş olarak müşteriye gitti ve biz ona rakibinin sitesinde firma profili açmasını söyledik. Oysa bir dizin ile bir firma sitesi bambaşka metinler taşır ve fark gözle bariz: dizin ziyaretçiyi kayda çağırır (“firmanızı ekleyin”, “üye ol”, “12.500 firma kayıtlı”), bir firma kendinden birinci çoğul şahısla söz eder (“ürünlerimiz”, “fabrikamız”, “referanslarımız”). Bu ayrım deterministik olarak ölçülebilir; yapay zekaya sormaya gerek yok. Alan adından kesin karar veremediğimiz kaynakların ana sayfasını açıp metnini okuyoruz ve üç şeyi birlikte soruyoruz: sayfa bir dizin mi yoksa tek bir firma mı anlatıyor, anlattığı iş sizin kategorinizde mi, ve sayfa okunabildi mi. Üçü de olmadan “rakip” demiyoruz. Dizin işareti bilerek daha güçlü sayılır: bir dizin de “hakkımızda” sayfası taşır, ama bir firma “firmanızı ekleyin” demez. Kategori kelimeniz sayfanın başlığında geçiyorsa “rakip”, yalnız gövdesinde geçiyorsa “muhtemelen rakip” diyoruz. Sayfa okunamazsa (bazı dizinler otomatik istekleri reddeder) alan adı tahminine geri düşüyoruz ve raporda hangi satırın okunarak, hangisinin tahminle sınıflandığı yazıyor.

Kategori adınızı taşıyan alan adı muhtemelen rakiptir. Bir fan üreticisinin raporunda robinsonfans.com ve vimaxfan.com “sınıflandıramadık, önce açıp bakın” diye ödev olarak verildi — adlarından ne oldukları belli. Rakip listesinde olmadıkları için tanınmıyorlardı, oysa sizin kendi kategori kelimeniz elimizdeydi. Bilinen bir tipe uymayan alan adı sizin kategori kelimenizi taşıyorsa artık “muhtemelen rakip sitesi” diyoruz — “rakip” değil, çünkü bir dizin de o kelimeyi taşıyabilir. Gerekçesini yazıyoruz ve bir dakikalık doğrulama istiyoruz; bilmediğimizi bildiğimiz gibi sunmuyoruz. Çok genel kelimeler (sistem, çözüm, teknoloji, ürün) ayıklanır: onlar her alan adına uyar ve ayırt etmez.

Rakip listesi ile kaynak listesi birbirini besler. Motorların gösterdiği bir alan adı, aynı ölçümde çıkardığımız rakip markalardan birine aitse onu “sınıflandıramadık” diye müşteriye ödev olarak vermeyiz — cevap zaten raporun içinde durur. Bir raporda “ERF Grup” rakip listesindeydi ve erfgroup.com için “önce açıp bakın” dedik; sebep tek bir kelimeydi: marka adı Türkçe “Grup”, alan adı İngilizce “group”. Kurumsal kelimeler (grup/group, holding, sanayi, teknoloji/technology, ltd, A.Ş.) artık iki dilde de atılıp çekirdek adlar karşılaştırılıyor.

Denetim yapılamadıysa yüzdeyi doğrulanmış gibi sunmuyoruz. Varlık denetimi bir yapay zeka çağrısıdır ve düşebilir. Düştüğünde hiçbir hücre elenmiyordu ve rapor “9 cevabın 9'u doğru şirketten bahsediyordu — tanınırlık %100” diyordu; oysa hiçbiri denetlenmemişti. Aynı raporun alt bölümünde motorun markayı bir bakanlık birimi sandığı yazıyordu: müşteri önce %100 rozetini, sonra o cümleyi okuyor ve ölçüme güveni gidiyor. Yakalanan hata loglanmıyorsa yakalanmamış sayılır. Denetim tamamlanamazsa rapor artık bunu açıkça yazıyor ve yüzdenin doğrulanmamış olduğunu, olduğundan yüksek olabileceğini söylüyor.

Adı paylaşan markalarda “tanındı” yetmez. Motor doğru şirketten bahsedip aynı adı taşıyan başka bir varlığı da anlatabiliyor: “KABİM, Kültür ve Turizm Bakanlığı'nın bir birimidir; ayrıca yazıcı sarf malzemesi satan bir firma da bu adı kullanır.” Hakem bunu uzun süre doğru saydı — doğru şirket cevapta geçiyor, karışıklık yok gibi görünüyor. Sonuç, raporun kendi kendini yalanlamasıydı: aynı sayfada hem “%100 doğru tanınma” hem “motorlar sizi kamu kurumu olarak tanımlıyor” yazıyordu. Adınızı bilen biri böyle bir cevabı okuduğunda hangi şirketten bahsedildiğinden emin olamaz; bu temiz bir tanınma değildir. Bu hücreler artık tanınma saymıyor ve raporda ayrı bir dille anlatılıyor, çünkü müdahalesi de farklı: “sizi tanımıyor” ile “sizi tanıyor ama adınız paylaşılıyor” aynı iş değil.

Bir cevapta bulunan karışıklık, diğer cevaplar için de kanıttır. Denetim her cevabı ayrı ayrı inceliyor ve bir çağrıda fark ettiğini öbüründe kaçırabiliyor. Bir ölçümde bunun somut sonucu şu oldu: iki cevap “aynı adlı, başka ülkede merkezli bir şirketle birlikte anlatıyor” diye düşürüldü ve gerekçesi yazıldı; aynı ölçümdeki başka bir motorun cevabı markayı doğrudan o ülkede merkezli diye tanımlıyordu ve doğru sayıldı. Rapor aynı sayfada hem bulguyu hem bulguyu çürüten bir onay işareti bastı. Biz bütün cevaplara aynı anda bakabiliyoruz: doğrulanmış bir karışıklığın ayırt edici ifadesi çıkarılıp diğer cevaplarda aranıyor ve bulunan hücre tanınma saymıyor. Yanlış pozitife karşı üç kapı var — jeton dört harften uzun ve jenerik olmamalı, markanın kendi adı olmamalı, ve en önemlisi sitenizde geçmemeli: siteniz o ülkeden söz ediyorsa cevapta geçmesi karışıklık kanıtı değildir, gerçekten orada bir ofisiniz olabilir. Bu kararlar raporda ayrıca yazılır, çünkü hakemden değil bizim çıkarımımızdan gelirler.

O kapı ilk gerçek vakada delindi ve bunu da yazıyoruz. “Jeton sitenizde geçiyorsa kanıt sayılmaz” kuralı, hakem karışıklığı Türkçe yazdığında ve site İngilizce olduğunda çalışmadı: “Belçika” ile “Belgium” aynı yerdir ama metin olarak eşleşmez. Sonuç, büyük olasılıkla aynı şirkete ait hücrelerin düşürülmesi oldu. Normalleştirme aksanı çözüyordu, dili çözmüyordu. Artık dar ve kapalı bir eşanlam tablosu var (yaklaşık otuz ülke, Türkçe ve İngilizce yazımlarıyla) — yer adları bu hatanın en olası kaynağı, çünkü karışıklıkların çoğu “başka ülkede merkezli aynı adlı şirket” biçiminde. Liste tam değil ve olamaz: kapsamadığı bir dil çiftinde kapı yine delinebilir. Bu yüzden çapraz kontrolle düşen hücreleri raporda ayrıca listeliyoruz — karar bizim çıkarımımızdan geliyor ve siz onu görüp itiraz edebilmelisiniz.

“Başka şirketle karıştırma” ile “olmayan hizmet atfetme” ayrı bulgulardır. Bir ölçümde bir motor markadan doğru bahsetti ama ona ekipman satışı, barista eğitimi, çay ve atıştırmalık ekledi — ve rapor bunu “motorlar sizi başka bir şeyle karıştırıyor” başlığı altında gösterdi. Motor karıştırmıyordu: doğru markaya yanlış şeyler atfediyordu. İkisi ayrı sorun ve yapılacak iş de ayrı. Karıştırmada kimliği ayrıştırmak gerekir (tutarlı ad, kayıt, aynı adres ve unvan). Uydurmada ise kapsamı netleştirmek gerekir: sitenizde ne yaptığınızı olduğu kadar ne yapmadığınızı da açıkça yazan tek bir sayfa. Motor boşluğu kendi çıkarımıyla dolduruyor; boşluk kapanınca uydurma da kapanır. Aynı kutuda göstermek, yanlış reçeteyi vermek olurdu. Her iki durumda da hücre düşer — somut ama yanlış bilgi temiz bir tanınma değildir ve hiç bilgi olmamasından risklidir.

Yönetici özeti kusurun cinsini ölçümden alır. Özet cümlesi bir süre her markada aynı şeyi söylüyordu: “bazı motorlar sizi tanımıyor ya da başka bir şeyle karıştırıyor”. Bir ölçümde asıl bulgu bunların hiçbiri değildi ve rapor doğru teşhisi ayrı bir bölümde zaten gösteriyordu — özet onu duymuyordu. Yönetici özeti raporun tamamını okumayan için yazılır; orada yanlış kusuru adlandırmak, müşteriyi yanlış işe yönlendirir. Cümle artık dört bulgudan hangileri gerçekten ölçüldüyse onlardan kuruluyor: hiç bulunamama, başka işletmeyle karıştırılma, olmayan hizmet atfı, ayırt edici bir şey söylememe. “Hiç tanımıyor” ifadesi bile ancak hiçbir bulgu etiketi taşımayan düşmüş bir hücre varsa kullanılıyor — sabit bir giriş cümlesi, kusurun tamamen kapsam hatasından geldiği bir ölçümde yeni bir yanlış iddia üretirdi.

Duygu etiketi ile ticari risk ayrı eksenlerdir. Bir vize danışmanlığı raporunda ton “nötr” etiketlendi ve altındaki özet şunu diyordu: “güvenilirliği sorgulanması gereken, dikkatli olunması tavsiye edilen bir işletme… meşruiyeti hakkında şüphe uyandırmaktadır.” Bu nötr değil. Modelin ölçtüğü şey duygu: cevapta hakaret yok, üslup ölçülü, o yüzden “nötr”. Bizim ölçmemiz gereken şey ticari risk. İkisi tek etikette toplanınca raporun en kritik bulgusu gömülüyordu — üstelik dolandırıcılık algısının yüksek olduğu bir kategoride motorların müşteriyi markadan uzaklaştırması %0 görünürlükten daha acildir: görünürlük kazanmak aylar sürer, itibar kaybı her yeni cevapta tekrarlanır. Risk bulunduğunda bölüm “İtibar riski” adını alıyor ve kendi müdahale listesini taşıyor: doğrulanabilir resmi kimlik (sicil ve vergi numarası), tutarlı adres ve unvan, numarasıyla birlikte yetki belgeleri, bağımsız değerlendirme ve sonuç garantisi ima eden ifadelerin temizliği. Tespit modele sorulmuyor, metindeki uyarı kalıpları aranıyor — buradaki hata iki yönde de pahalı: kaçırmak da yanlış alarm vermek de.

Kalıplar sabit cümle değil anlam arar. İlk sürümde kalıpları o an elimizdeki cümleye göre yazmıştık. On sekiz dakika sonraki ölçümde motor aynı şeyi başka kelimelerle söyledi — “güvenilirlik konusunda temkinli ve uyarıcı bir yaklaşım” — ve hiçbiri tutmadı: biri “güvenilirliği” arıyordu, metinde “güvenilirlik” vardı; öbürü “temkinli olun” arıyordu, metinde “temkinli ve uyarıcı” vardı. Etiket yine “Nötr” çıktı. Serbest metinde sabit cümle aranmaz. Kalıplar artık iki katmanlı: tek başına yeten ifadeler (dolandırıcılık çağrışımı, temkinli/uyarıcı dil, resmi kaydın bulunamaması) ve yalnız güven ekseninden bir kelimeyle aynı cümlede geçtiğinde risk sayılan ifadeler (belirsizlik, doğrulanamama). İkinci katman olmasa “teslimat süreleri belirsiz” cümlesi itibar riski sayılırdı; her belirsizliği alarma çevirmek uyarıyı değersizleştirir.

Ton özetindeki kimlik teşhisi ton kutusunda gömülü kalmaz. Bir özet şunu diyordu: marka “bazen resmi bir gümrük terimi, bazen vize danışmanlık hizmeti, bazen de sosyal medya tabanlı butik bir oluşum” olarak anlatılıyor. Bu bir üslup notu değil, teşhis: motorlar tek bir varlık göremiyor — ki bu, görünürlük merdiveninin en alt basamağının tanımıdır. Böyle bir cümle yakalandığında rapor onu ayrıca işaretliyor ve neden bir kimlik meselesi olduğunu yazıyor. Kimlik netleşmeden yapılan görünürlük çalışması yanlış varlığa yatırım olur.

Raporun kendisi markanızı tek bir biçimde yazar. Bir çıktıda kapakta “Yurtdisikapin”, ton bölümünde “Yurtdışıkapın”, teslim ettiğimiz dosyada “Yurtdışı Kapın” yazıyordu. Ana tavsiyesi “aynı tanım her yerde aynı olsun” olan bir raporun kendi kapağında üç yazım olamaz. Kayıttaki ad ile sitenizin yapısal verisindeki ad farklıysa ve aynı markaya indirgeniyorsa rapor sitenizin yazımını kullanır — motorların okuduğu ad odur — ve farkı ayrıca bulgu olarak yazar. İki ad aynı markaya indirgenmiyorsa kayıttaki ad korunur: yanlış tüzel kişinin adını rapora basmayız, bunun yerine hangisinin doğru olduğunu sorarız.

Kendi tavsiyemizi kendi içimizde ihlal etmiyoruz. Raporun ana mesajlarından biri “aynı tanım her yerde aynı olsun”. Bir raporda markanın adı kayıtlarımızda “Yurtdisikapin”, sitenin yapısal verisinde “Yurtdışı Kapın” yazıyordu ve biz bunu hiç kontrol etmiyorduk. Fark bir hata değil, bir bulgu: motorlar varlıkları adla eşleştirir ve iki yazım iki ayrı varlık gibi görünebilir — bu, aynı raporun “kimlik karışıklığı” bölümünde anlattığı sorunun ta kendisidir. Artık aboneliğinizdeki ad ile sitenizin Organization şemasındaki ad karşılaştırılıyor ve fark varsa yazılıyor.

Motorun söylediği bilgi doğru mu? Tanınma denetimi uzun süre yalnız “doğru şirketten mi bahsediyor?” sorusuna baktı. İkinci bir soru daha var ve müşteri için daha kıymetli: söylediği şey doğru mu? Gerçek bir ölçümde motorlar bir markanın kuruluşunu 2010 diye anlattı; sitenin altbilgisi 2013 yazıyordu. O cevap “doğru tanınma” hanesine yazıldı — oysa yanlış tanınmak, bilinmemekten kötüdür. Artık motorların verdiği kuruluş yılı sitenin kendi ifadesiyle (açık kuruluş yılı, altbilgideki telif aralığı ya da “N yılı aşkın” gibi süre ifadeleri) karşılaştırılıyor ve çelişki raporda ayrı bir bulgu olarak gösteriliyor. Denetim şimdilik yalnız kuruluş yılını kapsıyor; bir olguyu ancak sitenizin kendi metninden doğrulayabiliyorsak denetleyebiliriz. Çalışan sayısı, ciro ve ürün adı için aynı şey geçerli değil, o yüzden onlarda iddiada bulunmuyoruz.

Marka sorgularında ek bir kontrol var: adın geçmesi tanınmak için yetmez. Motor aynı adlı başka bir şeyden bahsediyor olabilir — bir terim, bir kısaltma, başka sektörde bir firma. Tanınmış görünen her cevap ayrıca denetlenir ve açıkça yanlış varlıktan bahsedenler skordan düşer. Emin olunamayan cevaplar düşmez: emin olmadığımız için skorunuzu aşağı çekmek, emin olmadığımız için yukarı çekmek kadar yanlış olur. Motorun sizi başka bir şeyle karıştırdığı durumlar raporda ayrıca gösterilir.

Aynı ölçümün üç kesiti vardır ve üçü farklı paydayla anlatılır. Karışmaması için raporda da burada da adları geçer: soru bazlı sayım (altı sorunun kaçında en az bir motorda göründünüz), hücre bazlı sayım (hücre = soru × cevap veren motor; dört motorla 24 hücre) ve motor ortalaması (her motorun kendi yüzdesi, sonra ortalaması). Üçü de aynı veriden gelir ve üçü de doğrudur; hangisinden konuştuğumuzu yazmazsak sıfır olmayan bir ölçümde üç rakam birbirini tutmuyor görünür.

İki ayrı eksen var: tanınırlık ve keşif. Tanınırlık “adınızla sorulduğunda motor sizi biliyor mu”, keşif “kategoriniz sorulduğunda listeye giriyor musunuz” demektir. Motorlar bir eksende ayrışıp öbüründe aynı olabilir; bu yüzden “motorlar ayrışıyor” ya da “motorlar arasında fark yok” gibi her cümle hangi eksende konuştuğunu söyler. Görünürlük merdiveninin 0-2 basamakları tanınırlıktan, 3-5 basamakları keşiften beslenir.

Teknik site hazırlığı nasıl hesaplanır

On bir kontrol, toplamı 100 eden ağırlıklarla. Geçtiğiniz kalemlerin ağırlıkları toplanır:

KontrolAğırlık
AI tarayıcıları siteyi gerçekten indirebiliyor18
İçerik sunucudan geliyor (JavaScript gerekmiyor)15
Soru-cevap içeriği14
AI botları robots.txt ile engellenmiyor12
Organization schema12
sitemap.xml var8
Başlık ve meta açıklama6
HTTPS kullanıyor5
H1 başlık yapısı5
FAQPage işaretlemesi3
llms.txt var (deneysel)2

Skorun yanına kapsama oranı yazılır. Sayfa bazlı kalemler site haritasından eşit aralıkla seçilen bir örnekleme dayanır. “16 sayfa örneklendi” demek, 365 sayfalık bir sitede neyin ölçüldüğünü gizler; rapor artık “16 / 365 sayfa” diye yazıyor. Teknik altyapı kalemleri (HTTPS, bot erişimi, schema) site geneli için geçerlidir; sayfa bazlı kalemler (başlık, meta, H1) örnekleme dayanır ve rapor ikisini ayırır. Başlık ile meta açıklama da ayrı ayrı söylenir: “başlık/meta eksik” etiketi, başlığın her sayfada var olduğu bir sitede raporun tamamına duyulan güveni sarsıyordu.

Soru-cevap içeriği bir akordeon bloğu olmak zorunda değil. Kalem uzun süre yalnız “Sıkça Sorulan Sorular” ibaresini ve FAQPage şemasını aradı. Oysa koca bir terim sözlüğü — “SCADA Nedir?”, “SNMP Nedir?” gibi sayfalar — doğrudan alıntılanabilir soru-cevap içeriğidir ve bu kalıpların hiçbirine uymaz. Kalem artık site haritanızdaki tüm adresleri soru formatı açısından tarıyor (adresler zaten elimizde, okumak ek istek gerektirmiyor). Site zaten soru formatlı sayfa taşıyorsa öneri de değişir: “yaz” değil, “işaretle ve güncelle”. Bir raporda 141 soru sayfası olan bir siteye sıfırdan soru yazdırmayı en yüksek getirili iş diye önerdik; verilebilecek en pahalı yanlış öneri, müşterinin zaten yaptığı işi yeniden yaptırmaktır.

Dosya kalemlerinde varlık değil, okunabilir içerik ölçülür. llms.txt, robots.txt ve sitemap.xml kalemleri yalnız HTTP 200'e bakmaz. Bir sunucu dosya yokken 404 yerine bir HTML sayfası döndürebilir; bir dosya var olup içi boş olabilir. İkisinde de motorun okuyacağı bir şey yoktur, dolayısıyla kalem geçmez. Boş dosya, HTML dönen adres, hata metni ve tek başlıktan ibaret dosya geçmez; raporda hangisinin olduğu yazılır.

Hangi adresi okuduğumuzu yazarız. Kök adres başka bir sayfaya yönlendiriyorsa (örneğin bir dil sürümüne) rapor ölçümün gerçekte hangi adreste yapıldığını söyler. Bir müşteri “ana sayfamda H1 var, rapor yok diyor” dedi ve haklıydı; denetim de haklıydı: kök adres herkesi, GPTBot'u da, İngilizce sürüme yönlendiriyordu ve o sayfada H1 yoktu. Müşterinin baktığı Türkçe sayfada vardı. Okunan adresi yazmayınca ölçüm doğrulanamıyor — üstelik kökün başka bir dile gitmesi kendi başına bir GEO bulgusudur: motorlar kökten girer.

Sayfa örneklemli kalemlerde geçme eşiği %60'tır. Başlık/meta açıklama ve H1 kalemleri tek sayfadan değil, site haritasından örneklenen sayfalardan ölçülür. Bir kalem, örneklenen sayfaların en az %60'ında sağlanıyorsa geçer. Eşik raporda her seferinde yazılır: “4/5 sayfada H1 var (geçme eşiği: sayfaların %60'ı)”. Kuralı yazmadan yalnız oranı göstermek, okuyanın kalemin neden geçtiğini ya da düştüğünü kendi kendine tahmin etmesini istemek olurdu.

Ağırlıkları neden böyle seçtik: bir motor sitenizi indiremiyorsa geri kalan her şey anlamsızdır — en ağır kalem odur. Buna karşılık llms.txt ve FAQPage işaretlemesi bilerek düşük tutuldu: ikisi de faydalı olabilir ama etkileri kanıtlanmış değil. Google, üretken yapay zeka özelliklerinde llms.txt kullanmadığını ve yapay zeka görünürlüğü için özel yapısal veri gerekmediğini açıkça söylüyor. Bir ölçüm ürününün kanıtlanmamış bir sinyale ağır puan vermesi doğru olmaz.

Sorgular

Kategori ekseni de çoğunluk oyuyla ölçülür. Marka ekseni uzun süredir üç çekilişle ölçülüyordu; skorun geldiği kategori ekseni ise tek atıştan geliyordu ve kararlılığı hiç ölçülmemişti. Kanıtı kendi ölçümlerimiz verdi: aynı marka için 28 dakika arayla alınan iki ölçümde motorların gösterdiği 12 kaynağın 9'u değişti — ve biz o listeden aylık iş listesi üretip müşteriden o sitelerin editörlerine yazmasını istiyorduk. Artık ücretli raporda her çekirdek soru her motora üç kez soruluyor, hücre kararı çoğunlukla veriliyor ve sıra, markayı anan çekilişlerin ortancasından alınıyor — ortalama değil, çünkü tek bir uç değer sırayı kaydırır. Kaynak listesi de kaç çekilişte göründüğünü yazıyor: yalnız tek çekilişte çıkan bir kaynak gözlemdir, iş değildir; yüksek öncelik alamaz ve ayın ilk işi olamaz. Doğrulamadığımız bir bulgu için size e-posta yazdırmak, ölçmediğimizi ölçtük demenin başka bir biçimidir. Ücretsiz testte çekiliş tek kalır ve rapor her iki durumda da kaç çekilişle ölçüldüğünü yazar.

Hangi soruları soruyoruz

Sorgular üç kümede toplanır ve yalnız birincisi skora girer:

İki kategoride faaliyet gösteriyorsanız ikisi de ölçülür. Bir marka birden fazla pazarda satabilir (endüstriyel fan ve toz toplama sistemleri gibi) ve tek kategori ölçmek alıcısının yarısını görmezden gelmek olur. İkinci kategori aynı soru kalıbıyla ayrıca ölçülür ve raporda kendi yüzdesiyle, birincinin yanında görünür — böylece iki sayı doğrudan karşılaştırılabilir. İkisini ortalamayız: bir kategoride görünüp öbüründe hiç görünmeyen bir marka %50 çıkar ve iki sayının hiçbiri kullanılabilir olmaz; üstelik kategori eklendiği ay ortalama düşer ve düşüş markadan sanılır. Bu yüzden trendi birincil kategori taşır ve skor ona dayanır.

İkinci kategori aynı soruları soruyorsa ölçmeyiz. Bir markanın birincil kategorisi “E-fatura”, ikincisi “E-Invoice” yazıyordu; global ölçümde ikisi de İngilizceye çevrildi ve ikisi de aynı terime çözüldü — aynı altı soru iki kez soruldu ve rapor aynı yüzdeyi iki kutuda gösterdi. Beyan edilen iki etiket birbirinden farklıydı, yani girdiye bakan bir kontrol bunu göremezdi; yakalanabilir tek yer çıktıdır, yani iki eksenin gerçekten sorduğu sorular — karşılaştırmayı orada yapıyoruz. Setler aynıysa ölçüm yapılmaz, bölüm sessizce kaybolmaz: raporda ölçmediğimizi, neden ölçmediğimizi ve ne verilirse ölçebileceğimizi yazarız. İkinci eksenin varlık sebebi farklı bir soru setidir; aynı terimin başka bir yazımı yeni bir bilgi üretmez. Global ölçümde ikinci kategorinin İngilizce karşılığını üretemezsek de o ekseni ölçmeyiz — Türkçe bir soru setine düşmek, aynı raporda iki farklı alıcıya sorulmuş iki soru anlamına gelirdi ve yüzdeler karşılaştırılamazdı.

Motorlar

Etiketteki ayırıcılar soruyu bölmez. Bir müşterinin beyanı “Akıllı Yaşam Alanları; Carport ve Dış Mekanlar” idi ve bu etiket şablona girince on beşten fazla bozuk cümle üretti — noktalı virgül cümlenin ortasında durup soruyu ikiye bölüyor ve motorlar iki ayrı şey soruluyor sanabiliyor. Etiket bir kategori adıdır, bir liste değil; ayırıcılar doğal bir bağlaca çevriliyor, anlam değişmiyor.

Sektör etiketi soruya girmeden önce doğal dile çevrilir. Beyan ettiğiniz etiket şablona ham haliyle konunca Türkçede kimsenin kurmayacağı sorular çıkıyordu: “Bir arkadaşıma Nitelikli Kahve İmalatı için hangi firmayı önerirsin?” Bu yalnız bir dil sorunu değil — “imalat” kelimesi motorları kahve markalarına değil ekipman üreticilerine savurdu ve rakip listesine espresso makinesi üreticileri girdi. Süreç eki artık yalnız kalan kısım kendi başına aranabilir bir tüketici kategorisiyse atılıyor. “Nitelikli Kahve İmalatı” → “Nitelikli Kahve”; ama “Fason Takviye Edici Gıda Üretimi” ve “Endüstriyel Fan Üretimi” olduğu gibi kalıyor, çünkü o firmalar gerçekten üretici ve müşterileri tam da o kelimeyi arıyor. Körlemesine sadeleştirme işin kendisini silerdi. Ölçümün hangi ifadeyle yapıldığı raporda yazar; kategorinin kendisi değişmez.

Hangi motorlar, hangi koşullarda

Aylık abonelik raporlarında ölçüm ChatGPT, Claude, Gemini ve Perplexity üzerinde, Türkçe sorgularla yapılır ve motorlar web araması açık çalışır: sonuç modelin hafızası değil, güncel web gerçeğidir. Ücretsiz testte üç motor vardır ve web araması kapalıdır — Perplexity ücretsiz teste girmez, çünkü onun web aramasız bir modu yok ve ücretsiz test tam da motorların hafızasını ölçüyor. Her zaman aramalı bir motoru oraya koymak iki farklı şeyi aynı yüzdede toplamak olurdu. Bu yüzden ücretsiz testin yüzdesi ile abonelik raporunun yüzdesi birebir kıyaslanamaz.

Perplexity skora dahildir — ve bu bir sürüm değişikliğiydi. Perplexity bir GEO ölçümünde kendi başına anlamlı: cevabını her zaman web aramasıyla kurar. Bir süre onu ayrı bir eksende, tek çekilişle ve skora karıştırmadan ölçtük; sebebi trendi kırmamaktı. Sürüm 22 ile çekirdek ölçüme katıldı ve diğer motorlarla aynı muameleyi görüyor: aynı altı soru, aynı üç çekiliş, aynı çoğunluk oyu. Bu, skorun paydasını değiştirir — skor motorların ortalamasıdır ve dördüncü motor eklenince önceki ayların skorlarıyla doğrudan kıyas kırılır. Böyle bir şey bilerek ve bir kerede yapılır, yeni bir motor eklemenin sessiz yan etkisi olarak değil; rapor bunu ayrıca yazar. Hücre sayısı da değişti: çekirdek ölçüm 18'den 24 hücreye, marka ölçümü 9'dan 12 hücreye çıktı — yani bir hücrenin ağırlığı düştü ve ölçümün çözünürlüğü arttı.

Yanıt vermeyen motor (kota, hata, zaman aşımı) skordan düşülür; sıfır sayılmaz. Yanıt verip markayı hiç anmayan motor ise geçerli bir sıfırdır.

Site tarafında ayrıca yapay zeka tarayıcılarının sitenize gerçekten girip giremediği tek tek ölçülür: GPTBot, OAI-SearchBot, Claude-User, Claude-SearchBot, ClaudeBot, PerplexityBot ve Googlebot. Bunların işlevleri farklıdır — örneğin ClaudeBot eğitim taramasıdır, kullanıcı sorusunda siteye giden ajanlar Claude-User ve Claude-SearchBot'tur.

Basamak

Görünürlük merdiveni

Yüzdenin yanında altı basamaklı bir konum bildiririz: 0 tanımıyor · 1 tanıyor · 2 tutarlı tanıyor · 3 listede · 4 ilk üçte · 5 birincil öneri. Görünmemek tek bir durum değildir; motorun sizi hiç tanımaması ile listeye girip sonlarda kalmanız bambaşka sorunlardır ve bambaşka işler gerektirir.

Basamak bir sunum katmanıdır: sayısal skor ve trend olduğu gibi durur, çünkü aylar arası kıyas onlara dayanır. Genel basamak motorların ortancasıdır, en iyisi değil — tek bir motorda ilk sırada olmak "birincil önerisiniz" demek değildir, müşteriniz farklı motorlara sorar.

Ortancanın hesabı raporda açık yazılır: her motorun kendi basamağı tek tek gösterilir ve ortancanın hangi sayılardan çıktığı görünür. Motorlar arasında üç basamaktan fazla fark varsa rapor bunu ayrıca uyarır — ortanca, sizi hiç anmayan bir motoru gizleyebilir.

Basamak ile keşif yüzdesi aynı şeyi ölçmez. Yüzde kapsamdır: kaç soruda çıkıyorsunuz. Basamak konumdur: çıktığınızda kaçıncı sıradasınız. Bu yüzden düşük bir yüzdeyle yüksek bir basamakta olmak mümkündür — az soruda çıkıyor ama çıktığınızda ilk sırada anılıyorsunuzdur. İkisi birlikte okunur.

Site dışı

Neden “ihracat” değil “global”. Bu eksenin adı uzun süre “ihracat pazarı”ydı. Yanlış değildi ama dardı: ihracat mal göndermeyi çağrıştırır ve ölçtüğümüz markaların çoğu mal göndermiyor. Bir e-fatura yazılımı, bir ilan platformu, bir danışmanlık şirketi ihracat yapmaz — yurt dışında çalışır. Ölçtüğümüz şeyin kendisi de ihracat değil: soruları İngilizce ve coğrafya kısıtı olmadan soruyoruz ve bunun karşılığı global görünürlüktür. Bir üretici için global görünürlük ihracat demektir; bir yazılım için değildir, ve adın ikisini birden kapsaması gerekiyordu.

Global ölçümde kategori de İngilizce olmak zorunda — çekirdek soruda da. Bu kuralı önce ikincil eksene koymuştuk; ölçüm globale çevrilince çekirdek sorulara bağlamayı unuttuk ve ortaya “Who are the best E-fatura companies?” çıktı. Cümle İngilizce, kategori Türkçe. Aynı hatanın üçüncüsü ve ilk kez skoru doğrudan etkileyen yerde. Kategori çevirisi artık çekirdek ölçümden önce üretiliyor ve her iki eksene birden hizmet ediyor. Doğrulama iki katmanlı, çünkü biri yetmiyor: Türkçe harf kontrolü bir doğrulayıcıdır ve “E-fatura” onu geçer — ikinci kontrol çevirinin gerçekten yapıldığını, yani sonucun girdiden farklı olduğunu arar. Çeviri üretilemezse global çekirdek kurulmaz.

Global ölçülen markaya Türkiye'ye özgü tavsiye verilmez. Rakip coğrafyası bölümü “hangi ligde yarışıyorsunuz” yerine “rakiplerinizin coğrafyası” der ve “asıl bakılacak yer, aynı soruların Türkiye kısıtıyla sorulmuş hâli” cümlesini kurmaz — o soru hiç sorulmadı. Aynı şekilde varlık denetimine de sitenin ülke kanıtı veriliyor: Türkiye'ye dair hiçbir iz yoksa hakeme “bu şirketi Türkiye merkezli varsayma” deniyor. Rapor bir yanda “sitede Türkiye izi yok” derken öbür yanda “aranan şirket Türkiye merkezli olabilir” diye gerekçelendirip yabancı merkezli cevapları yanlış sayıyordu; aynı ölçümün iki yarısı çelişiyordu.

Kendi siteniz dışında ne ölçüyoruz

Hedef pazarınızı biz tahmin etmiyoruz, size soruyoruz. Aboneliğinizde bir hedef pazar alanı var: Türkiye, ikisi, ihracat ya da global. Türkiye seçilirse altı çekirdek soru da “Türkiye'de…” diye sorulur. İhracat ya da Global seçilirse sorular İngilizce ve coğrafya kısıtı olmadan sorulur — yurt dışı alıcı Türkçe aramaz ve Türkçe sorulan bir soruya dönen liste onun gördüğü liste değildir; ölçtüğümüz şey sizin gerçek pazarınızdaki görünürlük olmalı. İkisi seçilirse rapor iki pazarı ayrı bölümler hâlinde ölçer ve Türkiye önce gelir: ana pazarınız orasıdır, trendi o taşır ve manşetteki sayı odur. Global pazar hemen ardından kendi bölümünde durur — aynı altı soru, İngilizce sorulmuş hâliyle. Paydalar aynı olduğu için iki yüzde doğrudan karşılaştırılabilir (“Türkiye'de %40, ihracatta %0” gibi). Global eksen skora ve trende karışmaz ve tek çekilişle ölçülür — üç çekiliş ölçüm maliyetini iki katına çıkarırdı; rapor bunu da yazar, o sayıyı eğilim olarak okumanız gerekir.

Global pazar ölçümünde kategori de İngilizceye çevrilir. İlk sürümde soru kalıbını çevirdik ama kategoriyi ham bıraktık; ortaya “Who are the best Akıllı Yaşam Alanları companies?” gibi, hiçbir yurt dışı alıcının yazmayacağı bir sorgu çıktı. Ölçümün amacı “alıcının gördüğü listede var mıyız” idi — alıcının hiç sormayacağı bir soruya dönen liste o liste değildir ve oradan çıkan “%0” bir bulgu değil, ölçüm hatasıdır. Kategori artık yerelleştiriliyor: birebir çeviri değil, alıcının sektörde gerçekten kullandığı terim (“Akıllı Yaşam Alanları” → “modular outdoor structures” gibi). Çeviri doğrulanır — içinde Türkçe harf kalmışsa reddedilir — ve doğrulanamazsa ihracat bölümü hiç ölçülmez: yanlış kurulmuş bir sorunun sonucunu yayımlamaktansa “bu ölçüm yapılamadı” demek doğru olanı. Rapor hangi terimle sorduğunu yazar; terim yanlışsa bize söyleyebilirsiniz.

Çeviri her zaman denenir — “Türkçe harf yoksa İngilizcedir” diye bir kestirme yok. Bu kuralı koyduğumuz sürümde çeviri fonksiyonunda tam da böyle bir kestirme vardı ve bir ölçümde ihracat soruları Who are the best Nitelikli Kahve companies? diye kuruldu: “Nitelikli Kahve” içinde tek bir Türkçe harf yok, dolayısıyla “zaten İngilizce” sayıldı ve çeviri hiç denenmedi. Engellemek için yazdığımız hata, engelleyicinin kendi kestirmesinden geri geldi. Türkçe harf kontrolü bir doğrulayıcıdır, bir tespit aracı değil: harf varsa İngilizce olmadığı kesindir, yoksa hiçbir şey bilinmez. Çeviri artık her koşulda deneniyor ve sonuç girdinin aynısı dönerse — model çeviremediyse ya da terim iki dilde gerçekten aynıysa, ki ikisini ayırt edemeyiz — ihracat bölümü hiç ölçülmüyor.

İhracat terimi sitenizin kendi metnini de görür. Kategoriyi çevirirken bir süre modele yalnız etiketi veriyorduk ve model kategoriyi tek başına çevirmek zorunda kalıyordu: “Nitelikli Kahve” → “specialty coffee”. Doğru ama ticari konumu kaçırıyor — marka bir kavurucu ve yurt dışı alıcı “specialty coffee roasters” arıyor. Sitenizin kendi metni bu farkı taşıyor ve biz o metni zaten okuyoruz; modele vermemek elimizdeki kanıtı kullanmamaktı. Artık iş türü, sitede açıkça görünüyorsa terime ekleniyor (kavurucu, fason üretici, distribütör gibi); görünmüyorsa tahmin edilmiyor ve kategori terimi tek başına kullanılıyor.

Soru şablonu da kategoriye uyum sağlar. Terime iş türünü eklemek bir sonraki katmanda yeni bir hata üretti: şablon kendisi de bir aktör ismi ekliyordu ve ortaya “Who are the best specialty coffee roasters companies?” çıktı. Dilbilgisi bozuk, ve bozuk bir sorunun cevabı ölçüm sayılmaz. Şablon artık kategorinin aktörü adlandırıp adlandırmadığını görüyor: adlandırıyorsa kategori sorunun öznesi oluyor (“Who are the best specialty coffee roasters?”), adlandırmıyorsa şablon aktör ismini kendisi ekliyor (“Who are the best specialty coffee companies?”). Ayrım kapalı bir İngilizce ticaret sözlüğüne dayanır — roaster, manufacturer, supplier, distributor, factory ve benzeri, tekil ve çoğul biçimleriyle; tahmin yok, bir sözcük ya listededir ya değildir.

Kategoriniz fazla genişse skoru yorumlamadan önce bunu söyleriz. Bir markanın kategorisi “Akıllı Yaşam Alanları” olarak kayıtlıydı ve o kategorinin soruları Vestel, Samsung, Schneider, LG, Xiaomi getirdi; marka hiçbirinde görünmüyordu. Buradaki %0 bir başarısızlık değil, ölçümün fazla geniş bir kategoride yapıldığının göstergesi olabilir — ve bu tek bir sayıyı değil raporun tamamını etkiler: rakipler, kaynaklar, içerik önerileri, yüzde, hepsi o kategoriden doğar. Ölçemediğimiz şey: “çıkan rakiplerin kaçı gerçek rakibiniz”; bunu bilmek pazarınızı tanımayı gerektirir. Ölçebildiğimiz şey: çıkan rakipler sizinle aynı ligde mi — ligi coğrafyayla ölçüyoruz. Hedef pazarı Türkiye'yi içeren bir markada liste baştan sona küresel markalardan oluşuyor ve marka o soruların hiçbirinde görünmüyorsa, rapor manşetin dibinde “skoru yorumlamadan önce kategoriyi doğrulayın” diyor. “Kategoriniz yanlış” demiyoruz; bu bir vekil ölçüttür ve rapor bunu böyle yazar. Kategoriyi kendiliğinden de değiştirmiyoruz — aylar arası kıyas kırılır.

Kategori uyarısı yönetici özetinde durur. Uyarı bir süre manşetin altındaydı ama raporun üçüncü sayfasına düşüyordu — oysa söylediği şey keşif yüzdesinin nasıl okunacağını kökten değiştiriyor. Bir ölçümde “Yazıcı” kategorisinden dönen sekiz rakibin sekizi de yabancı üreticiydi ve markanın kendi sitesi işini “yazıcı ve ofis ekipmanları distribütörü” diye anlatıyordu; orada %0 bir başarısızlık değil, ölçümün yanlış ligde yapıldığının göstergesiydi. Yönetici özeti raporun tamamını okumayan için yazılır: skorun yorumunu değiştiren bir uyarı, skorun kendisiyle aynı ekranda olmalı. Özette tek satır durur, gerekçe ve öneri aşağıdaki bölümdedir.

Kategori uyumu iki ayrı sinyalden okunur. Birincisi lig: hedef pazarı Türkiye'yi içeren bir markada rakip listesi baştan sona yurt dışı merkezliyse, o liste büyük olasılıkla sizin liginiz değildir. Bu tek başına yetmedi — gerçek bir vakayı kaçırdı. “Akıllı Yaşam Alanları” kategorisinden Vestel, Samsung, Arçelik, Siemens ve Turkcell çıktı; sekiz rakibin yedisi Türkiye merkezliydi ve coğrafya sinyali “aynı ligdesiniz” dedi. Oysa markanın kendi sitesi işini “güneş enerjili carport ve akıllı dış mekan çözümleri” diye anlatıyordu: sorun ülke değil kapsamdı. İkinci sinyal bunu ölçer — sitenizin kendi tanımı, kategori etiketinizde hiç geçmeyen en az iki ayırt edici kelime taşıyorsa ve o kategorinin hiçbir sorusunda görünmüyorsanız, etiket sitenizin anlattığı işten geniş demektir. Ölçüt sayılabilir bir olgudur, bir yargı değil: modelin “sektör uyumludur” demesine bakmıyoruz, çünkü bu vakada model tam da öyle demişti. Jenerik kelimeler (“çözümleri”, “sistemleri”) ayırt edici sayılmaz ve tek fazladan kelime yetmez; her site kendini etiketinden uzun anlatır. Aynı kökün iki türevi de ayrı kelime sayılmaz — “entegratörü” ile “entegrasyonu” aynı işi anlatır ve kelime biçimi farkını kategori uyumsuzluğu saymak yanlış uyarı üretir. Global ölçümde kapsam sinyali hiç hesaplanmaz: beyan ile sitenin tanımı farklı dillerde olabilir (“E-Invoice” / “E-Fatura”) ve kelime karşılaştırması diller arasında anlamsızdır; üstelik global sorular zaten site metni okunarak üretilen İngilizce terimle kurulur, yani ölçülen kategori site türevidir. İkinci kategoriniz de beyanınızın parçasıdır: onu bize siz söylediniz ve ayrıca ölçtük, dolayısıyla oradaki bir terimi “sitenizde var ama beyanınızda yok” diye sayamayız.

“İhracat” ile “Global” aynı ölçüm, ayrı rapordur. Sorular ikisinde de birebir aynı kurulur; ayrılan şey ölçüm değil anlatı. İhracat yapan bir Türk firması için Türkiye bir referans noktasıdır: “yurt dışı”, “ihracat kapasiteniz”, “Türkçe bir profil orada okunmaz” cümleleri o markaya kendi işini anlatır. Türkiye pazarı hiç olmayan bir markaya aynı cümleler yabancı bir çerçeve dayatır — sitesi baştan sona İngilizce, adresi yurt dışında, Türkçe tek satırı yok; onun için “yurt dışı” diye bir yer yoktur, her yer aynı yerdir. Global seçildiğinde rapor Türkiye'yi bir eksen olarak hiç kurmaz: rakip listesi Türkiye/yurt dışı diye bölünmez (bu ayrım ancak Türkiye bir referans noktasıysa bir karar verdirir), itibar adımları Türk sicil kurumlarını adlandırmaz — motorun “resmi kayıt bulunamadı” demesinin cevabı doğrulanabilir bir tüzel kimliktir ve o her ülkede vardır, adı KvK, VAT, EIN ya da CRN olabilir; hangi sicile kayıtlı olduğunuz hukuki bir sorudur ve ölçtüğümüz bir şey değil — içerik reçetesi sayfaların İngilizce yayımlanacağını söyler ve dış ayak izi araması önce İngilizce kaynaklara bakar. Reçetedeki Türkçe başlıkları kendiliğimizden İngilizceye çevirmiyoruz: onlar yayına hazır manşetler değil, ne yazılacağını anlatan brief'lerdir. Global ölçümde bütün soru setleri İngilizce kurulur — yalnız çekirdek altı soru değil: marka sorguları (tanınırlık ekseni), satın alma niyeti soruları ve sitenizin kendi metninden türetilen sorular da. Tanınırlık burada özel bir yer tutuyor, çünkü skora giriyor: sitesi baştan sona İngilizce olan bir markanın alıcısı motorlara Türkçe sormaz ve Türkçe sorulan bir soruya dönen cevap, o alıcının gördüğü cevap değildir. Kategorinizin İngilizce karşılığını üretemezsek hiçbir set İngilizceye geçmez: çekirdek zaten coğrafyasız Türkçe sete düşüyor ve öbür setleri çevirmek, aynı raporda iki farklı alıcıya sorulmuş sorular demek olurdu — bütün setler ya birlikte İngilizce ya birlikte Türkçe. Sitenizde Türkiye'ye dair hiçbir iz bulamazsak ölçüm bu değere kendiliğinden geçer ve sebebini rapora yazar; düzeltmeyi tetikleyen kanıt zaten tam olarak “bu markanın Türkiye pazarı yok” kanıtıdır.

Boş bırakıldığında altı sorunun tamamı coğrafya kısıtsız kurulur — bir kısmı kısıtlı bir kısmı kısıtsız olan karışık bir set ölçüm değildir: beş soru bir evreni, biri başka bir evreni ölçer ve çıkan yüzde ikisinin ortalaması olur, yani ne Türkiye yüzdesi ne global yüzde. Boş bırakılabilir; o zaman coğrafya kısıtı konmaz ve rapor bunu açıkça yazar. Sitenizin diline ya da uzantısına bakıp “demek ki Türkiye'de satıyor” demek bir varsayım olurdu ve ihracat yapan pek çok Türk firmasının sitesi Türkçedir. Bu bizim ölçebileceğimiz bir şey değil, sizin ticari kararınız — sorması gereken biziz. Hedef pazarı değiştirmek aylar arası kıyası kırar, çünkü sorular değişir; rapor ölçümün hangi pazar için yapıldığını manşetin altında yazar.

Sitenizde Türkiye pazarına dair hiçbir iz yoksa Türkiye ölçülmez. Bu, yukarıdaki kuralın tersi gibi görünür ama değil. “Sitesi Türkçe, demek ki Türkiye'de satıyor” zayıf bir çıkarımdır — ihracat yapan pek çok Türk firmasının sitesi Türkçedir. Ters yön ise güçlüdür: Türkiye'ye satan bir markanın sitesinde Türkiye'ye dair en az bir iz bulunur. Yedi ayrı iz arıyoruz — .tr alan adı, html lang="tr", Türkçe metin, +90 telefon, Türk mevzuatına özgü metin (KVKK, Mersis, vergi dairesi), ₺ fiyat, Türkiye adresi — ve tek biri bile Türkiye ölçümünü sürdürmeye yeter. Eşik bilerek asimetrik: Türkiye'de satan bir markanın ölçümünü kesmek, satmayan bir markaya boş ölçüm yapmaktan çok daha pahalıdır. Ürün kapsamı pazar izi sayılmaz. Bir e-fatura yazılımının sayfasında “Turkey — E-Invoice, E-Archive (GIB)” satırı desteklediği mevzuat listesindendir; yanında Hollanda, Belçika, İspanya da vardır. Ülke adının gövde metninde geçmesi, markanın orada müşterisi olduğunu göstermez. Türkçe metin tespiti de harf sayısına değil çeşitliliğine bakar: “Türkiye” tek bir Türkçe harf taşır, gerçek Türkçe metin ş, ğ, ı, ç, ö, ü'yü birlikte kullanır. Karar sessiz değildir ve geri alınabilir: rapor manşetin dibinde ölçümün hangi pazar için yapıldığını, hangi izleri aradığımızı ve nasıl düzelteceğinizi yazar. Sitenizin metnini hiç okuyamadıysak düzeltme yapılmaz — iz bulamamak ile bakamamak ayrı şeylerdir.

Türkiye'de rekabet etmekle globalde rekabet etmek aynı şey değil. Rapor uzun süre bu ayrımı yapmıyordu ve aynı “%0” iki bambaşka anlama geliyordu. Bir yazıcı distribütörünün rakip listesi HP, Canon, Epson çıktı; o firma bir distribütör ve küresel üretici listesinde görünmesi yapısal olarak imkânsız — oradaki %0 bir başarısızlık değil, ölçümün yanlış ligde yapıldığının göstergesi. Bir fan üreticisinin listesinde ise Türkiye firmaları vardı; orada %0 gerçek ve kapatılabilir bir eksiklik. İkisine aynı reçeteyi vermek yanlış olur. Rapor artık “hangi ligde yarışıyorsunuz” diye bir kırılım veriyor: rakiplerin ve kaynakların kaçı Türkiye merkezli, kaçı yurt dışı. Reçete de buna göre değişiyor — bir Türkiye dizininde yapılacak iş Türkçe faaliyet açıklaması ve yerel referanslar, global bir B2B platformunda ise İngilizce ürün adları, teknik özellikler ve ihracat kapasitesidir. Aynı “profilinizi doldurun” cümlesi iki yerde iki farklı iş demek. Ülke tespiti tahmin değil, kanıta dayanır. “.com” tek başına bir şey söylemez; “.com.tr” söyler, sayfanın dili söyler, marka adındaki Türkçe harf söyler. Sayfayı okuduysak ve hiçbir Türkiye izi yoksa “yurt dışı” demek savunulabilir; hiç bakamadıysak susarız — varsaymak tam da düzeltmeye çalıştığımız hata. Marka adları için elimizde alan adı yok (“Kurukahveci” Türk, “Canon” değil, ikisinde de Türkçe harf yok); orada modele soruyoruz ama “bilmiyorsan boş bırak” diyerek, çünkü uydurulmuş bir ülke bilgisi yanlış bir strateji kararına yol açar. Belirsiz kalanlar raporda sayılır, gizlenmez.

Motorlar kategorinizi çoğu zaman başkalarının sayfalarından okur; kendi sitesi güçlü ama hiçbir yerde anılmayan bir marka keşifte görünmez. Üç şeye bakarız ve üçü de sizin doğrulayabileceğiniz kaynaklardır:

Rakip sitesi ayrı bir kaynak tipidir. Motorların okuduğu kaynaklar arasında bir rakibin kendi sitesi çıkabilir; bu değerli bir bulgudur ama oraya giremezsiniz. O yüzden orada yapılacak iş “listeleme ya da iş birliği” değildir: motorların oradan okuduğu şey rakibin anlatısıdır ve dengelemenin yolu aynı soruları kendi sayfalarınızda daha iyi cevaplamak ve bağımsız kaynaklarda görünmektir. Girilemeyen kaynaklar (rakip sitesi, forum, sözlük) öncelik listesinin başına da konmaz — yapılamayacak işi başa koymak listeyi işe yaramaz hâle getirir.

Bulunan her kaynak için öncelik ve müdahale tipi de veririz: ticari (mağaza/ürün kaydı), kayıt (sektör dizini ya da hizmet pazaryerinde firma profili), editoryal (yayıncıyla iletişim) ya da dolaylı (forum, sözlük ve rakip sitesi gibi doğrudan müdahale edilemeyen yerler). Öncelik, motorun o kaynağı ne sıklıkta okuduğu ile oraya gerçekten müdahale edilip edilemeyeceğinin birleşimidir — yapılamayacak bir işi listenin başına koymak listeyi işe yaramaz hâle getirir.

Aynı reçete her kaynağa verilmez. Bir uzman yayın, bir sektör dizini ve bir hizmet pazaryeri raporda ayrı tiplerdir, çünkü orada yapılacak iş ayrıdır. Editoryal yayına (uzman blog, meslek dergisi) profil açamazsınız; editöre konu önerirsiniz ve önerinin satış metni değil sahadan bir vaka ya da veri olması gerekir — editoryal yayın reklam metnini almaz. Hizmet pazaryerinde ise kayıt doğrudan sizin elinizdedir: profili açar, hizmet başlıklarını doğru kategoriye yerleştirirsiniz. Bu yüzden pazaryeri işi öncelik listesinde editoryal işin önüne geçer — ikisi de değerliyken biri bugün, diğeri üçüncü tarafın takvimiyle yapılır.

Sınıflandırma sayfanın kendi başlığını da okur. Bir kaynağın ne olduğunu alan adından tahmin etmiyoruz, sayfasını açıp okuyoruz. Ama bir süre yalnız gövde metnine baktık ve gövde işaretleri elle yazılmış kalıplara dayanıyor: “firmanızı ekleyin”, “son yazılar”, “hakkımızda”. Modern siteler bu kalıpları kullanmıyor. Bir raporda sekiz kaynak bu yüzden “sınıflandırılamayan” çıktı ve ayın üçüncü işi olarak size “önce açıp bakın” diye verildi — oysa o sayfaları okumuştuk ve en açık kanıtı kullanmamıştık: sitenin kendi <title> etiketi. “Onedio — Sosyal İçerik Platformu”, “Paranet — Finans, Ekonomi ve Piyasa Haberleri”, “Avansas: Ofis ve İşyeri İhtiyaçları”. Başlık artık gövde kararsız kaldığında devreye giriyor — yalnız “bilinmiyor” kararının yerini alabiliyor, başka hiçbir kararın değil; dolayısıyla yanlış sınıflandırma riski, hiç sınıflandıramamakla sınırlı. Perakende dili de eklendi (“sepete ekle”, “kargo bedava”, “stokta”): eski liste B2B firma rehberi diliyle yazılmıştı ve bir e-ticaret sitesini hiç tanımıyordu. Son olarak “tek bir firmayı anlatıyor ama sizin kategorinizde değil” kararı artık atılmıyor — bu bir karardır ve “başka bir firmanın sitesi” diye raporlanır; oraya giremezsiniz ve girmeniz gerekmiyor.

Ne olduğunu bilmediğimiz bir kaynak, “bu ayın işi” olarak listenin başına konmaz. Bir raporda altı alan adı — hepsi aslında rakip bayi ve entegratör siteleri — yüksek öncelikli birinci aksiyon olarak sunuldu; raporun kendi tablosu aynı satır için “müdahale: araştırılmalı, erişim: bilinmiyor” diyordu. İki bölüm birbiriyle çelişince okuyan hangisine inanacağını bilemiyor. Sınıflandıramadığımız kaynak artık bunu açıkça söylüyor ve hiçbir zaman “yüksek” öncelik almıyor; erişimi belli olan kaynaklar (dizin, pazaryeri) listede onun önüne geçiyor. Ayrıca bu listenin kendisi bir aday listesidir, hedef listesi değil: hangisine girilebileceği tipine göre ayrılır.

Tek çekilişte görünen kaynak iş listesine girmez. Kararlılık etiketini koyduğumuz ilk turda kuralı yazdık ama filtreyi bağlamadık: rapor “bunlar birer gözlemdir, henüz iş değil” diyor, hemen altında aynı kaynakları iş maddesinin içine koyup “bu 10 kaynaktan okuyor, toplam 29 kez geçtiler” diyordu — 10'un 3'ü ve 29'un 8'i tek çekilişten geliyordu. Kural artık kendi çıktısında da geçerli: tek çekilişli kaynaklar iş maddelerinden ve “en sık geçenler” özetinden çıkarılıp ayrı bir gözlem kutusunda gösteriliyor. Silinmiyorlar — bir sonraki ölçümde yinelenirlerse iş listesine alınıyorlar. Aynı disiplin rakip tablosuna da uygulandı: orada da “yinelendi” / “tek çekiliş” yazıyor ve gerekçelerin tek bir çekilişten alındığı, motorun aynı soruyu bir daha sorduğunuzda başka kelimelerle anlatabileceği söyleniyor.

Bir kaynağın tipini tespit edebiliyoruz, sizin kategorinizle ilgisini ölçemiyoruz. Bir raporda ayın ilk iki işi bir marka dergisi ile bir seyahat karşılaştırma sitesi oldu; ikisi de müşterinin sektöründe yayın yapmıyordu ve büyük olasılıkla tek bir yazı yüzünden kaynak olarak çıkmışlardı. Sınıf doğru, öncelik yanlıştı. Editoryal ve karşılaştırma kaynaklarında yapılacak ilk iş artık “editöre yazın” değil, “bu yayının sizin kategorinizde gerçekten içerik üretip üretmediğine bakın”. Ölçmediğimiz bir alakayı kesinleşmiş bir iş gibi sunmuyoruz.

Kategorinizle ilgisi olamayacak kaynaklar iş listesine girmez. Bir yazıcı distribütörünün raporunda pocketoption.com — bir ikili opsiyon platformu — orta öncelikli bir iş kalemi olarak çıktı ve müşteriye “bu siteye girmenin yolunu araştırın” demiş olduk. Bahis, kripto/forex ve benzeri siteler hiçbir meşru kategoride kaynak olmaz; motorun bu adresleri göstermesi ya alakasız bir bağlamdan ya da uydurmadan gelir. Bunlar iş listesinden çıkarılıyor ama silinmiyor: ölçümün ne gördüğünü saklamıyoruz. Süzgeç dar ve alan adına bakar — yanlış pozitif burada yanlış negatiften pahalı, çünkü meşru bir kaynağı listeden atmak gerçek bir fırsatı gizler. (Nitekim ilk yazdığımızda “bet” alt dize olarak aranıyordu ve meşru bir yapı malzemesi satıcısı elenebiliyordu; kısa jetonlar artık yalnız kelime sınırında aranıyor.)

O sitelerde markanızın aranıp aranmadığını kontrol etmiyoruz. Elimizdeki tek olgu şu: motorların gösterdiği kaynaklar arasında sizin alan adınız yok. “Bu 12 kaynağın hiçbirinde yoksunuz” demek bunun ötesine geçer ve ölçmediğimiz bir şeyi ölçmüş gibi sunar — kendi ilkemizi çiğner. Rapor artık ne bildiğini ve ne bilmediğini ayrı ayrı yazıyor. Aynı ayrım atıf için de geçerli: ölçtüğümüz şey motorun sitenizi kaynak gösterip göstermediğidir; motor sitenizin metnini kaynak göstermeden de kullanmış olabilir ve bu ikisi aynı şey değildir.

Sitenizdeki ölçüm araçlarına bakarız — ama puanlamayız. Raporda Google Analytics, Tag Manager, Meta Pixel, Yandex Metrica gibi araçların kurulu olup olmadığını yazıyoruz. Bu bir GEO sinyali değildir: analitik kurmak motorların sizi daha çok alıntılamasını sağlamaz ve skorunuzu etkilemez — kanıtlanmamış bir sinyale puan vermemek bu ürünün kuralı ve kendi kuralımızı esnetmiyoruz. Raporda yeri bizim kendi vaadimizden geliyor: aylık trend satıyoruz ve bu raporun verdiği işler yapıldığında sonucu iki yerden görmeniz gerekiyor — bizim ölçümümüzden (motorlar sizi anıyor mu) ve sizin analitiğinizden (o anmalar ziyaretçi getiriyor mu). İkincisi kurulu değilse yapay zeka kaynaklı trafiği hiç göremezsiniz; ChatGPT, Perplexity ve benzerlerinden gelen ziyaret yönlendiren adresle ayırt edilebilir ama ancak kayıt tutuluyorsa. Tespit sayfadaki etiketlere bakar, ağ trafiğine değil: etiket sayfada olup yanlış yapılandırılmış olabilir, o yüzden “kurulu görünüyor” diyoruz. Bu araçların KVKK kapsamındaki yükümlülüğü kullandığınız teknolojiye ve işleme biçimine göre değişir; çoğu analitik ve reklam çerezi açık rıza gerektirir ama bunu araç araç değerlendirmek gerekir — raporda kategorik bir hüküm vermiyoruz, kontrol etmenizi söylüyoruz.

Rakip fark tablosu: aynı teknik denetim, ilk üç rakip. “Skorunuz %49” diyen bir rapor, okuyanın asıl sorusuna — bu iyi mi kötü mü — cevap vermez; cevabı ancak bir kıyas verir. Motorların cevaplarında kaynak gösterdiği siteler arasında rakip sitesi sınıfına düşenleri zaten tespit ediyoruz; en sık okunan üç tanesini aynı teknik denetimden geçirip yan yana koyuyoruz. Kapsam bilinçli olarak dar. Başkasının sitesi hakkında rapor yazıyoruz ve o siteyi müşteri gibi tanımıyoruz — tanıyormuş gibi de davranmayız. Tabloya yalnız makineyle doğrulanabilir, yoruma yer bırakmayan kalemler girer: bir bot HTTP 200 mü aldı, sayfada Organization şeması var mı, H1 var mı, site haritası okunuyor mu. “Rakibin içeriği daha iyi” gibi bir hüküm burada yok ve olmayacak. Ölçek simetriktir. Sizi 21 sayfadan, rakibi tek sayfadan ölçüp yan yana koymak yanlış olurdu; tablo iki tarafı da ana sayfa üzerinden ölçer. Bu yüzden tablodaki kendi değerleriniz raporun teknik bölümündeki skorla birebir örtüşmeyebilir — ikisi de doğru, ölçekleri farklı ve rapor bunu yazar. Ölçemediğimiz bir kalem tabloda “–” ile durur ve fark sayımına katılmaz: ölçemediğimiz bir kalemi “geride kaldınız” diye saymak, ölçmediğimizi ölçtük demek olurdu. Hiçbir rakip sitesi okunamazsa tablo hiç basılmaz — boş bir tablo “kıyas yaptık” izlenimi verir ve bu, kıyas yapmamaktan kötüdür. Maliyeti düşüktür: rakip başına sayfa örneklemesi yapılmaz, model çağrısı hiç yoktur.

Ölçmediğimiz: LinkedIn, Google İşletme Profili, pazaryeri ve eczane listelemeleri. Bunlar otomatik sorgulara kapalı ya da güvenilir biçimde okunamıyor.

Yönlendirme aracısı kaynak değildir. Bir raporda kaynak listesinde vertexaisearch.cloud.google.com duruyordu — üstelik “2 soruda · yinelendi” etiketiyle. Bu bir site değil, Gemini'ın web arama sonuçlarını arkasına sakladığı Google iç yönlendirme adresi. Müşteriye onu kaynak diye göstermek “Google'ın kendi ara adresi sizin kategorinizi yazıyor” demektir ve daha kötüsü, arkasındaki gerçek kaynağı kaybettirir. Aynı sınıfın başka üyeleri de var: arama tıklama yönlendiricileri, sosyal medya kısaltıcıları, çeviri ve önbellek proxy'leri. Gerçek alan adını motorun ayrıca verdiği alandan okuyoruz; okuyamazsak adresi listeye hiç almıyoruz. Süzgeç tam eşleşme ile çalışır: news.google.com aracıdır, google.com değildir.

İş listesine girmeyen kaynak kaybolmaz. Bir raporda ölçülen ve listelenen bir kaynak (“1 soruda · yinelendi”) ne iş listesinde ne gözlem kutusunda görünüyordu: dört kalemlik kesmenin altında kalmıştı. Bir ayda yapılabilecek iş sınırlı ve önce en çok okunan kaynaklara giriyoruz — ama kapsamı daraltmak bizim kararımızsa, bunu yazmak da bizim işimiz. Rapor artık kaç kaynağın bu ayın listesine girmediğini ve hangileri olduğunu söylüyor.

Kontrol etmediğimiz bir şeyi kontrol ettik demeyiz.

İçerik önerileri

Önerilen içerikler mevzuat denetiminden geçer

Rapor size içerik başlıkları ve soru-cevap metni önerir. Düzenlenmiş sektörlerde (takviye edici gıda, sağlık, kozmetik, hukuk, finans, eğitim) yanlış bir cümle üreticiye, ajansa ve tanıtımı yapana ayrı ayrı ceza yazdırabilir. Bu yüzden üretilen her öneri bir denetimden geçer:

Aynı denetim, rapordaki hazır dosyalara (llms.txt ve JSON-LD işaretlemeleri) da uygulanır. Bunlar sitenize olduğu gibi kopyalanacak dosyalardır; dosyanın başına "kontrol edin" notu koymak yetmez.

“Doğrulayamadık” iki ayrı şey olabilir ve ikisini ayırıyoruz. Bir dönem tek başlık altında topluyorduk ve rapor kendi içinde çelişiyordu: bir yanda “dosyadaki her adresi yayımlamadan önce çağırıyoruz”, öbür yanda “karşılaştırma yalnız bu ölçümde okuduğumuz 16 sayfayla yapıldı”. Kanıtı da raporun içindeydi — bir sayfa hem “en zayıf sayfalar” listesinde (yani okunmuştu) hem “doğrulanamayan satırlar” arasındaydı. Artık ayrı: sayfası okundu ama açıklaması eşleşmedi (metni gözden geçirin) ile sayfasını bu ölçümde okumadık (bir hata değil, bilgi eksikliği). “26 satırın 17'si doğrulanamadı” cümlesi ikisini birleştirince müşteri dosyanın üçte ikisine güvenemeyeceğini sanıyordu.

Yazım farkı “sitede yok” sayılmaz. Teslim edilen bir dosyanın ilk cümlesinde “sipariişe” yazıyordu (çift i); sitede “siparişe”. Doğrulama satırı eşleştiremedi ve “sitede bulamadık” dedi — teknik olarak doğru ama işe yaramaz bir cevap: mekanizma kendi yazım hatasını yakalamıştı ve nedenini söyleyemiyordu. Uzun bir kelimede tek karakterlik fark bir “başka bilgi” farkı değil, daktilo hatasıdır. Artık her satırda aranıyor, satır doğrulamayı geçse de geçmese de raporda “şöyle yazılmış, sitenizde şöyle geçiyor” diye gösteriliyor. Düzeltmeyi biz yapmıyoruz: size teslim ettiğimiz metni sessizce değiştirmek, doğrulamanın kendi vaadini zedeler.

Doğrusunu bulamadığımız bağlantı dosyada bırakılmaz. Bir teslimde dosyadaki bir adres 404 döndü, rapor “doğrusunu bulamadık — siz düzeltin” dedi ve kırık satırı dosyada bıraktı. Doğru adres, aynı ölçümde okuduğumuz site haritasının içindeydi: eşleşme son yol parçasını birebir karşılaştırdığı için “/s-s-s” ile “/pages/sss” tutmuyordu. Kısa çizgi, nokta ve alt çizgi farkı bir “başka sayfa” farkı değil, bir yazım farkıdır; artık tolere ediliyor. Doğrusu gerçekten bulunamıyorsa satır dosyadan çıkarılıyor ve raporda tek tek yazılıyor. Doğrulayamadığı için FAQPage kodunu vermeyen bir rapor, doğrulayamadığı adresi de veremez.

Sayfa var ama sunucu HTML'i boşsa bunu söyleriz. Bir raporda teslim ettiğimiz llms.txt sitenin SSS ve yardım merkezi adreslerini listeliyordu; aynı rapor “site haritanızda soru formatında sayfa bulunmadı” deyip “soru-cevap içeriği yayımlayın” öneriyordu. Müşterinin ilk tepkisi haklı olarak “bizim SSS sayfamız var” olur. İkisi de doğruydu: sayfa var ama içeriği JavaScript ile çiziliyor ve biz sunucudan gelen HTML'i okuyoruz — motorlar da büyük ölçüde öyle. İki ölçüm artık birleştiriliyor ve öneri değişiyor: “yeni içerik yaz” değil, “var olanı sunucudan gönder”. Aynı kök neden zaten “içerik sunucudan geliyor” kalemini de düşürüyor.

“SSS” ibaresi içerik değil, niyet işaretidir. Bir sayfanın soru-cevap taşıyıp taşımadığını uzun süre ibare arayarak ölçtük — oysa o ibare sitelerin ana menüsünde geçiyor ve menü her sayfada. Pratikte her sayfa bu kalemi geçiriyordu, sitede tek bir soru-cevap bulunmasa bile. Soru-cevap içeriğinin kanıtı sorunun kendisidir: artık sayfada gerçekten soru arıyoruz (en az iki tane, soru işaretiyle biten, üç ve daha fazla kelimelik cümle). Aynı hatanın ikinci yüzü, FAQPage'in sekiz ölçümdür verilememesiydi: doğrulama SSS sayfasının metnine bakıyor, üretim ise “ibare geçen ilk sayfayı” alıyordu — yani ana sayfayı, içinde tek soru işareti olmayan metni.

FAQPage işaretlemesi sayfadaki sorulardan üretilir, uydurulmuş sorulardan değil. Yedi ölçüm boyunca bu kalem “0/4 soru doğrulanabildi” diye verilmedi ve sebebini müşteride sandık. Değildi: doğrulama sitenin SSS sayfasının metnine bakıyordu ama üretim o metni hiç görmüyordu — dosyaları üreten modele yalnız ana sayfa veriliyordu. Model ister istemez soru uyduruyor, biz de o uydurulmuş soruları SSS sayfasında arıyorduk; eşleşmemesi kaçınılmazdı. Doğru sıra şu: önce sayfadaki soruları oku, sonra işaretle. SSS metni okunamadıysa işaretleme artık hiç istenmiyor — modelden soru uydurmasını isteyip sonra uydurduğu için vermemek boş iştir.

Site haritası bir kolaylıktır, ölçümün ön koşulu değil. Bir müşteride sitemap.xml 404 döndü. Örnekleme haritadan beslendiği için ölçüm yalnız ana sayfayı gördü ve rapor site geneli için hüküm verdi: “hiçbir sayfada soru-cevap yok”, −14 puan, listedeki en yüksek getirili iş. Oysa sitede on bir gerçek soruyla dolu bir SSS sayfası vardı — ve adresini aynı raporda teslim ettiğimiz llms.txt'in içinde biz veriyorduk; bağlantı doğrulaması onun 200 döndüğünü onaylamıştı. Rapor kendi ürettiği dosyayla çelişiyordu. Harita yoksa sayfalar artık ana sayfanın kendi bağlantılarından çıkarılıyor: menü ve altbilgi zaten sitenin iskeletidir ve motorlar da büyük ölçüde aynı yolu izler. Rapor sayfaların nereden bulunduğunu ve haritanız olmadığını ayrıca yazıyor — ölçümün kendi sınırını sitenin eksiği gibi sunmuyoruz.

Etiket ve kategori arşivleri örneklemde en sona konur. Bir raporda “en zayıf sayfalar” listesinin beşi de /tag/ arşiviydi ve eksik olan tek şey meta açıklamaydı; müşteriye “düzeltmeye buradan başlayın” demiş olduk — yani sitenin en düşük değerli sayfalarıyla işe başlatmış olduk. Sebep örneklemeydi: 569 sayfalık bir haritada etiket ve kategori arşivleri havuzu şişiriyor ve eşit aralıklı seçim onları orantısız çekiyor. Arşivler ölçümden atılmıyor — motorlar onları da görür — ama gerçek içerik sayfaları önce giriyor.

Adresin içine gömülmüş URL bir bulgudur. Bir müşterinin sayfaları /en/https-ornek-com-tr-industrial-dust-collection/ gibi adreslerdeydi: içerik aktarımından kalan bir artık, slug'ın içine tam bir web adresi gömülmüş. Motorlar adresi de bir sinyal olarak okur ve okunmaz bir adres o sayfanın konusunu anlatmaz. Rapor buna hiç değinmiyordu — üstelik müşteriye “hazır kodu bu sayfaya ekleyin” diyerek bozuk adresli sayfayı işaret ediyordu. Artık ayrı bir kalem olarak yazılıyor, 301 yönlendirme hatırlatmasıyla birlikte.

Örnekleme deterministiktir: aynı site, aynı sayfalar. “Site haritanızdan eşit aralıkla seçilen 16 sayfa” diyorduk ama iki ölçüm arasında aynı haritadan iki farklı 16'lık küme çıktı — meta açıklama 11/16 iken 15/16 oldu ve “en zayıf sayfalar” listesi baştan aşağı değişti. Sebep, birçok site haritasının adresleri son güncelleme sırasıyla vermesi: sıra değişince eşit aralıklı seçim kayıyor. O ölçümde şansımıza puan etkilenmedi (kalemler %60 eşiğinin iki tarafında da geçiyordu) ama ikinci raporda skorun site hiç değişmeden düşmesi mümkündü ve bunu açıklamak imkânsız olurdu — üstelik ürünün bütün vaadi “her ay aynı yerden ölçüp değişimi göstermek”. Adresler seçimden önce alfabetik sıralanıyor; site değişmedikçe aynı sayfalar seçiliyor. Sabit örneklem bunu ikinci ölçümden itibaren zaten çözüyordu, bu kural ilk ölçümü de kararlı yapıyor.

Örneklem aylar arası sabittir. Bir ölçümde seçilen sayfalar kayda geçer ve sonraki ölçümlerde aynıları ölçülür. Sebebi trend vaadinin kendisi: “eşit aralıkla seç” kuralı site haritası değiştiğinde başka sayfalar getiriyordu ve teknik skor site hiç değişmeden oynayabiliyordu. İkinci ay raporu “teknik hazırlığınız +14 puan iyileşti” derse müşteri hiçbir şey yapmadan tebrik almış olur — ya da çalıştığı bir aydan sonra sebepsiz düşüş görür. Bir kez bile yaşanırsa aboneliğin dayandığı güven gider. Site büyürse yeni sayfalar eklenir, eskiler çıkarılmaz: çıkan sayfa zaten 404 döner ve o da bir bulgudur. Rapor örneklemin sabit olup olmadığını ayrıca yazar.

Küçük sitelerde örnekleme yapılmaz, tamamı taranır. Örneklem her ölçümde biraz değişiyordu: aynı sitede bir kez 16, bir kez 15 sayfa; “en zayıf sayfalar” listesi de baştan aşağı başka sayfalar. Skor tesadüfen aynı kaldı, çünkü sayfa bazlı kalemler %60 eşiğini rahat geçiyordu. Ama aylar arası teknik trend için bu bir sorun: gelecek ay başka sayfalar örneklenirse skorun değişimi sitenizden mi örneklemden mi geldi ayrılamaz. 35 sayfalık bir siteyi örneklemenin de bir sebebi yok — hepsini taramak birkaç istek demek. Site haritanızda 40'tan az sayfa varsa tamamı taranır ve teknik skor o ölçüm için deterministik olur; rapor bunu ayrıca yazar. Üstünde örnekleme devreye girer: tavan maliyeti tutmak için var, ilke için değil.

SSS ve kurumsal sayfalar örnekleme garantili girer. Örnekleme “liste boyunca eşit aralıkla seç” diyordu; hiçbir sayfayı ötekinden önemli saymadığı için adildi ama iki kalem belirli bir sayfaya bağlı: soru-cevap içeriği ve FAQPage işaretlemesi. 35 sayfalık bir siteden 16 sayfa seçerken SSS sayfası listeye girmezse o iki kalem “yok” çıkar — nitekim beş rapor boyunca “0/4 soru doğrulanabildi” deyip FAQPage kodunu vermedik, oysa sitede gerçek soru-cevap vardı. Kalem sitenin durumunu değil, örneklem şansını ölçüyordu. Adı SSS/FAQ/hakkımızda/iletişim olan sayfalar artık örnekleme zorunlu alınıyor; garantili sayfalar örneklemin yarısından fazlasını yiyemiyor ki ölçüm birkaç kurumsal sayfaya daralmasın.

Doğrulama havuzundan yasal ve altbilgi sayfaları çıkarılır. Kaynak izi “bu satır sitede geçiyor mu” diye soruyordu ve bu testi geçen ama motor için sıfır değer taşıyan içeriği ödüllendiriyordu: teslim edilen bir dosyaya “Site, reCAPTCHA tarafından korunmaktadır” satırı girdi ve doğrulandı — kaynağı KVKK ve iletişim sayfalarıydı. Doğrulamanın kendi başarı ölçütü yanlış tanımlanmıştı. Bir llms.txt'in işi motora markanın ne yaptığını anlatmaktır; yasal metin, çerez bildirimi ve altbilgi kalıbı her sitede aynıdır ve markayı ayırt etmez. O sayfalar artık havuzun dışında ve dosyayı üreten modele de somut ürün/hizmet adlarını yazması, yasal kalıbı yazmaması söyleniyor.

Vermediğimiz bir dosyanın denetimini de göstermeyiz. Sitesinde zaten llms.txt olan bir markada yenisini üretmiyoruz — doğru karar, kendi yazdığınızın üzerine yazdırmayız. Ama bir dönem denetim raporunu yine de basıyorduk: müşteri, kendisine hiç ulaşmayan bir dosyanın satır satır analizini okuyordu ve içindeki kırık bağlantı bulgusu bir teslimat notu gibi görünüp kayboluyordu. Artık dosya elimizdeyse denetim sizin dosyanıza uygulanıyor ve bölümün adı da onu söylüyor: “Sitenizdeki llms.txt — denetim”. Ne teslim edilecek dosya ne de denetlenecek mevcut dosya varsa bölüm hiç çıkmıyor.

“Kanıtlanmış” nitelemesi üretimde budanır, sonradan değil. Üretilen bir dosyada “a proven reduction of up to 35%” yazdı; bir sürümde temizledik, bir sonrakinde geri geldi — çünkü düzeltme çıktıya uygulanmıştı, üretime değil ve her ölçümde içerik sıfırdan üretiliyor. İşaretlemek yetmiyor. Sayıyı çıkarmıyoruz: “%35 tasarruf” markanın kendi iddiası olabilir ve dayanağı varsa değerli bir bilgidir. Çıkardığımız şey ispatlanmışlık nitelemesi — “kanıtlanmış”, “proven”, “bilimsel olarak kanıtlanmış”. O kelime iddiayı bizim onayladığımız izlenimi veriyor ve ispat külfetini gizliyor. Ne çıkarıldığı raporda yazılır.

Sitenizde zaten olan bir şeyi size tekrar yaptırmayız. Kurulum talimatı bir dönem “model bir dosya döndürdü mü” koşuluna, dosyanın kendisi ise “bu dosya bu sitede gerekli mi” koşuluna bağlıydı. Sonuç: rapor “✓ llms.txt var, 2 puan alındı” derken iki sayfa sonra “llms.txt dosyasını kök dizininize koyun” diyordu — müşteri talimatı harfiyen uygularsa kendi emeğinin üzerine yazar. Aynı hatanın bir eşi Organization işaretlemesinde bulunup düzeltilmişti; kökte iki ayrı koşul olduğu için llms.txt'te geri geldi. Artık tek koşul: gerekmiyorsa ne dosya basılır ne talimat.

Liste kesiliyorsa bunu söyleriz. Üç ayrı bölüm “8 sayfa” deyip dört madde gösterdi. Sayı doğruydu, gösterim eksikti — ve tüm duruşu “ölçtüğümüzü söyleriz, ölçmediğimizi söylemeyiz” olan bir raporda sayıyı verip listeyi sessizce kırpmak en pahalı hata türü. Başlıklar artık kaç tanesini gösterdiğini yazıyor ve kural tek bir yardımcıya bağlı, çünkü bunu bir sürümde doğru yapıp sonrakinde unutmuştuk.

Kısa bağlantı satırlarında adresi doğrularız, açıklamayı değil. “/en/about-us — İngilizce kurumsal bilgiler” gibi satırlar kelime örtüşmesi ölçütünü geçemiyordu ve dosyanın en bariz doğru satırları “doğrulanamadı” listesine düşüyordu. İki üç kelimelik bir açıklamanın sayfa metniyle örtüşmesi zaten beklenmez; orada doğrulanacak şey adresin gerçekten o sayfa olduğudur. Uzun ve iddialı satırlarda eski kural geçerli: söylenen şeyin sayfada bulunması gerekir. Yanlış pozitif üretmeye devam eden bir doğrulama listesine müşteri üçüncü ayda bakmayı bırakır ve doğrulamanın bütün değeri kaybolur.

Kurulum talimatları modelden gelmez. Bir dönem dosyaların nasıl kurulacağını da üreten modele yazdırıyorduk ve üç ayrı raporda üç ayrı çelişki çıktı: model üretilmemiş bir dosyayı anlattı (“FAQ soruları şu konulardan seçildi” — o dosya doğrulanamadığı için verilmemişti), raporun kendi teknik bölümünü yalanladı (“yapay zeka tarayıcıları bu dosyayı otomatik bulacaktır” — aynı raporun teknik bölümü llms.txt'in etkisinin kanıtlanmadığını yazıyor) ve “siz” kipinden “sen” kipine düştü. Her seferinde tek tek düzelttik, her seferinde başka kılıkta döndü. Sorun notların içeriği değil kaynağıydı: kurulum talimatı üretilen dosyadan çıkarılabilir bir şeydir ve modele yazdırmak, doğrulayamadığımız bir metni size talimat diye vermektir. Artık yalnız gerçekten ürettiğimiz dosyalar için, sabit metinden üretiliyor.

Dosyadaki her bağlantı yayın öncesi çağrılır. Kaynak izi bir dönem yalnız iddia satırlarına uygulanıyordu; bağlantılar hiç doğrulanmıyordu. Teslim edilen bir llms.txt'te üç sayfa adresinden ikisi 404 döndü — üstelik doğru adresler sitenin kendi haritasında duruyordu ve o haritayı aynı ölçümde okumuştuk. Veri elimizdeydi, adres yine de tahmin edilmişti. Artık her adres çağrılıyor; çalışmayan adresin doğrusu site haritanızda varsa düzeltiliyor, yoksa satır işaretlenip size bırakılıyor. İkisi de raporda yazılıyor. Kırık bağlantı taşıyan bir rehber dosyası hiç olmamasından kötüdür: motorlara “buraya bak” deyip olmayan sayfayı göstermiş olursunuz.

llms.txt'in her satırı kaynağıyla eşleştirilir. Dosya “kopyala-yapıştır hazır” diye veriliyor; içindeki her cümlenin sitenizin hangi sayfasından çıktığı görünmeli. Kaynağı modele yazdırmıyoruz — FAQPage'te öğrendiğimiz kural burada da geçerli: uyduran metin kaynağını da uydurur. İzi sistem kurar: üretilen her satır, denetimde gerçekten okuduğumuz sayfa metinleriyle karşılaştırılır. Eşleşen satırın kaynağı yazılır; eşleşmeyen satır silinmez ama “okuduğumuz sayfalarda bulunamadı” diye işaretlenir. Doğru olabilir — doğrulayabilecek tek taraf sizsiniz.

Sağlıkla ilgili sektörlerde (takviye edici gıda, sağlık hizmeti, kozmetik) süzgeç daha geniştir. Mevzuat yasağının altında geniş bir gri alan var: bir öneri yasak bir cümle kurmasa da ürünün ne kadar işe yaradığına, kimin kullanabileceğine, nasıl etki ettiğine, hangi hastalıkla ilgili olduğuna ya da rakibinden ne farkı olduğuna dair bir iddia taşıyabilir. Bunların hiçbiri kendiliğinden yasak değildir ve dayanağı varsa çok değerli içeriktir — ama dayanağı olup olmadığını bilen tek taraf sizsiniz. Bu yüzden elenmezler, “yayımlamadan önce doğrulayın” ön koşuluyla verilir. Beş başlık ayrı ayrı yakalanır: etkinlik, kullanım uygunluğu, etki mekanizması, hastalık/semptom bağlantısı ve karşılaştırmalı üstünlük. Bu kurallar yalnız sağlık sektörlerinde çalışır; yazılımda “hangi paket size uygun” meşru bir başlıktır.

Sektörde yazılabilecek içerik ile sizin gerçekten sunduğunuz hizmet aynı şey değildir. Bir insan kaynakları danışmanlığına iş sağlığı ve güvenliği, bordro uyumu ya da disiplin prosedürü içeriği önermek sektör açısından doğru, marka açısından yanlış olabilir: vermediğiniz bir hizmeti anlatan sayfa yanlış müşteriyi çeker ve gelen talebi karşılayamazsınız. Bu yüzden her öneri, sitenizde anlattığınız hizmetlerin içinde mi dışında mı olduğunu kendisi beyan eder. Dışındaysa öneri elenmez — yeni bir hizmet alanını gerçekten hedefliyor olabilirsiniz — ama “bu gerçekten sunduğunuz bir hizmet mi” ön koşuluyla verilir ve doğrulanana kadar ayın ilk işi olarak listenin başına konmaz.

Sayısal performans iddiası ayrıca işaretlenir. Üretilen bir dosyada “%35'e varan tasarruf” ve “a proven reduction of up to 35%” yazdı — sayısal bir performans iddiası, üstelik “kanıtlanmış” nitelemesiyle ve yapısal veriye gömülü. Ticari Reklam ve Haksız Ticari Uygulamalar Yönetmeliği bu tür iddialarda ispat külfetini markaya yükler. Genel bir “kendi onayınızdan geçirin” notu bu satır için yeterli değil; o satırın kendisi işaretleniyor ve “elinizde ölçüm raporu ya da bağımsız test sonucu yoksa yayımlamayın” deniyor. Nötr sayılar (çalışan sayısı, ürün ölçüsü, kuruluş yılı) işaretlenmez: her sayıyı uyarmak uyarıyı değersizleştirir.

Kurum adı geçen her iddia doğrulama ister — üretilen dosyalarda da. Kurum listesi önce sabit birkaç addan ibaretti ve yalnız içerik önerilerine uygulanıyordu. Üretilen bir FAQPage kodunda şu cümle süzgeçten geçti: “Çevre ve Şehircilik Bakanlığı, çalışanların maruz kalabileceği yasal toz sınırlarını belirlemiştir.” Çalışan maruziyet sınırlarını belirleyen Çalışma ve Sosyal Güvenlik Bakanlığı'dır; Çevre Bakanlığı ortam ve emisyon sınırlarına bakar — ve o bakanlığın adı 2021'den beri farklı. Rapor “sektörel iddia ve mevzuat süzgecinden geçirildi” diye söz veriyor; süzgecin kaçırdığı ilk şeyin bir bakanlık adı olması o vaadi zayıflatır. Artık adı geçen her bakanlık, yönetmelik ve destek programı doğrulama kuyruğuna giriyor ve bu denetim üretilen dosyalara da uygulanıyor. Hangi kurumun neyi düzenlediğini biz söylemiyoruz — bilmiyoruz ve bildiğimizi iddia etmiyoruz; söylediğimiz tek şey “bunu doğrulayın”.

Bu bir güvenlik ağıdır, hukuki görüş değildir. Yayımlamadan önce içeriği kendi onayınızdan geçirin.

İş tipi

Öneriler markanın ne sattığına göre değişir

Distribütör de ayrıdır. Bir yazıcı distribütörüne “üretim standartları ve kalite süreci”, “tesis, denetim kayıtları, belge numaraları” önerdik — fabrikası olan bir markanın işleri. Rapor iki bölüm önce şirketi distribütör diye sınıflandırdığı hâlde şablon üretici diliyle konuşuyordu; müşteri bunu okuyunca “bunlar bende yok” diyecek ve raporun geri kalanına da güveni düşecek. Distribütörün güven kanıtı tesis değil yetkidir: temsil ettiği markaların yetki belgeleri, garanti kapsamı, yetkili servis ağı, stok ve teslim süresi taahhüdü.

Platform ve pazaryeri ayrı bir iş modelidir. Bir ölçümde sistem markayı doğru tanıdı — “satılık ve kiralık daire ilanları platformu” — ve iki sayfa sonra reçete klasik danışmanlık şablonuna döndü: “hizmet alanları”, “çalışma biçimi ve süreci”, “referanslar ve tamamlanan projeler”. Bir ilan platformunun tamamlanan projesi ya da çalışma biçimi yoktur. Üstelik aynı raporun genişletilmiş ölçümü platforma özgü çok daha iyi soruları sitenin kendi metninden zaten türetmişti (“ilan vermek ücretsiz mi”, “kurumsal mağaza açabilir miyim”, “hangi şehirlerde ilan var”) — reçete o kaynaktan konuşmuyordu. Platformun otorite kurduğu yer kullanımdır: ilan nasıl verilir, arama nasıl yapılır, kurumsal hesap ne işe yarar, güven nasıl sağlanır, kapsam hangi şehirlerdir. Tip sıralamasında platform en öne konuldu: “emlak ilan platformu” hem hizmet hem platform anahtarına uyar ve belirleyici olan platform tarafıdır; bir pazaryeri teknik olarak yazılımdır ama ticari modeli yazılım satmak değildir.

İtibar adımları da iş modeline bağlıdır. Risk bulunduğunda verdiğimiz müdahale listesi sabitti ve her markaya “acentelik, bakanlık izni, meslek örgütü kaydı” öneriyordu. Bir ilan platformunda bunların karşılığı yok ve müşteri “bunlar bende yok” dediğinde yalnız o madde değil listenin tamamı değersizleşiyor. Doğrulanabilir kimlik (ticaret sicil no, vergi no, tam unvan) her iş modelinde korunuyor; değişen şey belge adları. Bilmediğimiz bir ruhsatın adını dayatmıyoruz — hangi belgenin gerektiği hukuki bir sorudur ve bizim ölçtüğümüz bir şey değil; genel listede artık “faaliyetiniz böyle bir belge gerektirmiyorsa bu adımı atlayın” yazıyor.

Perakende, üretimden ayrı bir iş tipidir. İkisi de ürün satar ama güven kanıtı bambaşkadır. Bir üreticide kanıt tesis, süreç ve belge numarasıdır; bir perakendecide tedarik zinciri, tazelik ve iade koşullarıdır. Tek tip kullandığımız için bir online kahve satıcısına “tesis bilgilerini ve denetim kayıtlarını tek sayfada toplayın, belge numaralarını verin” önerdik — o firmanın tesisi yok. Otorite alanı da farklı: satıcının kategoriyi soran birine verebileceği cevap “hangi çeşit kime uygun”dur, “üretim standartlarımız” değil. Ayrım dar tutulmuş anahtarlarla yapılıyor: “satış” tek başına bir üreticinin sitesinde de geçer (“ürün satışı”, “satış sonrası destek”) ve bir fabrikayı perakendeci saydırırdı.

Bir markaya “ürün yelpazenizi anlatın” demek, ürün satıyorsa doğru; danışmanlık satıyorsa raporun tamamının güvenilirliğini bozar. Bu yüzden reçete motoru önce iş tipini belirler: ürün, hizmet, yazılım/platform ya da belirsiz. Belirleme, beyan ettiğiniz sektör ile sitenizin anlattığı iş birlikte okunarak yapılır.

Mevzuat sektörü ile iş tipi ayrı şeylerdir. Bir diş kliniği mevzuat açısından sağlıktır ve sağlık kurallarına tabidir; iş tipi olarak hizmettir ve ona “ürün yelpazesi” önerilmez.

Veri

Bir motor bir bölümde cevap vermezse bunu o bölümün altında yazarız. Cevap vermeyen motor o ölçümün hesabına hiç katılmaz — eksik cevabı “görünmedi” saymak yanlış olur. Ama sessizce düşmesi de yanlış: tek motorla ölçülmüş bir yüzde, açıklaması olmadan veri eksikliği gibi okunur. Motor düşmeden önce bir kez daha, bekleyerek denenir; yine cevap vermezse hangi motorun neden düştüğü (süre bütçesi mi, sağlayıcı hatası mı, hangi HTTP kodu) o bölümün altında yazılır.

Motorun araç anlatımı alıntı değildir. Aramalı modda motorlar cevaba başlamadan önce ne yapacaklarını yazıyor: “… hakkında bilgi almak için arama yapayım”. Bu, motorun marka hakkındaki sözü değil aracın kendi anlatımıdır ve raporda alıntı diye geçmemeli. Bu satırlar ayıklanıyor; alıntılar da kelime ortasından değil cümle ya da kelime sınırında kesiliyor ve kesildiği belli ediliyor.

Kontrol listesindeki ✓ bir başarıdır; olgu tespitine ✓ konmaz. “Motorların okuduğu üçüncü taraf sayfalar — 12 alan adı” satırı bir dönem yeşil onay işaretiyle basılıyordu. Oysa o 12 alan adı markanın bulunmadığı yerlerdir, yani raporun kendi darboğaz maddesidir. Raporun en kritik açığı olumlu işaretle sunuluyordu; bu tür satırlar artık nötr (ℹ) gösteriliyor.

Üretilmemiş bir dosyanın kurulum notu basılmaz ve doğrulanmamış bir dosya için “olduğu gibi kullanabilirsiniz” denmez. Bir raporda FAQPage kodu hiç üretilmemişken kurulum notu onu sayfaya eklemeyi anlatıyordu — üstelik aynı rapor bir üst bölümünde “eşleşmeyen şema geçersizdir, elle eklemeyin” diye uyarıyordu. Hazır dosya bölümündeki her cümle artık o dosyanın gerçekten üretilip üretilmediğine ve kaynak izinin tam olup olmadığına bağlı.

Kaynak izi şemaya da uygulanır. Bir raporda kaynak izi “… güneş enerjili carport ve akıllı yaşam çözümleri sunan bir markadır” cümlesini sitede bulamadığını açıkça yazdı; hemen ardındaki hazır Organization JSON-LD aynı cümleyi description olarak müşteriye verdi. Doğrulama katmanı llms.txt'e uygulanmış, şemaya uygulanmamıştı — ve şema daha tehlikeli: makine okunur bir iddia olarak yayımlanır, motorlar onu markanın resmi tanımı sayar. Cümleyi çıkarmıyoruz (markanın kendi tanımı olabilir) ama “doğrulanmadı” damgasını şemaya da basıyoruz. Doğrulanmamış satır kalan bir teslimin başlığı da artık “hazır dosyalarınız” değil “kontrollü taslak”: on yedide on beş ile on beşte on beş aynı şey değildir ve “hazır” yazan bir dosyayı müşteri okumadan yayımlayabilir.

Yanıtsız hücre sayılır ve söylenir. Bir raporda tanınırlığın “9 hücre üzerinden” ölçüldüğü yazıyor, hemen altında kararlılık “5/8 hücre” diyordu ve dokuzuncu hücreye ne olduğu hiçbir yerde geçmiyordu. Boş hücre, o motorun o soruya hiç cevap vermemesi demektir: skorda “tanınmadı” sayılır, dolayısıyla tanınırlık paydası değişmez ama kararlılık yalnız cevap gelen hücreler üzerinden hesaplanır. İki farklı payda yan yana durup açıklanmayınca okuyan haklı olarak hangisine güveneceğini bilemiyor; rapor artık ikisini de adıyla söylüyor.

Şemada doğrulanmayan tanım teslim edilmez. Organization kodunun description alanı da sitenizin metniyle karşılaştırılır. Bir süre doğrulanmayan cümleyi bırakıp yanına “doğrulanmadı” damgası basıyorduk; yetmiyor. Şema makine okunur bir iddiadır ve kodu olduğu gibi yapıştırdığınızda o cümle markanızın resmi tanımı olarak yayımlanır — rapor bir yanda “bu cümleyi sitenizde bulamadık” derken öbür yanda aynı cümleyi teslim ediyordu. Artık alan koddan çıkarılıyor ve “dolduramadığımız alanlar” listesine giriyor; kendi doğrulanmış tanımınızı siz eklersiniz. llms.txt'te ise satırı bırakmaya devam ediyoruz: orası düz metindir, okuyup karar verebilirsiniz. Şemada alan ya vardır ya yoktur ve boş bırakmak da yanlış beyandır.

Teslim ettiğimiz dosyadaki iletişim satırları sitenizin metniyle karşılaştırılır. Bir teslimde iki hata birden vardı ve ikisi de doğrulama katmanımızdan geçti: e-posta satırı [email protected] olarak çıktı (bu bir adres değil, Cloudflare'ın e-posta gizleme betiğinin sayfada bıraktığı yer tutucu — gerçek adres JavaScript ile çözülüyor, biz sayfayı düz metin okuduğumuz için yer tutucuyu okuduk) ve adres “Trupm Tower” yazıyordu. Kök şuydu: raporun bütün vaadi “doğrulanmış teslim” iken iletişim satırları hiç doğrulanmıyordu — oysa tam da doğrulanabilir olanlar onlar. Adres, telefon ve e-posta yeni bilgi değil, sitenizden kopyadır; kopyanın aslıyla eşleşip eşleşmediğine bakmak sözlük gerektirmez. Eşleşmeyen her satır raporda kırmızı kutuda, “yayımlamadan önce düzeltin” diyerek çıkıyor. Biz düzeltmiyoruz: doğrusunu yalnız siz bilebilirsiniz. Sayfa metnini hiç okuyamadığımız durumda bu denetim çalışmaz — ölçemediğimizi ölçtük demeyiz — ve kısa kısaltmalar (“Cad”, “Mah”) uyarı üretmez: yanlış alarm burada gerçek bulguyu gömer.

Doğrulanamayan iletişim satırı dosyanın içinde işaretlenir — ama silinmez. Bulguyu yalnız rapora yazmak yetmiyor: dosyayı kopyalayıp yayımladığınızda rapordaki uyarı kutusu dosyayla birlikte gelmiyor. O yüzden satırın yanına [DOĞRULAYIN — okuduğumuz sayfalarda bulunamadı] notu koyuyoruz; dosyayı olduğu gibi yayımlarsanız not da görünür ve fark edilir, doğruladıktan sonra silersiniz. Satırı çıkarmıyoruz ve bu bilinçli: “okuduğumuz sayfalarda yok” ile “sitede yok” aynı şey değildir — 301 sayfalık bir siteden 16 sayfa örneklediğimizde bilgi büyük olasılıkla okumadığımız bir sayfadadır ve doğru olabilecek bir iletişim bilgisini atmak size zarar verir. (Şema tarafında ters karar veriyoruz: orada alan ya vardır ya yoktur ve makine okunur bir iddiadır. Burası düz metin ve okuyarak karar verebilirsiniz.) Rapor kaç sayfadan kaçını okuduğumuzu bu kutuda da yazar, çünkü kanıtın gücü buna bağlıdır.

Ölçüm verisi ne kadar saklanır

Motorların verdiği tam cevaplar arşivlenir: yeni bir analiz eklediğimizde geçmiş aylarınızı da kapsayabilmek için. Abonelik başına son 24 ölçüm saklanır, fazlası günlük olarak silinir. Gönderilen raporun kendisi de saklanır; böylece istediğiniz zaman tarayıcıda açıp PDF olarak kaydedebilirsiniz.

Hedefler

Başarı ölçütleri ve hesap verme

Tutmayacağını bildiğimiz hedefi listeye koymuyoruz. Rapor bir yandan “kategori sorularında görünmek tek aylık bir iş değil; önce kimlik ve üçüncü taraf varlığı oturur” diyor, öbür yandan başarı ölçütlerine “basamak 2 → 3” koyuyordu. Bir sonraki ölçüme kadarki hedef listesinde, kendi ağzımızla aylar süreceğini söylediğimiz bir kalem duramaz: tutmayacağı baştan belli olan hedef, listenin tamamını inandırıcılıktan düşürür. Basamak hedefi artık yalnız 3 ve üstünde konuyor — orada sıçrama tek ölçümde mümkün, çünkü zaten listedesiniz ve mesele sıraya girmek. Alt basamaklarda yön yine yazılıyor ama ölçülecek hedef olarak değil.

Manşetteki yüzde ile soru sayımı aynı şey değildir. Büyük sayı motor ortalamasıdır: her motorun kendi görülme oranı ve sıradaki konumu ağırlıklandırılır, sonra motorların ortalaması alınır. Altındaki “6 sorunun 2 tanesinde en az bir motorda göründünüz” cümlesi ise bambaşka bir sayımdır. İkisi alt alta durunca cümle, sayının tanımı gibi okunuyordu; artık her biri kendi adıyla veriliyor. Gürültü notu da hangi ölçekten konuştuğunu söylüyor: tek bir motorda tek bir soruda görünmek yüzdeyi birkaç puan oynatır, soru sayımını 1 artırır.

Her rapor, bir sonraki ölçümde nelere bakacağımızı sayı olarak yazar ve bu hedefler kaydedilir. Gelecek ayın raporu aynı listeye döner: tuttu mu, ilerledi mi, durdu mu, geriledi mi — tahminle değil yeniden ölçerek.

Hedefler bilerek küçüktür. “%0'dan %40'a” demek bir ay sonra herkesi başarısız gösterir ve raporu susturur; doğru hedef bir sonraki basamağa taşıyan en küçük gerçek adımdır — örneğin 18 hücrenin sıfırında görünen bir marka için hedef birdir.

Gürültü tabanı hem keşif hem tanınırlık için yazılır. Tanınırlık, marka soruları × cevap veren motorlar kadar hücre üzerinden ölçülür — dört motor cevap verdiğinde 12 hücre, yani tek bir hücre yaklaşık 8 puan eder — raporda bu hücre adımı diye geçer. Bu bir güven aralığı ya da hata payı değildir; ölçümün çözünürlüğüdür: bundan küçük bir fark ölçülemez. Motorlar aynı soruya her seferinde birebir aynı cevabı vermez; tek çekilişte bir hücre yazı tura demektir. Bu yüzden her marka sorusu her motora üç kez sorulur ve hücre çoğunluğa göre karara bağlanır. Çekilişler ayrışırsa o hücre için iki çekiliş daha alınır; ek ölçüm belirsizliğin olduğu yere harcanır. Dar çoğunlukla (ör. 3/5) sonuçlanan hücrede bir karar vardır ama düşük güvenlidir: marka o motorda gerçekten sınırdadır. Rapor ölçümün kararlılığını da yazar: hücrelerin kaçı oybirliğiyle, kaçı dar çoğunlukla karara bağlandı ve hangi motor hangi soruda sınırda. Bir hücrelik hedef bilerek konur ama gürültünün tam sınırındadır: tuttuğunda rapor bunu da söyler.

Her rapor size gelmeden önce kendi kendini denetler. Rapor üretildikten sonra metni ve ölçüm nesneleri otomatik olarak sınanır: ölçümün dili sorularla uyuşuyor mu, iki bölüm birbiriyle çelişiyor mu, bir sayı iki yerde farklı mı yazıyor, teslim edilen dosya denetimin bulgusunun tersini mi söylüyor. Bulgular müşteri zararına göre seviyelenir ve çaresi olanlar için ölçüm en çok üç tur yeniden denenir — çaresi olan, sonucu bir yapay zeka çağrısından gelen ve tekrarlandığında değişebilecek şeylerdir. Bu denetimin sonucu size gönderilmez, bizim gönderim kararımızı belirler.

Belirsizlik bir hata değildir ve öyle işaretlenmez. Raporda gördüğünüz “doğrulanamadı”, “kontrollü taslak”, “örneklem”, “tek çekiliş”, “sınıflandıramadık” ifadeleri kusur değil risk kontrolüdür: ölçemediğimiz yeri ölçmüş gibi göstermemenin yolu. Denetim bunları hata saymaz. Hata ancak rapor aynı belirsiz bilgiyi başka bir yerde kesin gerçek gibi kullanıyorsa doğar — kontroller bu yüzden tek bir cümleye değil, iki yer arasındaki çelişkiye bakar.

Soru kalıbı kategorinin cinsine uyar. Kategoriniz bir konuysa (“nitelikli kahve”) sorular “… alanında en iyi firmalar hangileri?” diye kurulur. Kategoriniz bir firma türüyse (“endüstriyel otomasyon sistem entegratörü”) o kalıp bozuk bir cümle üretir — firma türünü bir alan gibi sarmak, kimsenin kurmayacağı bir sorgu demektir. O durumda kategori sorunun öznesi olur: “Türkiye'deki en iyi endüstriyel otomasyon sistem entegratörleri hangileri?” Bu altı soru ana keşif skorunu ürettiği için sorgu dilinin doğallığı üslup değil ölçümün kendisidir. Çoğul biçimi kuralla türetmiyoruz, kapalı bir tabloda tutuyoruz: Türkçe çoğul ünlü uyumuna ve iyelik ekine bağlı ve tahmin etmek bozuk cümle üretir; tablo bir terimi tanımıyorsa şablon eski hâline döner.

Öznesi olmayan soru ölçülmez. Sitenizin kendi metninden türettiğimiz sorular bir dönem “…hangi sektörlerde yapıyorsunuz?” gibi ikinci şahısla kuruluyordu. Böyle bir soru motora tek başına gider ve orada “siz” diye biri yoktur; öznesi belirsiz bir sorudan dönen cevapta görünmemeniz bir bulgu değildir. Bu sorular artık ölçüme alınmıyor. Marka adınızı ekleyerek düzeltmiyoruz: o zaman soru kategori keşfinden çıkıp marka sorusuna dönerdi ve zaten ayrı ölçtüğümüz bir ekseni ikinci kez ölçmüş olurduk.

“Bunu yapmıyorsunuz” demeden önce kendi sitenize bakarız. Motorun markaya yapmadığı bir işi atfetmesi ayrı bir bulgudur ve hücreyi düşürür. Ama bir raporda hakem “proses otomasyonu gibi yapmadığı işler” dedi ve aynı rapor markanın endüstriyel otomasyon entegrasyonu yaptığını doğruluyordu: müşteriye kendi işi “yapmadığınız iş” diye gösterildi. Atfedilen faaliyetin ayırt edici sözcükleri sizin kendi sayfalarınızda geçiyorsa o iddiayı kanıt saymıyoruz — ve iddia tamamen dayanaksızsa hücre de geri veriliyor, yani tanınırlık yükselebilir. Sözcüklerin biri bile sitenizde yoksa bulgu ayakta kalır: kısmen doğru bir iddia hâlâ iddiadır. Sitenizin metnini okuyamadıysak hakemin kararına dokunmuyoruz; ölçemediğimize dayanarak karar bozmayız.

Ölçemediğimiz şeye dayanarak site mimarisi değiştirtmeyiz. Hedef pazarı Türkiye olan bir markada kök adres İngilizce sürüme yönleniyorsa bunu söyleriz — motorlar kökten girer ve ilk gördükleri sayfa odur, altı çekirdek soru ise Türkçe sorulmuştur; arada gerçek bir gerilim vardır. Ama “/tr'ye yönlendirin” demeyiz: böyle bir tavsiye için hangi sürümün dizinde olmasını istediğinizi, canonical kurgunuzu ve varsa sunucu tarafı ülke yönlendirmenizi bilmek gerekir ve bunları ölçmedik. Ölçtüğümüz tek ek şey, kök sayfada hreflang tanımı olup olmadığı — o sayfanın HTML'i zaten elimizde. Bu bir puan kalemi değildir ve skoru etkilemez: doğru mimarinin ne olduğuna dair bir hükmümüz yok, gözlemi paylaşıp kararı size bırakıyoruz.

Wikidata ve ansiklopedik madde ad benzerliğiyle onaylanmaz. Adınızla eşleşen bir kayıt bulmak, o kaydın size ait olduğunu göstermez: bir ölçümde eşleşen şey aynı harfleri taşıyan bir soyadıydı. Kaydın resmi site alanını okuyup sizin alan adınızla karşılaştırıyoruz; ansiklopedik madde de ya doğrulanmış Wikidata kaydınızın kendi bağlantısı olmalı ya da özetinde alan adınız geçmeli. Sonuç üç türlü olur: doğrulandı (✓ ve Organization şemanızın sameAs alanına girebilir), aday bulundu ama doğrulanamadı (gösterilir, ✓ sayılmaz, sameAs'e konmaması söylenir ve doğrulamak ayın işlerinden biri olur), ya da kayıt bir kuruluşu anlatmıyor (hiç gösterilmez). Bunu böyle ayırmamızın sebebi basit: “kaydınız var, sameAs'e koyun” güçlü bir müdahaledir ve kanıt gücü müdahale gücüne eşit olmalıdır — yanlış bir kayda bağlanmak, makine okunur bir kimlik iddiasını yanlış yapmaktır ve hiç bağlamamaktan kötüdür.

İki payda vardır ve ikisi ayrı soruya cevap verir. Tanınırlık paydası bütün hücrelerdir: bir motor soruya hiç cevap vermediyse o hücre skorda “tanınmadı” sayılır ve paydada kalır — cevapsızlık da bir sonuçtur. Kararlılık paydası yalnız cevap veren hücrelerdir, çünkü oradaki soru başka: “çekilişler birbirini tuttu mu”. Cevap gelmeyen bir hücrede tutarlılıktan söz edilemez. Raporda sağlam tanınma (hem tanındı hem her çekilişte aynı çıktı) tanınırlığın paydasından yazılır: o sayı yüzdenizin sağlam zeminidir ve bir zemin, üstünde durduğu sayıyla aynı ölçekten okunur. Bir süre kararlılık paydasından yazıldı ve rapor manşette “2/12” derken başka bir yerde “2/11” diyordu — ikisi de doğruydu ama okuyanın iki sayıdan hangisine baktığını çıkarması beklenemez.

Kendi kararlarımız belirlenimlidir. Ölçüm çağrıları gerçek bir kullanıcıyı taklit eder ve motorların varsayılan ayarıyla yapılır. Ama bizim analiz ve yargı katmanımız (doğru şirketten mi bahsediliyor, sektör ne, hangi rakipler geçiyor) sıfır sıcaklıkla çalışır: aynı girdiye her zaman aynı kararı verir. Motorların rastgeleliğini ortadan kaldıramayız, kendi kararlarımızınkini kaldırabiliriz.

Ölçek değişirse hedef kıyaslanmaz. Bir ölçümde motorlardan biri cevap vermezse hücre sayısı değişir (6 soru × 4 motor = 24 hücre; üç motor cevap verdiyse 18). Geçen ayın hedefi kendi ölçeğinde, bu ayın sonucu kendi ölçeğinde yazılır ve rapor "tuttu" ya da "geriledi" demek yerine ölçeğin değiştiğini söyler. Farklı paydaları aynı kefeye koymak, olmayan bir başarı ya da başarısızlık üretir.

Önerilen içeriklerde markanın sahip olduğunu bilemediğimiz iddialar (belge, uzman referansı, klinik çalışma, sayısal büyüklük) yayın önerisi olarak sunulmaz; “yayımlamadan önce doğrulayın” ön koşuluyla verilir. Doğrulayamadığınız iddia içerikten çıkarılmalıdır.

Sınırlar

Beyan ettiğiniz sektör yanlışsa %0 keşif skoru iki şeyden gelebilir ve rapor bunları ayırmak zorundadır: ya gerçekten görünmüyorsunuz, ya da ölçüm markanızın kazanamayacağı bir çerçevede yapıldı. Gerçek bir ölçümde “Nitelikli Kahve İmalatı” etiketi motorları kahve markalarına değil ekipman üreticilerine savurdu ve rakip listesine espresso makinesi üreticileri girdi. Beyan ile sitenin anlattığı iş uyuşmuyorsa manşet metriğin altında bu uyarı basılıyor; ölçümü sitenizin anlattığı kategoriye taşımak sizin kararınız, çünkü kategoriyi kendiliğinden değiştirmek aylar arası kıyası kırar.

İzin ile erişim aynı şey değildir. robots.txt kalemi, dosyanın AI tarayıcılarını engelleyip engellemediğini ölçer — bir izin belgesidir. Siteye gerçekten girilip girilemediğini ise ayrı bir yoklama ölçer ve o erişimi sunucu, CDN ve WAF katmanı belirler. Bir raporda bu iki şey birbirinden bağımsız anlatılmıyordu: altı tarayıcının altısı da sunucudan HTTP 403 alırken robots.txt kalemi “AI motorları tarayabiliyor” diyordu ve rapor iki satır arayla kendini yalanlıyordu. Açıklama artık yoklama sonucunu biliyor: engel varsa kuralın robots.txt'te değil sunucu/CDN katmanında olduğunu söylüyor, çünkü müşterinin düzelteceği yer orasıdır.

Bu ölçümün bilinen sınırları

Bunları saklamak yerine yazıyoruz; raporunuzu doğru okumanız için gerekli.

Ölçüm, ölçtüğü şeyi etkileyebilir. Denetim sitenize birkaç istek gönderir ve bu istekler sunucunuzun hız sınırını tetikleyebilir. HTTP 429 (“çok fazla istek”) yanıtını erişim engeli saymıyoruz: geçicidir, sonraki denemeler genelde başarılı olur ve sınırı bizim tetiklemiş olmamız mümkündür. Yoklamalar bu yüzden sırayla ve aralıklı yapılır, 429 alınırsa bekleyip bir kez daha denenir. Gerçek engel 401/403/451'dir ve kalemi yalnız o düşürür.

İçerik çıkarımı her zaman kusursuz değildir. Sitenizden metni dışarıdan, herkese açık HTML üzerinden çıkarıyoruz; kapanmamış bir stil etiketi ya da sayfa kurucusunun gömdüğü büyük CSS bloğu kod parçalarını metin gibi gösterebilir. Çıkarılan metin olağandışı uzunsa ya da kod işareti yoğunluğu yüksekse rapor “içerik çıkarımı şüpheli, bu teşhis elle doğrulanmalı” uyarısı basar ve o metinden üretilen hazır dosyaları da damgalar. Ölçtüğünü sanıp ölçmediğini söylemek, bu üründe en pahalı hatadır.

Sürüm

Koşullu bölümler sessizce kaybolamaz. Bir raporda tam bir sayfa “İtibar riski” bölümü vardı ve beş maddelik bir müdahale listesi taşıyordu. Ertesi günkü ölçümde skor birebir aynıydı, site aynıydı, kimlik karışıklığı aynı yerde duruyordu — ama o bölüm yoktu: tetikleyen kalıp, motorun yeniden yazılan cümlesinde geçmemişti. Okuyan bunu haklı olarak “demek düzeldi” diye okur. Düzelmedi; bölüm tetiklenmedi ve “yok” ile “artık yok” aynı şey değildir. Bu, ürünün asıl vaadini doğrudan vurur: aylık trend satıyoruz ve trend gösteren bir raporda bölümlerin gelip gitmesi, sayıların kendisinden hızlı güven kaybettirir. Artık her ölçümde hangi koşullu bölümlerin çıktığı kayda geçiyor; bir bölüm kaybolduğunda rapor bunu yazıyor ve yokluğun ne anlama gelmediğini söylüyor. Kayıt yalnız risk taşıyan bölümler için tutulur — yokluğu iyi haber gibi okunabilecek olanlar.

Şemaya boş alan yazmıyoruz. Teslim ettiğimiz Organization kodunda "telephone": "", "address": "", "sameAs": [] duruyordu. Model alanı biliyor ama değeri sitede bulamıyor ve iskeleti boş bırakıyor. Müşteri kodu olduğu gibi yayımlarsa motorlara “bu markanın telefonu yok” diye yapısal bir beyan gitmiş olur — oysa doğru olan “bilmiyoruz”dur ve onun karşılığı alanın hiç bulunmamasıdır. Boş alanlar koddan çıkarılıyor ama sessizce değil: dolduramadığımız alanlar raporda adıyla yazılıyor, çünkü onları doldurabilecek tek kişi sizsiniz. Aynı bilgileri sitenizin altbilgisine yazarsanız bir sonraki ölçümde biz de bulur ve otomatik doldururuz.

Bildiğimiz bir alan adını size sordurmuyoruz. Bir raporda altı kaynak “önce açıp sınıflandırın” diye ödev olarak verildi ve içlerinde LinkedIn, bir operatörün kurumsal sitesi ve bir üreticinin destek forumu vardı. Bunların ne olduğunu bilmek için sayfa açmaya gerek yok: bilmediğimizi sormak dürüstlük, bildiğimizi sormak işi size geri devretmektir. Yaygın platformlar artık tanınıyor ve doğrudan yapılacak işiyle geliyor — LinkedIn şirket sayfası sizin elinizde, başka bir markanın kurumsal sitesi değil. Eşleşme tam alan adıyla yapılır, alt dizeyle değil: daha önce “bet” ve “sanayi” alt dizeleriyle meşru siteleri yanlış sınıflandırmıştık.

Sayfalarınız sunucudan boş geliyorsa bu ayın ilk işi odur. Bir raporda 21 sayfanın 21'i sunucudan boş HTML döndürüyordu ve “sunucu tarafı render” ayın altıncı işiydi. Oysa bu, tarayıcı engelinin ikizi: birinde motor kapıda durduruluyor, ötekinde içeri giriyor ve okuyacak hiçbir şey bulamıyor. Sonuç aynı — motorun markanız hakkında yazacak bir şeyi yok — ve üstüne kurulacak her iş boşa gider; yazacağınız yeni içerik de aynı biçimde görünmez kalır. Eşik yüksek tutuldu (sayfaların üçte ikisi ve en az üç sayfa örneklenmiş olmalı): tek tük boş dönen sayfa bir yönlendirme ya da hata olabilir, sitenin mimarisi değil.

llms.txt'in bölüm başlıkları sabittir. Bu dosya her ölçümde yeniden üretiliyor ve bölüm adları her ay değişirse (“Coğrafi Uygulamalar” bir ay, “Bölgesel Çözümler” öbür ay) yayımladığınız dosyayı güncellemeye çekinirsiniz — dosya sitede eskir ve amacını kaybeder. Başlıklar artık kapalı bir listeden ve sabit sırayla seçiliyor; değişen tek şey içerik oluyor.

Ölçemediğimiz bir ekseni sayıyla doldurmuyoruz. Tanınırlık, her cevabın ayrıca denetlenmesine dayanır: “bu cevap gerçekten sizden mi bahsediyor, yoksa aynı adlı başka bir şeyden mi?” Bir ölçümde bu denetim düştü ve rapor rozetli bir sayı bastı — “%67, denetlenmedi”. Önceki ölçüm %44'tü; müşterinin gördüğü şey 23 puanlık bir sıçrama oldu. Rozet yetmiyor: rozetli bir sayı, sayının yanlış okunmasını engellemez — yalnızca bizi haklı çıkarır. Asıl zarar trend tarafındaydı, çünkü o sayı başarı ölçütüne başlangıç noktası olarak yazılıyor ve denetim gelecek ay çalıştığında gerçek değer çok daha düşük çıkıp çöküş gibi okunuyor. Bu ürünün bütün değeri aylar arası kıyasta. Artık: denetim düşerse bir kez daha denenir ve başarısız sonuç günlük önbelleğe yazılmaz (eskiden yazılıyordu, yani “yeniden dene” fiilen imkânsızdı). İkinci deneme de düşerse tanınırlık ekseni sayı yerine “bu ölçümde ölçülemedi” der, o ayın tanınırlık hedefi konmaz ve sayı geçmişe yazılmaz. Görünürlük merdiveni de damgalanır ve geçmişe yazılmaz — kategoride görünmeyen bir motorun basamağı marka tanınmasından çıkar, dolayısıyla o da doğrulanmamıştır. Kimlik karışıklığı bölümü de sessizce kaybolmaz: “bu ölçümde kontrol edilemedi” yazar, çünkü yokluk ile ölçülememek ayrı şeylerdir ve bölümün boş olması “karışıklık çözüldü” diye okunur.

Motor seti değişirse trend grafiği bunu tam o noktada söyler. Kategori için zaten aynı ilkeyi savunuyoruz: kategoriyi kendiliğinden değiştirmiyoruz çünkü aylar arası kıyas kırılır. Motor eklemek de aynı şeyi yapar — skor motorların ortalamasıdır, payda değişir ve sayı markanızda hiçbir şey değişmeden oynar. Sürüm notu bunu bir kez söyler ama sürüm notu ölçümün tamamına aittir; okuyan hangi ayda kırıldığını göremez. Trend, ürünün asıl vaadi: grafikte iki nokta arasındaki fark performans gibi okunuyorsa, o farkın sebebinin ölçüm olduğu tam orada yazılmalı. İki durum ayrı ayrı anlatılır: bir motorun eklenmesi ya da çıkarılması yöntem değişikliğidir; yapılandırmada duran bir motorun o ölçümde cevap vermemesi ise geçici bir sağlayıcı arızasıdır ve bir sonraki ölçümde kendiliğinden düzelir.

Kısmi denetim, denetim sayılmaz. Tanınırlık ekseni her cevabın ayrıca denetlenmesine dayanır. Hakemin yanıtı yarıda kesildiğinde bazen hücrelerin bir kısmı için karar geliyor, kalanı için gelmiyordu — ve karar bulunamayan hücre olduğu gibi bırakıldığı için sessizce “denetlendi ve geçti” hanesine yazılıyordu. Kısmi kesilme, tam kesilmeden daha tehlikeliydi: birincisi rapora “denetlendi” diye giriyor, ikincisi hiç değilse kendini belli ediyordu. Eksen artık ancak tanınmış görünen her hücre denetlendiyse geçerli sayılıyor; biri eksikse eksen “bu ölçümde ölçülemedi” durumuna geçiyor.

Ölçeğe bağlı sabitler, ölçek değişince güncellenmek zorunda. Hakeme giden isteğin yanıt uzunluğu sabit bir tavana bağlıydı ve o tavan üç motorluk ölçüme göre konmuştu. Dördüncü motor eklenince hücre sayısı arttı, yanıt tavana çarpıp kesildi ve denetim arka arkaya iki ölçümde “düştü” göründü — sebep bir sağlayıcı arızası değil, motor eklerken bu tavanın güncellenmemesiydi. Tavan artık hücre sayısıyla ölçekleniyor ve kesilme ayrıca kayda geçiyor. Bunu buraya yazıyoruz çünkü aynı sınıf hata bir daha olabilir: bir motor eklemek yalnız skorun paydasını değil, ona bağlı her tamponun boyutunu da değiştirir.

Motor seti dondurulmuştur. Ölçüm dört motorla yapılır ve bu set, trend başladıktan sonra kendiliğinden değişmez. Sebebi şu: skor motorların ortalamasıdır, yeni bir motor eklenince payda büyür ve markanızda hiçbir şey değişmeden sayı düşebilir. Perplexity eklendiği ölçümde tam olarak bu oldu — tanınırlık %44'ten %33'e indi ve merdiven bir basamak düştü, ama tanınan hücre sayısı hiç değişmemişti. Bir ölçümde set yine de değişirse (biz eklersek ya da bir motor kalıcı olarak çıkarsa) rapor bunu iki yerde birden söyler: trend grafiğinde tam o satırda kırılma işareti çıkar ve aşağıdaki geçiş tablosu basılır.

Motor eklenen ayda aynı ölçümü iki çerçevede birden gösteririz. Geçen ayın ölçümünü yeni motorla yeniden hesaplayamayız — o motora geçen ay soru sorulmadı ve olmayan bir cevabı üretmek, ölçmediğimizi ölçtük demenin en kötü biçimi olurdu. Ama bunun tersini yapabiliriz: bu ayın ölçümünü geçen ayın çerçevesinde hesaplarız. Bu ay bütün motorların hücreleri elimizdedir; yenisini dışarıda bırakınca geçen ayla birebir aynı çerçeve çıkar. Rapor üç sütun basar — geçen ay, bu ay eski çerçeveyle, bu ay yeni çerçeveyle — ve trendi ortadaki sütundan okumanızı söyler. Sağdaki sütun bundan sonraki ayların başlangıç noktasıdır. Tablo yalnız geçiş ayında çıkar; sonraki aylarda iki ölçüm de aynı çerçevededir.

Basamak özetleri “çoğu motor” demez. Basamak motorların ortancasıdır ve ortancanın garanti ettiği tek şey “motorların en az yarısı bu seviyede ya da üstünde”. Dört motorun ikisi markayı tanıyıp ikisi tanımadığında ortanca 1 çıkar; buna “çoğu motor tanıyor” demek yanlış olur, çünkü yarısı tanımıyor. Özet cümleleri artık ortancanın söylediği şeyi söylüyor ve gerçek dağılım zaten hemen altında motor motor yazılıyor.

Çift sayıda motorda ortanca aşağı yuvarlanır. Genel basamak motorların ortancasıdır ve dört motorda ortanca iki ortadaki değerin arasına düşebilir: {2, 1, 0, 0} için 0,5. Bağı aşağı çözüyoruz. Gerekçe: bir basamak, bir motorun daha markayı tanımasıyla kazanılır, tanımamasıyla kaybedilmez — “sizi tanıyor” demek “tanımıyor” demekten daha iddialı bir cümledir ve iddialı tarafın kanıt yükü ağırdır. Karar yeni değil, ama bir sürüme kadar hiçbir yerde yazmıyordu; artık bağ aşağı çözüldüğünde rapor bunu satırın yanında söylüyor.

Ölçüm biçimi değişirse ne olur

Ağırlıklar, kalemler veya herhangi bir ölçümün yapılma biçimi (site hazırlığı, tanınırlık, keşif) değiştiğinde aynı site farklı puan alır. Bu sessizce yapılmaz: her ölçüm hangi skorlama sürümüyle yapıldığını kaydeder, rapor iki farklı sürümü doğrudan kıyaslamaz ve neyin değiştiğini yazar. Aşağıdaki liste bu sayfanın süsü değil, ölçüm kodundan üretilir — sürüm artıp burası güncellenmezse testlerimiz kırılır.

Sürüm 50 yürürlükte

SİTEDEN TÜRETİLEN SORULAR YANLIŞ ATFEDİLEN İŞLERİ ÖLÇMÜYOR; GÜVEN REÇETESİ OLMAYAN SÜRECİ VARSAYMIYOR. Birincisi genişletilmiş ölçümün sorularını değiştirebilir (skora ve trende karışmayan eksen); ikincisi yalnız reçete metni. (1) Bir raporda siteden türetilen soru “Emlak sitelerinde daire değeri nasıl hesaplanır?” çıktı — aynı rapor, markanın değerleme hizmeti VERMEDİĞİNİ varlık denetiminde ayrıca yazıyordu. Sunulmayan bir hizmet hakkında keşif sorusu markayı değil YANLIŞ ATFI ölçer; öyle bir sorudan çıkan yüzde bulgu değildir. Kanıt elimizdeydi ve kullanılmıyordu: varlık denetiminin “sunmadığı iş atfediliyor” bulguları artık soru üretecine veriliyor — istem, o işler hakkında soru üretmemesi söylenerek kuruluyor ve genel kural da eklendi: sorular sitenin SUNDUĞUNU ANLATTIĞI iş üzerine olmalı, komşu hizmetler üzerine değil. “Yetenek vardı, yanlış yere uygulanmıştı” dersinin bir örneği daha. (2) GÜVEN İÇERİĞİ REÇETESİ “ilanların nasıl doğrulandığını, şüpheli ilan bildirimini ve anlaşmazlıkta ne yaptığınızı anlatın” diyordu — doğrulama sürecinin VAR olduğunu varsayarak. Platformda öyle bir süreç olmayabilir ve olmayan bir süreci varmış gibi yazdırmak, raporun başka yerlerinde yasakladığımız yanlış beyanın ta kendisidir: yanlış güven beyanı, hiç yazmamaktan kötüdür. Öneri artık koşullu: “varsa … süreçlerinizi yazın; olmayan bir süreci varmış gibi anlatmayın.” Aynı düzeltme hem içerik reçetesindeki güven işine hem platform editöryal açısına uygulandı. KANIT GÜCÜ = MÜDAHALE GÜCÜ kuralının reçete tarafındaki karşılığı: sürecin varlığını ölçmediysek varlığını varsayan talimat yazamayız.

Sürüm 49

BOT REÇETESİ ÖLÇÜLEN AJANLARI SAYIYOR — SABİT LİSTEYİ DEĞİL. Ölçülen hiçbir değer değişmez; değişen şey iş maddesinin metni. Bir raporda bot yoklaması altı ajanın HTTP 403 aldığını gösterdi (GPTBot, OAI-SearchBot, Claude-User, Claude-SearchBot, ClaudeBot, PerplexityBot); hemen altındaki iş maddesi ise elle yazılmış sabit listesini okudu: ChatGPT-User ile Google-Extended'ı saydı — ikisinin engellendiği ölçülmemişti — ve ölçümün 403 gösterdiği Claude-User ile Claude-SearchBot'u atladı. Aynı sayfada ölçüm bir liste, reçete başka bir liste söylüyordu. İş maddesi artık ölçümün ENGELLİ bulduğu ajanları adlandırıyor: “bu ölçümde HTTP engeli aldığı doğrulanan ajanlar: …” Başka ajanları da desteklemek isteyen müşteriye bunun ölçüm dışında ayrıca kontrol edilmesi söyleniyor — ölçmediğimiz bir engel için kesin konuşmayız. Bot yoklaması hiç koşulmamışsa genel liste kalıyor: hangi ajanın engelli olduğunu bilmiyorsak seçici davranamayız. Bu, “sabit yazılmış sayı” dersinin liste hâli: sürüm 26'da “üç motorda da” cümlesi motor sayısını, sürüm 32'de “21 sayfadan” ifadesi örneklem sayısını sabit yazmıştı. Rapor içinde ölçümden türetilebilecek hiçbir şey elle yazılmış kalmamalı.

Sürüm 48

GLOBAL ÖLÇÜMDE KAPSAM UYARISI HESAPLANMIYOR; İNCELEME PLATFORMU REÇETESİ KOŞULLU KONUŞUYOR; TON KUTUSU ÇAPRAZ KONTROLÜ SAYIYOR. Ölçülen hiçbir değer değişmez; üç düzeltme de raporun anlatı katmanında. (1) KAPSAM UYARISI. Bir raporda beyan edilen kategori “E-Invoice”, sitenin kendi tanımı “E-Fatura ve Uyum Çözümleri” idi ve kelime farkı sayılınca ilk sayfaya “ana kategoriniz geniş görünüyor” uyarısı bastı — oysa “fatura”, “invoice”ın Türkçesidir: iki metin FARKLI DİLLERDE ve kelime karşılaştırması diller arasında anlamsız. Daha derindeki sebep şu: kapsam sinyalinin öncülü “rakip listesi geniş beyandan geldi” idi. Global ölçümde bu öncül kırık — sorular beyan etiketiyle değil, site metni okunarak üretilen İngilizce terimle kuruluyor (sürüm 29); ölçülen kategori yapısı gereği site türevi ve “beyan sitenin anlattığından geniş” cümlesi o ölçümü geçersiz kılamaz. Kapsam sinyali artık yalnız Türkçe ölçülen pazarlarda hesaplanıyor; sürüm 26'nın vakası bu değişiklikten sonra da uyarı üretiyor ve beyanı yanlış olan global marka için iki koruma ayrıca duruyor: müşteriyle kapatılan kategori onayı ve teşhis çelişkisini operatöre bildiren kontrol. (2) İNCELEME PLATFORMU REÇETESİ “profiliniz burada size aittir: sahiplenin” diyordu — profili hiç kontrol etmeden. Motorun o alan adından okuması, markanın orada profili olduğunu göstermez; sayfa bir rakibi ya da kategori listesini anlatıyor olabilir. Kaynağın TİPİNİ biliyoruz, profilin VARLIĞINI ölçmedik ve cümle artık bu ikisini ayırıyor: “profil varsa sahiplenin, yoksa oluşturma uygunluğunu kontrol edin — bu sayfada markanızın geçip geçmediğini ayrıca doğrulamadık.” Analist kuruluşlarının yorum platformu önerisi de aynı koşullu dile çekildi. (3) TON KUTUSU “motorlar sizi 3 cevapta başka bir şeyle karıştırdı” derken kimlik bölümü dört düşen hücre anlatıyordu: sayı yalnız hakemin bulduklarından geliyor, çapraz kontrolle yakalananları saymıyordu. İki liste aynı bulgunun iki yakalanma yoludur; kutu artık toplamı söylüyor.

Sürüm 47

FİNAL QA AŞAMASI DEVREDE: HER RAPOR GÖNDERİLMEDEN ÖNCE EN ÇOK ÜÇ TUR DENETLENİYOR. Ölçülen hiçbir değer değişmez; değişen şey raporun teslime hazır sayılıp sayılmadığı ve bunun nasıl kayda geçtiği. Rapor üretildikten sonra kendi metni ve ölçüm nesneleri denetleniyor, bulgular müşteri zararına göre seviyeleniyor (kritik / önemli / küçük / iyileştirme) ve on alana dağılmış yüz puan üzerinden bir puan çıkıyor. KARARI SEVİYELER VERİR, PUAN DEĞİL: genel kalite 9,5 olsa bile tek bir kritik bulgu gönderimi durdurur, buna karşılık yalnız küçük bulguları olan bir raporu durdurmak da doğru raporu gereksiz yere engellemek olur — ikisi eşit ağırlıkta hata. BELİRSİZLİK BULGU DEĞİLDİR. Raporun kendi kalite mekanizmaları — “doğrulanamadı”, “kontrollü taslak”, “örneklem”, “tek çekiliş”, “sınıflandırılamadı” — risk kontrolüdür ve hata sayılmaz; hata ancak rapor AYNI belirsiz bilgiyi başka bir yerde kesin gerçek gibi kullanıyorsa doğar. Kontroller bu yüzden hep iki yer arasındaki çelişkiye bakar, tek bir cümleye değil. DÖNGÜ KODU DEĞİŞTİRMEZ ve bu bilinçli. Son turlarda gelen bulguların neredeyse hepsi kod hatasıydı; bir worker'ın kendini yamalaması ne mümkün ne de istenir. Döngünün işi yeniden DENENEBİLECEK olanı denemek: varlık denetimi çağrısının düşmesi, global ölçümde kategori çevirisinin üretilememesi, siteden türetilen soruların tamamının elenmesi. Üçünün ortak yanı sonucun bir model çağrısından gelmesi ve çağrı tekrarlandığında değişebilmesi. Çaresi olmayan bulguda TUR HARCANMAZ: kod hatası tekrarlandığında aynı sonucu verir ve döngüde çevirmek yalnız para ve zaman yakar. Aynı bulgu imzası iki turda üst üste çıkarsa da durulur. MALİYET BİR RAPOR DEĞİL BİR ÇAĞRI KADAR: tur yeniden üretim yapar ama yalnız çarenin adını verdiği önbellek kaydı geçersiz kılınır, raporun geri kalanı günlük önbellekten gelir. KAYIT ASIL ÖĞRENME YERİ. Her raporun kaçıncı turda hangi kararla durduğu ve son turun bulguları saklanıyor; yönetim tarafındaki Final QA sayfası bunları bulgu türüne göre topluyor ve KAÇ AYRI MARKADA çıktığını gösteriyor. Tek markada tekrarlayan bir bulgu o markanın durumu olabilir; farklı markalarda tekrarlayan bulgu bizim kodumuzun sorunudur ve artık döngü işi değildir. Bu liste, kök nedenin ne zaman ele alınması gerektiğini söyleyen tek veridir.

Sürüm 46

KATEGORİ UYARISI KELİME BİÇİMİ FARKINI ARTIK UYUMSUZLUK SAYMIYOR. Ölçülen hiçbir değer değişmez; değişen şey uyarının çıkıp çıkmadığı. Bir raporda beyan edilen kategori “endüstriyel otomasyon sistem ENTEGRATÖRÜ”, sitenin kendi tanımı “endüstriyel otomasyon ve SCADA sistem ENTEGRASYONU” idi ve rapor ilk sayfada “ana kategoriniz geniş görünüyor” dedi. Oysa AYNI raporun sektör bölümü iki tanımın “tam olarak örtüştüğünü” yazıyor, kategori sorgularından dönen sekiz rakibin sekizi de Türkiye merkezli gerçek sistem entegratörleriydi. Elimizdeki kanıtların ikisi “kategori doğru” derken uyarı yine de çıkıyordu. İKİ AYRI KUSUR VARDI. (1) KÖK PAYLAŞIMI GÖRÜLMÜYORDU: kapsam farkı alt dize toleransıyla çalışıyordu ve “entegrasyonu” ile “entegratoru” birbirini içermiyor. Türkçede aynı kökten türeyen sözcükler ortak bir ön ek taşır; eşik ALTI harfe kondu — “entegra” (7) yakalanır, “otoma” (otomasyon/otomatik, 5) yakalanmaz, yani yalnız gerçekten ayırt edici bir kök paylaşımı sayılır. Bu kural uyarıyı SUSTURDUĞU için kaçırdığında güvenli tarafa düşmesi gerekiyor. (2) İKİNCİ KATEGORİ BEYANIN PARÇASI SAYILMIYORDU: ayırt edici sayılan öbür kelime “SCADA”ydı ve SCADA zaten ikinci kategori olarak beyan edilmiş, ayrıca ölçülmüş ve raporda kendi yüzdesiyle duruyordu. Müşterinin bize söylediği ve bizim ölçtüğümüz bir şeyi “sitenizde var ama beyanınızda yok” diye saymak, kendi verimizi görmezden gelmekti. SÜRÜM 26'NIN KARARI DURUYOR. Orada “modelin uyumludur yargısına güvenmiyoruz” demiştik ve o vaka hâlâ geçerli: “Akıllı Yaşam Alanları” örneğinde model “uyumludur” demişti ve yanılmıştı. Bu sürümde modelin yargısını sinyal olarak KULLANMIYORUZ; düzeltilen şey kelime farkının kendi hesabı — nitekim sürüm 26'nın vakası bu değişiklikten sonra da uyarı üretiyor. Ayrıca yayın öncesi denetime bir kontrol eklendi: rapor kategoriyi hem “geniş” diyor hem de sektör teşhisi yüksek güvenle “uyumlu” diyorsa bu operatöre bildiriliyor. Kontrol KARAR VERMEZ, çelişkiyi gösterir — hangisinin doğru olduğunu bilseydik zaten çelişki olmazdı.

Sürüm 45

TÜRKÇE ÇEKİRDEK SORULAR KATEGORİYE UYUM SAĞLIYOR; ÖZNESİZ SORU ÖLÇÜLMÜYOR; “BUNU YAPMIYORSUNUZ” İDDİASI KENDİ SİTENİZE KARŞI SINANIYOR. Birincisi ÖLÇÜLEN SORULARI değiştirir: kategorisi bir firma türüyle biten markalarda skor önceki sürümlerle kıyaslanamaz. Üçüncüsü tanınırlığı YÜKSELTEBİLİR. (1) TÜRKÇE ŞABLON. Sürüm 30'da İngilizce şablonu düzeltmiştik: kategori aktörü zaten adlandırıyorsa (“specialty coffee roasters”) şablon üstüne bir “companies” daha eklemesin diye. Türkçe taraf o gün dokunulmadan kaldı ve kategori teşhisi iyileştikçe aynı hata burada çıktı: “Türkiye'de endüstriyel otomasyon sistem entegratörü ALANINDA en iyi firmalar hangileri?” Kategori artık bir ALAN değil, bir FİRMA TÜRÜ; “… alanında en iyi firmalar” kalıbı onu bir konu gibi sarıyor ve kimsenin kurmayacağı bir cümle üretiyor. Doğal olanı: “Türkiye'deki en iyi endüstriyel otomasyon sistem entegratörleri hangileri?” Bu altı soru ANA KEŞİF SKORUNU üretiyor, dolayısıyla sorgu dilinin doğallığı üslup meselesi değil ölçümün kendisidir. Çoğul biçim KAPALI BİR TABLODAN geliyor, kuralla türetilmiyor: Türkçe çoğul ünlü uyumuna ve iyelik ekine bağlı (“entegratörü” → “entegratörleri”, “firması” → “firmaları”, “üretici” → “üreticiler”) ve tahmin etmektense yazımı elle tutuyoruz — tablo eksikse şablon eski hâline düşer, yani kaçırdığında güvenli tarafa gider. Aynı kural coğrafyasız sete ve satın alma niyeti sorularına da bağlandı. (2) ÖZNESİZ SORU. Sitenin kendi metninden türetilen sorular “SCADA ve PLC sistemlerinin entegrasyonunu hangi sektörlerde YAPIYORSUNUZ?” diye çıkıyordu. Bu soru motora tek başına gidiyor ve orada “siz” diye biri yok; öznesi belirsiz bir sorudan dönen cevapta markanın görünmemesi bir bulgu değildir. İsteme açık yasak eklendi ve çıktı ayrıca süzülüyor. Marka adını EKLEYEREK düzeltmiyoruz: o zaman soru kategori keşfinden çıkıp marka sorusuna dönerdi ve zaten ayrı ölçülen bir ekseni ikinci kez ölçerdik. Hiç soru kalmazsa bölüm düşer ve rapor bunu yazar. (3) “YAPMADIĞINIZ İŞLER” İDDİASI. Hakem bir raporda motorun markaya “yazılım geliştirme ve proses otomasyonu gibi yapmadığı işler” atfettiğini söyledi; oysa AYNI rapor markanın DCS, PLC, SCADA ve endüstriyel otomasyon entegrasyonu yaptığını doğruluyordu — müşteriye kendi işi “yapmadığınız iş” diye gösterildi. Sürüm 32'de çapraz kontrole koyduğumuz kapının aynısı buraya konmamıştı: atfedilen faaliyetin ayırt edici sözcükleri müşterinin KENDİ sayfalarında geçiyorsa o iddia kanıt sayılmaz. Eşik TAM KAPSAMA: sözcüklerin bir tanesi bile sitede yoksa bulgu ayakta kalır, çünkü kısmen doğru bir iddia hâlâ iddiadır ve müşterinin bakması gerekir. İddia tamamen dayanaksızsa hücre de GERİ VERİLİR: hücre “markaya ait olmayan faaliyet anlatılıyor” diye düşürülmüştü ve o gerekçeyi kendimiz çürüttüğümüzde cezayı sürdürmek olmaz. Site metni okunamadıysa hakemin kararına dokunulmuyor — ölçemediğimize dayanarak karar bozmayız.

Sürüm 44

DİL/PAZAR MİMARİSİ ARTIK GÖZLEM OLARAK RAPORLANIYOR — TEŞHİS OLARAK DEĞİL. Skor ETKİLENMEZ: bu bir puan kalemi değil, çünkü doğru mimarinin ne olduğuna dair bir hükmümüz yok. Hedef pazarı Türkiye olan bir markada kök adres /en/ sürümüne yönleniyordu. Altı çekirdek soru Türkçe soruluyor, motorlar kök adresten giriyor ve karşılarına İngilizce sayfa çıkıyor; arada gerçek bir gerilim var ve bunu söylememek eksiklik olurdu. Rapor yönlendirmenin kendisini zaten yazıyordu, ama hedef pazarla ilişkisini kurmuyordu. AMA “/tr'ye yönlendirin” DEMİYORUZ ve bunu raporda açıkça yazıyoruz. Böyle bir tavsiye için hangi sürümün dizinde olmasını istediğinizi, canonical kurgunuzu ve varsa sunucu tarafı ülke yönlendirmenizi bilmek gerekir; bunların hiçbirini ölçmedik. Ölçmediğimiz bir şeye dayanarak site mimarisi değiştirtmek, bu üründe yapılabilecek en pahalı hata olurdu — yanlış bir yönlendirme, yanlış bir yüzdeden çok daha zor geri alınır. HREFLANG'A BAKIYORUZ ÇÜNKÜ ELİMİZDE. Kök sayfanın HTML'i zaten okunuyordu; dil sürümlerinin birbirine ait olduğunu motorlara söyleyen işaret orada ya vardır ya yoktur ve bunu ölçmek yeni bir istek gerektirmiyor. Rapor üç durumu ayırıyor: hreflang var ve Türkçe sürüm bildirilmiş, hreflang var ama Türkçe bildirilmemiş, hreflang hiç yok. Yalnız KÖK sayfaya bakıldığı raporda yazılıyor — motorların ilk gördüğü sayfa o, ve okumadığımız sayfalar için hüküm vermeyiz. Kurgu bilinçliyse müşterinin bir şey yapmasına gerek olmadığı da yazıyor.

Sürüm 43

KARIŞTIRILAN ŞEYLER TEKİLLENİYOR; llms.txt UYARISI KUSURUN ÖLÇEĞİNE GÖRE KONUŞUYOR. Ölçülen hiçbir değer değişmez — iki düzeltme de metin tarafında. (1) Bir raporun ilk sayfasında “şu an bazı motorlar sizi jest (beden dili hareketi) ve jest (beden dili) ve guest relation (turizm) ile karıştırıyor” yazdı. Hakem her hücreyi ayrı değerlendiriyor ve aynı karışıklığı iki hücrede farklı sözcüklerle yazabiliyor; liste TAM eşleşmeyle tekilleniyordu ve bu ikisi tam eşleşmiyor. İlk çözüm girdileri “ve” üzerinden bölüp atomlara ayırmaktı; vazgeçildi, çünkü “Sağlık ve Güzellik Merkezi” gibi tek bir ad da ikiye bölünürdü — düzeltme yeni bir hata üretirdi ve bunu daha önce yaşadık (sürüm 30). Onun yerine KAPSAMA bakılıyor: bir girdinin baş terimi daha uzun bir girdinin içinde geçiyorsa kısa olan düşer, çünkü uzun olan aynı bilgiyi ve fazlasını taşıyor. Tüzel ek farkını (“A.Ş.” ile “AS”) bilerek birleştirmiyoruz: ad normalleştirmesini buraya taşımak, gerçekten farklı iki varlığı birleştirme riski getirir ve bu bölümün işi karışıklığı göstermek. (2) llms.txt kaynak izi, satırların çoğu doğrulanamadığında da “yayımlamadan önce bu satırları kontrol edin” diyordu. Yirmi satırın on dördü doğrulanamamışken bu cümle kusuru hafifletiyor: müşteri dosyayı kopyalayıp yayımlayabilir ve rapordaki kutu dosyayla birlikte gitmez. UYARININ ŞİDDETİ KUSURUN ÖLÇEĞİNE UYMALI — az sayıda satırda “kontrol edin” doğru ölçüdür, çoğunlukta değildir. Satırların yarısından çoğu doğrulanamadıysa rapor artık açıkça “bu dosyayı olduğu gibi YAYIMLAMAYIN” diyor. Doğrulamanın yapılamamasının sebebi BİZDE olduğunda (sayfalar sunucudan boş geliyorsa karşılaştıracak metin yoktur) bu uyarı kurulmuyor: sebebini bildiğimiz bir eksikliği müşterinin sırtına yıkmayız.

Sürüm 42

COĞRAFYASIZ SET ARTIK GERÇEKTEN COĞRAFYASIZ; VARLIK KAYITLARI AD BENZERLİĞİYLE ONAYLANMIYOR. Birincisi ÖLÇÜLEN SORULARI değiştirir: hedef pazarı belirtilmemiş markalarda skor önceki sürümlerle kıyaslanamaz. (1) HEDEF PAZAR BELİRTİLMEDİĞİNDE kullanılan altı sorudan biri “Türkiye'de … konusunda güvenilir şirketler kimler?” diyordu. Oysa bu set tam olarak “hedef pazarınızı bilmiyoruz ve VARSAYMADIK” dediğimiz durumda kullanılıyor; rapor bir sayfada “sorular coğrafya kısıtı olmadan soruldu” derken iki sayfa sonra rakip bölümü “Türkiye kısıtıyla sorulan soruda da görünmüyorsunuz” diyerek o soruya dayanıyordu — aynı ölçümün iki yarısı birbirini yalanlıyordu. Karışık bir set ölçüm de değil: beş soru bir evreni, biri başka bir evreni ölçer ve çıkan yüzde ikisinin ortalaması olur, yani ne Türkiye yüzdesi ne global yüzde — hiçbir şeyin yüzdesi. Set artık bütünüyle coğrafyasız. Kural iki yönlü ve yayın öncesi denetime de bağlandı: belirsiz pazarda hiçbir çekirdek soru coğrafya kısıtı taşımamalı, Türkiye pazarında ise hepsi taşımalı. (2) WİKİDATA VE ANSİKLOPEDİK MADDE ARTIK AD BENZERLİĞİYLE ✓ SAYILMIYOR. Bir raporda “✓ Wikidata kaydı — Q16870171 / soyadı” yazdı: eşleşen şey bir SOYADIYDI ve müşterinin şirketiyle tek ortak yanı harfleriydi. Üstelik aynı rapor birinci sayfada Organization şemasının sameAs alanına “doğrulanabilir profillerinizi ekleyin” diyor — yanlış varlık oraya bağlanırsa müşteri, makine okunur bir kimlik iddiasını kendi eliyle yayımlar. Bulguyu yanlış üretmek, hiç üretmemekten çok daha pahalı. KANIT GÜCÜ MÜDAHALE GÜCÜNE EŞİT OLMALI: “kaydınız var, sameAs'e koyun” güçlü bir müdahaledir ve güçlü kanıt ister. Kaydın RESMİ SİTE alanı (P856) ikinci bir çağrıyla okunuyor ve müşterinin alan adıyla karşılaştırılıyor. Ansiklopedik madde de aynı kapıdan geçiyor: ya doğrulanmış Wikidata kaydının kendi bağlantısı olmalı, ya da özetinde müşterinin alan adı geçmeli. ÜÇ SONUÇ VAR, İKİ DEĞİL. Doğrulandı → ✓ ve sameAs'e girebilir. Aday bulundu ama doğrulanamadı → gösterilir, ✓ SAYILMAZ, sameAs'e konmaması söylenir ve o kaydı doğrulamak ayın işlerinden biri olur. Kayıt açıkça bir kuruluşu anlatmıyorsa (soyadı, ilk isim, kişi, anlam ayrımı sayfası) hiç gösterilmez. Ret listesi Q kimliklerine değil kaydın AÇIKLAMASINA bakıyor: Q kimlikleri zamanla değişiyor ve tam listesini tutmak mümkün değil, açıklama ise sorguladığımız dilde ve kısa; liste eksik kalırsa sonuç “şüpheli” olur, yanlış ✓ olmaz — yani kaçırdığında güvenli tarafa düşüyor. Ayrım yalnız gösterimde değil: merdiven, yönetici özeti ve site dışı iş listesi de doğrulanmamış kaydı “yok” sayıyor, çünkü doğrulanmamış bir kayıt müşteriye hiçbir şey kazandırmaz ve asıl yapılacak iş tam da onu doğrulamaktır.

Sürüm 41

“SAĞLAM TANINMA” ARTIK TANINIRLIĞIN PAYDASINDAN OKUNUYOR. Ölçülen hiçbir değer değişmez — tanınırlık yüzdesi, hücre kararları ve skor aynı kalır; değişen tek şey bir oranın PAYDASI. Rapor manşette “2/12 hücre = %17” derken üç sayfa sonra “Sağlam tanınma: 2/11 hücre” diyordu. İkisi de kendi içinde doğruydu ve fark raporda açıklanmıştı, ama okuyan iki sayı arasında haklı olarak duraksıyor. İnceleyince sorun yalnız yazım değildi: PAYDANIN KENDİSİ yanlış seçilmişti. Cümle “bu sayı tanınırlık yüzdenizin sağlam zemini” diyor ve bir zemin, üstünde durduğu sayıyla AYNI ölçekten okunur. Kararlılık paydası (cevap veren hücreler) başka bir sorunun cevabıdır: “çekilişler birbirini tuttu mu”. Motorun hiç cevap vermediği bir hücre skorda zaten “tanınmadı” sayılıyor, dolayısıyla sağlam tanınma da olamaz — paydaya girmesi sayıyı şişirmez, sadece doğru zemine oturtur. Oran artık tanınırlıkla aynı paydadan yazılıyor ve cümle iki paydanın hangisinin ne anlattığını yerinde söylüyor. AYNI SÜRÜMDE YAYIN ÖNCESİ METİN DENETİMİ DEVREDE. Bu, ölçümü değil ürünün nasıl teslim edildiğini değiştirir. Kırk sürümün geri bildirim kaydına baktığımızda aldığımız uyarıların çoğunun ölçüm hatası değil RAPORUN METNİNDEKİ hata olduğu görülüyor: yanlış dilde sorulmuş bir soru, dört motor ölçüldüğü hâlde “üç motorda da” diyen bir cümle, örneklenen sayfa sayısı 16 iken “21 sayfa” yazan sabit bir ifade, aynı eksende açıklanmamış iki payda. Elimizdeki tutarlılık denetimi VERİYİ karşılaştırıyordu ve metni hiç okumuyordu; oysa bu hataların hepsi metinde ve hepsi makineyle bulunabilir — nitekim her biri bir insan tarafından okunarak bulundu. Artık rapor çizildikten sonra kendi metni denetleniyor: ölçümün dili, pazar çerçevesi, iki eksenin aynı soruyu sorması, bozuk soru dilbilgisi, sabit yazılmış sayılar, açıklanmamış paydalar ve sınıflandırılamamış kaynaklar. Bulgular MÜŞTERİYE DEĞİL operatöre gösterilir ve denetim hiçbir şeyi kendiliğinden düzeltmez: çelişkinin hangi tarafının doğru olduğunu bilseydik hatayı zaten yapmazdık. Her kontrol gerçek bir bulgudan doğdu ve kaynağı koda yazıldı — kaynağı olmayan bir kontrol zamanla yanlış pozitif üretip listenin tamamını okunmaz yapar.

Sürüm 40

GLOBAL ÖLÇÜMDE BÜTÜN SORU SETLERİ ARTIK İNGİLİZCE — TANINIRLIK DAHİL. Bu, ÖLÇÜLEN SORULARI değiştirir: global ölçülen markalarda hem keşif hem TANINIRLIK skoru önceki sürümlerle kıyaslanamaz. Sürüm 37'de çekirdek soruları, sürüm 39'da ikinci kategoriyi İngilizceye çevirdik. Geriye bağlanmamış üç yol kalmıştı ve bir raporda hepsi görünür oldu: "Eaglessoft güvenilir bir E-fatura markası mı?" (marka sorguları — tanınırlık eksenini besler), "E-fatura alanında fiyatlar nasıl?" (niyet seti) ve "PEPPOL Access Point hizmeti nedir?" (sitenin kendi metninden türetilen set — üstelik site baştan sona İngilizceydi). En ağırı birincisi: tanınırlık SKORA giriyor. Sitesi baştan sona İngilizce olan bir markanın alıcısı motorlara Türkçe sormaz ve Türkçe sorulan bir soruya dönen cevap, o alıcının gördüğü cevap değildir — yani ölçtüğümüz şey müşterinin pazarındaki tanınırlık değildi. AYNI HATANIN BEŞİNCİ TEKRARI OLDUĞU İÇİN BU KEZ YAPIYI DEĞİŞTİRDİK. Kuralı her seferinde kullanan yollara TEK TEK bağlıyorduk ve her seferinde geride bağlanmamış bir yol kalıyordu. Soru üreten bütün kalıplar artık tek bir dosyada ve ölçümün dili orada bir kez karar veriliyor; yeni bir soru seti eklenecekse oraya eklenir. Şablon kategorinin aktörü adlandırıp adlandırmadığını görüyor: "a reliable e-invoicing solution providers brand" gibi bozuk bir cümle kurulmuyor, bozuk bir sorunun cevabı ölçüm sayılmaz. Site metninden soru türeten isteme de dil talimatı eklendi — söylenmediğinde model, istemin geri kalanı Türkçe olduğu için Türkçe soru üretiyordu. Sitenin işini adlandıran ETİKET Türkçe kalıyor, çünkü beyan edilen kategoriyle karşılaştırılıp kapsam farkı oradan okunuyor; değişen yalnız sorular. ÇEVİRİ ÜRETİLEMEZSE HİÇBİR SET İNGİLİZCEYE GEÇMEZ: çekirdek zaten coğrafyasız Türkçe sete düşüyor ve öbür setleri İngilizce kurmak, aynı raporda iki farklı alıcıya sorulmuş sorular demek olurdu. Bütün setler ya birlikte İngilizce ya birlikte Türkçe. AYNI SÜRÜMDE KAYNAK SINIFLANDIRMASI: DÜNYACA BİLİNEN KAYNAKLAR ELLE TASNİF EDİLİYOR. Ölçülen yüzdeler değişmez; kaynak tipleri ve site dışı iş listesi değişir. Bir raporda gartner.com "sınıflandırılamayan kaynak — dizin mi, rakip mi belli değil" olarak çıktı ve müşteriye ayın işi olarak "önce açıp bakın" ödevi verildi. Gartner'ın ne olduğu tahmin edilecek bir şey değil: bunlar sınırlı sayıda, yıllarca aynı kalan kaynaklar ve otomatik sınıflandırıcının bunları bilememesi değil, listeye yazılmamış olmaları zayıflıktı. Üç tip eklendi ve AYRI tutuldular çünkü yapılacak iş bambaşka. ANALİST/ARAŞTIRMA KURULUŞLARINA (Gartner, Forrester, IDC) içerik koyamazsınız; değerlendirmelerine girmek onların kendi kapsam kriterlerine bağlıdır ve bunu "şu formu doldurun" diye yazmak müşteriyi yanıltır — rapor bunun yerine tanıtım görüşmesi talebini ve aynı kuruluşun müşteri yorumuna dayanan platformunu işaret ediyor. BAĞIMSIZ İNCELEME PLATFORMLARINDA (G2, Capterra, TrustRadius, Trustpilot) profil gerçekten sizindir: sahiplenmek, kategori ve özellik listesini sitenizle aynı yapmak ve gerçek müşterilerden değerlendirme istemek doğrudan yapılabilir işlerdir. Sahte yorum önerilmiyor: platform temizler ve motorun okuduğu tutarsızlığı büyütür. ANSİKLOPEDİ/AÇIK VERİ (Wikipedia, Wikidata) için kendi maddenizi kendiniz yazamazsınız — çıkar çatışması kuralları buna kapalı; yapılacak iş bağımsız kaynak biriktirmek, Wikidata tarafında ise kaynak göstererek kimlik alanlarını düzeltmek.

Sürüm 39

İKİNCİ KATEGORİ AYNI SORULARI SORUYORSA ARTIK ÖLÇÜLMÜYOR. Çekirdek skor ve trend etkilenmez — ikinci eksen zaten skora karışmıyordu; değişen şey o eksenin ölçülüp ölçülmediği. Bir raporda müşterinin birincil kategorisi "E-fatura", ikincisi "E-Invoice" yazıyordu. Global ölçümde ikisi de İngilizceye çevrildi ve İKİSİ DE "e-invoicing solution providers" terimine çözüldü: aynı altı soru iki kez soruldu, 12 hücre boşa ölçüldü ve rapor aynı %0'ı iki kutuda gösterdi. Üstüne "iki yüzde doğrudan karşılaştırılabilir" yazdı — doğruydu ama boş, çünkü karşılaştırılan şey ölçümün kendisiydi. ÇEVİRİ BU ÇAKIŞMAYI GÖRÜNMEZ YAPIYOR: beyan edilen iki etiket birbirinden farklıydı ve girdiye bakan bir kontrol bunu yakalayamazdı; yakalanabilir tek yer ÇIKTIDIR, yani iki eksenin gerçekten sorduğu sorular. Karşılaştırma artık orada yapılıyor ve setler aynıysa ölçüm hiç yapılmıyor. Bölüm SESSİZCE KAYBOLMUYOR: rapor ölçmediğimizi, neden ölçmediğimizi ve ne verilirse ölçebileceğimizi yazıyor — gerçekten ayrı bir soru seti üreten bir ikinci kategori, aynı terimin başka bir yazımı değil. GLOBAL ÖLÇÜMDE İKİNCİ KATEGORİ TÜRKÇE SETE DÜŞMÜYOR. Çeviri üretilemediğinde soru üreteci coğrafyasız Türkçe sete düşüyordu ve o setin içinde "Türkiye'de … güvenilir şirketler kimler?" sorusu var; Türkiye pazarı olmayan bir markanın raporuna o soruyu koymak, çekirdek eksende sürüm 37'de düzelttiğimiz hatayı ikincil eksende tekrarlamak olurdu. Aynı ders dördüncü kez: bir kuralı yazmak yetmiyor, onu kullanan HER yola bağlamak gerekiyor. Çeviri yoksa eksen ölçülmüyor ve rapor bunu yazıyor. İKİ DÜZELTME DAHA. (1) Bölümün giriş cümlesi "İki pazarda satıyorsunuz; ikisi ayrı ayrı ölçülür" diyordu — bu bir PAZAR cümlesiydi, oysa bölüm pazarı değil KATEGORİYİ ikiye ayırıyor. Global ölçülen bir raporda cümle üstelik manşetin altındaki "bu ölçüm global pazar için yapıldı" kutusuyla doğrudan çelişiyordu. Artık "iki kategoride ölçüm yapıyoruz" diyor. (2) Karşılaştırma kutuları BEYAN EDİLEN etiketi gösteriyordu ("E-fatura", "E-Invoice") ama sorular çevrilmiş terimle sorulmuştu; kutu, sorulmamış bir soruyu sorulmuş gibi gösteriyordu. Global ölçümde kutular artık ölçümün GERÇEKTEN sorduğu terimi yazıyor. Türkiye çekirdeğinde beyan edilen etiket kalıyor, çünkü sorulan da odur.

Sürüm 38

HEDEF PAZAR OLARAK "GLOBAL" EKLENDİ: TÜRKİYE PAZARI OLMAYAN MARKADA RAPOR TÜRKİYE'Yİ BİR EKSEN OLARAK HİÇ KURMUYOR. Ölçülen çekirdek değer değişmez — "ihracat" ile "global" birebir aynı ölçümdür: her ikisinde de sorular İngilizce ve coğrafya kısıtı olmadan sorulur. Ayrılan şey ANLATIDIR. İhracat yapan bir Türk firması için Türkiye bir referans noktasıdır ve "yurt dışı", "Türkçe profil orada okunmaz", "ihracat kapasiteniz" cümleleri ona kendi işini anlatır. Türkiye pazarı hiç olmayan bir markaya aynı cümleler yabancı bir çerçeve dayatıyordu: sitesi baştan sona İngilizce, adresi yurt dışında, Türkçe tek satırı yok — onun için "yurt dışı" diye bir yer yok, her yer aynı yer. Sürüm 35'ten beri böyle bir markanın ölçümünü globale çeviriyorduk ama RAPOR Türkiye'ye göreli kalmıştı ve bu bir tutarsızlıktı: doğru soruyu sorup yanlış çerçevede cevaplıyorduk. Değişen dört yer var. (1) RAKİP COĞRAFYASI KUTUSU KURULMUYOR. Kutunun tek ekseni "kaç rakip Türkiye merkezli, kaç tanesi değil" ve bu ancak Türkiye bir referans noktasıysa bir karar verdirir; "14 rakibin 14'ü yurt dışı merkezli" cümlesi global bir markaya hiçbir şey söylemez. Yerine bir şey UYDURMUYORUZ — elimizdeki tek coğrafya verisi bu ikili ayrım ve o burada anlamsız; kutunun taşıdığı tek kullanışlı cümle ("bu liste sizin liginiz") bölümün giriş paragrafında kalıyor. (2) İTİBAR ADIMLARI KURUM ADI SÖYLEMİYOR. "Ticaret sicil numaranızı, vergi numaranızı" cümlesi Türkiye'de kayıtlı bir firma için doğru; global bir markanın böyle bir numarası olmayabilir (adı KvK, VAT, EIN, CRN olabilir). Adım ATLANMIYOR çünkü altındaki ihtiyaç evrensel — motorun "resmi kayıt bulunamadı" demesinin cevabı doğrulanabilir bir tüzel kimliktir; değişen tek şey kurumu adlandırmamak, çünkü hangi sicilde kayıtlı olduğu hukuki bir sorudur ve ölçtüğümüz bir şey değil. (3) İÇERİK REÇETESİ HANGİ DİLDE YAYIMLANACAĞINI SÖYLÜYOR. Ölçüm İngilizce sorularla yapıldı, her maddenin hedef sorusu İngilizce yazıyor ve o soruyu soran alıcı sayfayı da İngilizce okuyacak; başlığı Türkçe görüp Türkçe bir sayfa açan müşteri tam da ölçtüğümüz sorunun cevabını üretmemiş olur. Başlıkları kendiliğimizden İngilizceye çevirmiyoruz — bunlar yayına hazır manşetler değil, ne yazılacağını anlatan brief'ler ve otomatik çevrilmiş bir manşet doğrulanmadan sayfa başlığı olarak kullanılabilir görünürdü. (4) DIŞ AYAK İZİ ÖNCE İNGİLİZCE KAYNAKLARA BAKIYOR. Wikidata etiketleri ve Wikipedia araması Türkçeyi önceliyordu; global bir markanın kaydı büyük olasılıkla en.wikipedia'da. Kapsam DEĞİŞMİYOR, sıra değişiyor: iki dil de sorgulanmaya devam ediyor ve marka tr.wikipedia'da bulunuyorsa bunu saklamıyoruz. Sitede Türkiye'ye dair hiçbir iz bulunamadığında ölçüm artık "ihracat" yerine bu değere geçiyor — düzeltmeyi tetikleyen kanıt zaten tam olarak "bu markanın Türkiye pazarı yok" kanıtı, yani sıfır iz; onu ihracata çevirmek soruları doğru kurar ama raporu Türkiye'ye göreli bir çerçevede bırakırdı ve "yurt dışı" diyebilmek için önce bir "yurt içi" olması gerekir. Karar sessiz değil: rapor manşetin dibinde bu kararın yalnız soruları değil raporun tamamını belirlediğini yazıyor.

Sürüm 37

GLOBAL ÖLÇÜMDE ÇEKİRDEK SORULAR ARTIK GERÇEKTEN İNGİLİZCE. Bu, ölçülen soruları değiştirir; global ölçülen markalarda skor önceki sürümle kıyaslanamaz. Sürüm 35'te "sitede Türkiye izi yoksa ölçümü globale çevir" kuralını koyduk ve çeviriyi bu yola BAĞLAMADIK. Sonuç: cümle İngilizce kuruldu ama kategori Türkçe kaldı — "Who are the best E-fatura companies?" Bu, sürüm 20 ve 28'de iki kez düzelttiğimiz hatanın ÜÇÜNCÜSÜ ve ilk kez ÇEKİRDEK eksende, yani skoru doğrudan etkiliyor. Ders her seferinde aynı: bir kuralı yazmak yetmiyor, onu kullanan HER yola bağlamak gerekiyor — İngilizce kontrolü ikincil eksende vardı, çekirdek yolda yoktu. Kategori çevirisi artık çekirdek ölçümden ÖNCE üretiliyor ve iki eksene birden hizmet ediyor (aynı önbellek anahtarı, ek maliyet yok). İkinci kategori de aynı kurala tabi. Çeviri üretilemezse global çekirdek kurulmuyor ve ölçüm coğrafyasız Türkçe sete düşüyor; rapor bunu yazıyor. Doğrulama İKİ katmanlı, çünkü biri yetmiyor: Türkçe harf kontrolü bir doğrulayıcıdır ve "E-fatura" onu geçer — ikinci kontrol çevirinin gerçekten yapıldığını, yani sonucun girdiden farklı olduğunu arıyor. Aynı kestirmeye sürüm 29'da da düşmüştük. HAKEME PAZAR KANITI VERİLİYOR. Rapor bir yanda "sitede Türkiye izi yok, ölçümü global yaptık" derken hakem öbür yanda "aranan şirket Türkiye merkezli olabilir" gerekçesiyle yabancı merkezli cevapları YANLIŞ sayıyordu; aynı ölçümün iki yarısı birbiriyle çelişiyordu ve kanıt elimizdeyken hakeme verilmemişti. Artık site kanıtı isteme giriyor: iz yoksa "bu şirketi Türkiye merkezli VARSAYMA" deniyor. Adı paylaşılan global markalarda tanınırlık bu sürümde YÜKSELEBİLİR. İçerik reçetesindeki soru desenleri de yalnız Türkçe yazılmıştı ve İngilizce sorular en alttaki varsayılan dala düşüp BAŞLIK OLARAK KENDİSİ kullanılıyordu: müşterinin sitesine "Who are the best … companies?" diye bir sayfa önerildi. Kural yıllardır yazılıydı ("sorunun kendisini başlık yapma, arkasındaki ihtiyaca cevap ver") ama tek dilde. Sıralama, güven, karşılaştırma ve fiyat desenleri artık iki dilde. Son olarak, global ölçülen bir markaya Türkiye'ye özgü tavsiye verilmiyor: rakip coğrafyası bölümü "hangi ligde yarışıyorsunuz" yerine "rakiplerinizin coğrafyası" diyor ve "asıl bakılacak yer aynı soruların Türkiye kısıtıyla sorulmuş hâli" cümlesi kurulmuyor — o soru hiç sorulmadı.

Sürüm 36

"İHRACAT PAZARI" EKSENİNİN ADI "GLOBAL PAZAR" OLDU. Ölçülen hiçbir değer değişmez; değişen şey etiket. Ad yanlış değildi ama DARDI: ihracat mal göndermeyi çağrıştırıyor ve ölçtüğümüz markaların çoğu mal göndermiyor. Bir e-fatura yazılımı, bir ilan platformu, bir danışmanlık şirketi ihracat yapmıyor — yurt dışında ÇALIŞIYOR. "İhracat pazarında %0" cümlesi böyle bir markaya kendi işini tarif etmiyor gibi geliyor ve raporun geri kalanının da ona göre yazılmadığı izlenimini bırakıyor. Ölçtüğümüz şeyin kendisi de zaten ihracat değil: soruları İNGİLİZCE ve COĞRAFYA KISITI OLMADAN soruyoruz ve bunun karşılığı global görünürlüktür. Bir üretici için global görünürlük ihracat demektir; bir yazılım için değildir — adın ikisini birden kapsaması gerekiyordu. Aboneliğin hedef pazar seçeneği de "İhracat (yurt dışı)" yerine "Global (yurt dışı)" yazıyor. Veritabanındaki değer "ihracat" olarak KALIYOR: göç gerektirmeyen bir ad değişikliği için kayıtlı veriyi ellemeyiz ve geçmiş ölçümlerin karşılaştırılabilirliği bozulmaz.

Sürüm 35

SİTEDE TÜRKİYE PAZARINA DAİR HİÇBİR İZ YOKSA TÜRKİYE ARTIK ÖLÇÜLMÜYOR. Bu, ÖLÇÜLEN SORULARI değiştirir; etkilenen markalarda skor önceki sürümlerle kıyaslanamaz. Bir abonelikte hedef pazar "ikisi" yazıyordu ve ölçümün yarısı Türkçe sorulara gitti. Oysa site baştan sona İngilizceydi (html lang="en"), Türkçe tek satır yoktu, Türkiye telefonu, KVKK metni, ₺ fiyat ve .tr alan adı da yoktu. O yarım ölçüm boşa gitti: Türkçe sorulan bir soruya dönen liste, o markanın müşterisinin gördüğü liste değil. SÜRÜM 18'DEKİ KURALLA ÇELİŞMİYOR, TERSİNİ SÖYLÜYOR. Orada "sitenin diline bakıp demek ki Türkiye'de satıyor demek varsayım olur" demiştik ve bu doğru — ihracat yapan pek çok Türk firmasının sitesi Türkçedir. Buradaki çıkarım ters yönde ve çok daha güçlü: Türkiye'ye satan bir markanın sitesinde Türkiye'ye dair EN AZ BİR iz bulunur. Yedi ayrı iz aranıyor ve TEK BİRİ bile Türkiye ölçümünü sürdürmeye yetiyor; eşik bilinçli olarak böyle asimetrik, çünkü Türkiye'de satan bir markanın ölçümünü kesmek, satmayan bir markaya boş ölçüm yapmaktan çok daha pahalı. ÜRÜN KAPSAMI PAZAR İZİ DEĞİLDİR — bu ayrım kuralın en kritik parçası. Bir e-fatura yazılımının sayfasında "Turkey — E-Invoice, E-Archive (GIB)" satırı desteklenen MEVZUAT listesindendir; yanında Hollanda, Belçika, İspanya ve Polonya da vardır. Ülke adının gövde metninde geçmesi tek başına asla iz sayılmaz. Türkçe metin tespiti de ham harf SAYISINA değil ÇEŞİTLİLİĞİNE bakıyor: "Türkiye" tek bir Türkçe harf taşır, gerçek Türkçe metin ş, ğ, ı, ç, ö, ü'yü birlikte kullanır. Karar SESSİZ DEĞİL ve GERİ ALINABİLİR: rapor manşetin dibinde ölçümün hangi pazar için yapıldığını, hangi izleri aradığımızı ve düzeltmenin nasıl yapılacağını yazıyor. Sitenin metni hiç okunamadıysa düzeltme YAPILMIYOR — iz bulamamak ile bakamamak ayrı şeylerdir ve ölçemediğimize dayanarak pazar değiştirmek tam da kaçındığımız varsayım olurdu.

Sürüm 34

ÇAPRAZ KONTROLÜN GÜVENLİK KAPISI DİL FARKINDA DELİNİYORDU — bu bir DÜZELTMENİN DÜZELTMESİDİR ve tanınırlık bu sürümde YÜKSELEBİLİR. Sürüm 32'de eklediğimiz çapraz kontrolün üçüncü kapısı şuydu: bir karışıklığın ayırt edici jetonu müşterinin KENDİ SİTESİNDE geçiyorsa karışıklık kanıtı sayılmaz — site o ülkeden söz ediyorsa markanın gerçekten orada bir ofisi olabilir. Bu kapı ilk gerçek vakada çalışmadı. Hakem karışıklığı Türkçe yazmıştı ("Belçika merkezli"), müşterinin sitesi İngilizceydi ve "Belgium" diyordu. Aynı ülke, iki dil, eşleşme yok — ve büyük olasılıkla aynı şirkete ait hücreler tanınmadan düşürüldü; o ölçümde tanınırlık 3/12 yerine 1/12 çıktı. Normalleştirme aksanı çözüyordu ama DİLİ çözmüyordu. Yer adları bu hatanın en olası kaynağı, çünkü karışıklıkların çoğu "başka ülkede merkezli aynı adlı şirket" biçiminde. Kapalı ve dar bir eşanlam tablosu (otuz kadar ülke, Türkçe ve İngilizce yazımlarıyla) tahmin etmeden bu boşluğu kapatıyor. Liste tam değil ve olamaz: kapsamadığı bir dil çiftinde kapı yine delinebilir. Bu yüzden çapraz kontrolle düşen hücreler raporda ayrıca listeleniyor — karar bizim çıkarımımızdan geliyor ve okuyan onu görebilmeli. Aynı sürümde ölçüleni değiştirmeyen bir düzeltme: robots.txt kaleminin açıklaması "AI motorları tarayabiliyor" diyordu ve bir raporda altı botun altısı da sunucudan HTTP 403 alırken bu cümle basıldı — rapor iki satır arayla hem "tarayabiliyor" hem "6/6 bot engelleniyor" dedi. robots.txt bir İZİN belgesidir; erişimi sunucu, CDN ve WAF katmanı belirler. Açıklama artık bot yoklamasının sonucunu biliyor ve engel varsa kuralın nerede olduğunu söylüyor.

Sürüm 33

PLATFORM/PAZARYERİ BİR İŞ TİPİ OLARAK EKLENDİ. Ölçülen skor değişmez; içerik reçetesi, itibar adımları ve ihracat soruları değişir. Bir ölçümde sistem markayı DOĞRU tanıdı — "satılık ve kiralık daire ilanları platformu" — ve iki sayfa sonra reçete klasik danışmanlık şablonuna döndü: "hizmet alanları: hangi ihtiyaca hangi çözüm", "süreç: adım adım nasıl ilerliyor", "uzmanlık: referanslar ve tamamlanan projeler". Bir ilan platformunun tamamlanan projesi ya da çalışma biçimi yoktur. Üstelik aynı raporun genişletilmiş ölçümü platforma özgü çok daha iyi soruları site metninden zaten türetmişti ("ilan vermek ücretsiz mi", "kurumsal mağaza açabilir miyim", "hangi şehirlerde ilan var"); reçete o kaynaktan konuşmuyordu. Yeni tip en önde sıralanıyor: "emlak ilan platformu" hem hizmet hem platform anahtarına uyar ve belirleyici olan platform tarafıdır — müşteri danışmanlık satmıyor, ilan yayımlatıyor. Bir pazaryeri teknik olarak yazılımdır ama ticari modeli yazılım satmak değildir. Platformun otorite kurduğu yer KULLANIM: ilan nasıl verilir, arama nasıl yapılır, kurumsal hesap ne işe yarar, güven nasıl sağlanır, kapsam hangi şehirlerdir. İTİBAR ADIMLARI DA İŞ MODELİNE BAĞLANDI. Liste sabitti ve her markaya "acentelik, bakanlık izni, meslek örgütü kaydı" öneriyordu; platformda karşılığı yok ve müşteri "bunlar bende yok" deyince yalnız o madde değil listenin tamamı değersizleşiyor. Doğrulanabilir kimlik her iş modelinde korunuyor — değişen şey belge adları. Bilmediğimiz bir ruhsatın adını dayatmıyoruz: hangi belgenin gerektiği hukuki bir sorudur ve ölçtüğümüz bir şey değil; genel listede artık "faaliyetiniz böyle bir belge gerektirmiyorsa bu adımı atlayın" yazıyor. İHRACAT ŞABLONU: aktör sözlüğüne platform ekonomisi eklendi (platform, marketplace, portal, directory, aggregator, listing). Sözlük ilk yazıldığında yalnız üretim ve ticaret dünyasından sözcükler taşıyordu ve bir ilan platformunun kategorisi "apartment listing platforms" çıkınca şablon üstüne "companies" ekledi.

Sürüm 32

VARLIK DENETİMİNE ÇAPRAZ KONTROL EKLENDİ VE TANINIRLIK BU SÜRÜMDE DÜŞEBİLİR. Hakem her cevabı BAĞIMSIZ değerlendiriyor ve bir çağrıda fark ettiğini öbüründe kaçırabiliyor. Bir ölçümde bunun somut sonucu şuydu: hakem iki cevabı "aynı adlı, başka ülkede merkezli bir şirketle birlikte anlatıyor" diye düşürdü ve gerekçesini yazdı; aynı ölçümdeki başka bir motorun cevabı markayı doğrudan o ülkede merkezli diye tanımlıyordu ve DOĞRU sayıldı. Rapor aynı sayfada hem bulguyu hem bulguyu çürüten bir onay işareti bastı. Biz bütün cevaplara aynı anda bakabiliyoruz: bir hücrede DOĞRULANMIŞ karışıklık, aynı ayırt edici ifadeyi taşıyan öbür hücreler için de kanıttır. Artık doğrulanmış karışıklığın ayırt edici jetonları çıkarılıyor ve tanınmış sayılan diğer hücrelerin tam cevaplarında aranıyor; bulunan hücre tanınma saymıyor. Yanlış pozitife karşı üç kapı var: jeton dört harften uzun ve jenerik listede olmamalı, markanın kendi adı olmamalı, ve en önemlisi MÜŞTERİNİN KENDİ SİTESİNDE geçmemeli — site o ülkeden söz ediyorsa cevapta geçmesi karışıklık kanıtı değildir. Karar sessiz değil: çapraz kontrolle düşen hücreler raporda ayrıca yazılıyor, çünkü bu karar hakemden değil bizim çıkarımımızdan geliyor. Adı başka bir varlıkla paylaşan markalarda tanınırlık bu sürümde DÜŞER; motorlar değişmedi, ölçüm tutarlı hale geldi. Ölçüleni değiştirmeyen iki düzeltme: rakip fark tablosundaki "sizi 21 sayfadan ölçüp" ifadesi bir örnekten SABİT yazılmıştı ve 16 sayfa örneklenen bir raporda da 21 diyordu — sayı artık ölçümden geliyor. İkinci kategori bölümü, çekirdek ölçümden daha az motorla ölçüldüğünde bunu söylüyor ve "iki yüzde doğrudan karşılaştırılabilir" cümlesini kurmuyor; bir ölçümde çekirdek dört motorla, ikinci kategori üçle ölçülmüştü ve rapor paydaların eşit olduğunu ima ediyordu.

Sürüm 31

KATEGORİ UYARISI YÖNETİCİ ÖZETİNE TAŞINDI; TESLİM EDİLEN DOSYA KENDİ UYARISINI TAŞIYOR. Ölçülen hiçbir değer değişmez. (1) Kategori uyarısı manşetin altındaydı ama raporun üçüncü sayfasına düşüyordu. Oysa söylediği şey keşif yüzdesinin NASIL OKUNACAĞINI kökten değiştiriyor: bir ölçümde "Yazıcı" kategorisinden dönen sekiz rakibin sekizi de yabancı üreticiydi ve markanın kendi sitesi işini "yazıcı ve ofis ekipmanları distribütörü" diye anlatıyordu — orada %0 bir başarısızlık değil, ölçümün yanlış ligde yapıldığının göstergesi. Yönetici özeti raporun tamamını okumayan için yazılır; skorun yorumunu değiştiren bir uyarı skorun kendisiyle aynı ekranda olmalı. Özet artık "Bu skoru yorumlamadan önce" satırını taşıyor ve ayrıntıya işaret ediyor. (2) Teslim edilen llms.txt'te doğrulanamayan iletişim satırları artık dosyanın İÇİNDE işaretleniyor: "[DOĞRULAYIN — okuduğumuz sayfalarda bulunamadı]". Bulguyu yalnız rapora yazmak yetmiyordu, çünkü müşteri dosyayı kopyalayıp yayımlıyor ve rapordaki uyarı kutusu dosyayla birlikte gelmiyor. Satırı SİLMİYORUZ ve bu bilinçli: "okuduğumuz sayfalarda yok" ile "sitede yok" aynı şey değil — 301 sayfalık bir siteden 16 sayfa örneklediğimizde bilgi büyük olasılıkla okumadığımız bir sayfadadır ve doğru olabilecek bir iletişim bilgisini atmak müşteriye zarar verir. Şema tarafında ters karar vermiştik (orada alan ya vardır ya yoktur ve makine okunur bir iddiadır); burası düz metin ve müşteri okuyarak karar verebilir. Rapor ayrıca kaç sayfadan kaçını okuduğumuzu bu kutuda da yazıyor, çünkü kanıtın gücü buna bağlı.

Sürüm 30

İNGİLİZCE SORU ŞABLONU KATEGORİYE UYUM SAĞLIYOR. İhracat sorularının KURULUŞU değişti; ihracat yüzdesi önceki sürümle kıyaslanamaz, Türkiye ölçümü etkilenmez. Bir önceki sürümde kategori çevirisini iyileştirdik: iş türü sitede açıkça görünüyorsa terime ekleniyor ("specialty coffee" değil "specialty coffee roasters"). Ama soru şablonu buna uyum sağlamıyordu ve kendisi de bir aktör ismi ekliyordu: "Who are the best specialty coffee roasters COMPANIES?", "Which specialty coffee roasters BRANDS are most recommended?". Dilbilgisi bozuk ve bozuk bir sorunun cevabı ölçüm sayılmaz — bir düzeltme, bir sonraki katmanda yeni bir hata üretti. Şablon artık kategorinin aktörü adlandırıp adlandırmadığını görüyor. Adlandırıyorsa kategori sorunun ÖZNESİ oluyor ("Who are the best specialty coffee roasters?"); adlandırmıyorsa şablon eskisi gibi aktör ismini kendisi ekliyor ("Who are the best specialty coffee companies?"). Ayrım KAPALI bir İngilizce ticaret sözlüğüne dayanıyor — roaster, manufacturer, supplier, distributor, factory ve benzeri, tekil ve çoğul biçimleriyle. Tahmin yok: bir sözcük ya bu listededir ya değildir. Çeviri isteminden artık ÇOĞUL biçim isteniyor, çünkü terim "Who are the best ___?" sorusunun öznesi olarak kullanılıyor.

Sürüm 29

YÖNETİCİ ÖZETİ KUSURUN CİNSİNİ ÖLÇÜMDEN ALIYOR; ihracat terimi sitenin kendi metnini de görüyor. Ölçülen skor bu sürümde değişmez, ihracat sorularının kurulduğu terim değişebilir. (1) Özet cümlesi her markada aynı şeyi söylüyordu: "bazı motorlar sizi tanımıyor ya da başka bir şeyle karıştırıyor". Bir ölçümde asıl bulgu bunların hiçbiri değildi — motor doğru markayı buluyor ama sunmadığı ürün ve hizmetleri ona atfediyordu. Hakem bu ayrımı bir önceki sürümde yapmaya başlamıştı ve rapor ayrı bir bölümde gösteriyordu; ÖZET onu duymuyordu. Yönetici özeti raporun tamamını okumayan için yazılır ve orada yanlış kusuru adlandırmak müşteriyi yanlış işe yönlendirir: karıştırmanın çözümü kimliği ayrıştırmak, kapsam hatasının çözümü ne yapmadığını yazmaktır. Cümle artık dört ayrı bulgudan hangileri gerçekten ölçüldüyse onlardan kuruluyor — "hiç tanımıyor" da dahil: bunu ancak hiçbir bulgu etiketi taşımayan düşmüş bir hücre varsa söylüyoruz. (2) İHRACAT TERİMİ: kategoriyi İngilizceye çevirirken modele sitenin kendi metnini VERMİYORDUK ve model kategoriyi tek başına çevirmek zorunda kalıyordu. "Nitelikli Kahve" için "specialty coffee" çıktı — doğru ama TİCARİ KONUMU kaçırıyor: marka bir kavurucu ve yurt dışı alıcı "specialty coffee roasters" arıyor. Sitenin kendi metni bu farkı taşıyor ve zaten okuyoruz; modele vermemek elimizdeki kanıtı kullanmamaktı. Artık site metni de veriliyor ve istem, iş türünün sitede açıkça göründüğü durumlarda terime eklenmesini istiyor — görünmüyorsa tahmin edilmiyor, kategori terimi tek başına kullanılıyor. Aynı sayfa metni sektör teşhisinde de kullanılıyor, yani ek istek yok. İhracat yüzdeleri bu sürümde farklı bir terimle ölçülmüş olabilir ve önceki sürümlerle doğrudan kıyaslanmaz.

Sürüm 28

İHRACAT KATEGORİSİ ÇEVRİLMEDEN GEÇİYORDU VE HAKEME YENİ BİR KARAR EKLENDİ. (1) İHRACAT: sürüm 20'de kategoriyi yerelleştirme kuralını koymuştuk ama çeviri fonksiyonunda bir kestirme vardı — "içinde Türkçe harf yoksa zaten İngilizcedir" varsayımı. "Nitelikli Kahve" içinde tek bir Türkçe harf yok; çeviri HİÇ DENENMEDİ ve ihracat soruları "Who are the best Nitelikli Kahve companies?" diye kuruldu. Tam da engellemek için yazdığımız hata, engelleyicinin kendi kestirmesinden geri geldi. Türkçe harf kontrolü bir DOĞRULAYICIDIR, bir tespit aracı değil: harf varsa İngilizce olmadığı kesindir, yoksa hiçbir şey bilinmez — bunu kendi kod yorumumuzda yazmıştık ve yine de tespit için kullandık. Çeviri artık her zaman deneniyor ve sonuç girdinin aynısı dönerse ihracat bölümü hiç ölçülmüyor. İhracat yüzdeleri önceki sürümlerle kıyaslanamaz. (2) HAKEME "UYDURMA" KARARI EKLENDİ ve tanınırlık bundan etkilenir. Eskiden iki ayrı sorun tek hanede toplanıyordu: motorun markayı BAŞKA bir şirketle karıştırması ile DOĞRU şirkete olmayan hizmetler atfetmesi. Bir ölçümde bir motor doğru markadan bahsedip ona ekipman satışı, barista eğitimi, çay ve atıştırmalık ekledi; rapor bunu "sizi başka bir şeyle karıştırıyor" başlığı altında gösterdi. Motor karıştırmıyordu. İkisinin reçetesi de ayrı: karıştırmada kimlik ayrıştırılır (farklı ad, kayıt, tutarlı adres-unvan), uydurmada ise markanın kendi sayfasında ne yaptığını olduğu kadar NE YAPMADIĞINI da net yazması gerekir. Artık ayrı bir karar, ayrı bir liste ve ayrı bir bölüm. Hücre yine düşer — somut ama yanlış bilgi temiz bir tanınma değildir — ama bulgu doğru kutuda görünür. Ölçüleni değiştirmeyen üç düzeltme: görünürlük merdiveninin basamak özetleri artık "çoğu motor" demiyor. Basamak ORTANCADIR ve dört motorun ikisi tanıyıp ikisi tanımadığında ortanca 1 çıkar; "çoğu" demek yanlıştı, ortancanın garanti ettiği şey "motorların en az yarısı". İkincisi: "asıl darboğaz" iki ayrı bölümde iki farklı şey için kullanılıyordu; darboğaz artık yalnız yönetici özetinde adlandırılıyor ve site dışı bölümü okuyanı oraya geri gönderiyor. Üçüncüsü: "motorlar bu tür içeriği sık alıntılar" gibi gerekçeler yumuşatıldı — alıntılanma sıklığını ölçmüyoruz; söyleyebileceğimiz şey içeriğin biçiminin alıntılanmaya uygun olduğu.

Sürüm 27

KAYNAK SINIFLANDIRMASI SAYFANIN KENDİ BAŞLIĞINI DA OKUYOR; ölçülen skor değişmez, kaynak tipleri değişir. Bir raporda sekiz kaynak "sınıflandırılamayan" çıktı ve ayın üçüncü işi olarak müşteriye "önce açıp bakın" diye ödev verildi — çekirdek sorularda toplam 38 kez geçen sekiz alan adı. Oysa o sitelerin sayfalarını OKUMUŞTUK; kullanmadığımız şey en açık kanıttı: sayfanın kendi <title> etiketi. "Onedio — Sosyal İçerik Platformu", "Paranet — Finans, Ekonomi ve Piyasa Haberleri", "Avansas: Ofis ve İşyeri İhtiyaçları". Sınıflandırıcı yalnız gövdeye bakıyordu ve gövde işaretleri elle yazılmış kalıplara dayanıyor: "firmanızı ekleyin", "son yazılar", "hakkımızda". Modern siteler bu kalıpları kullanmıyor. Üç ekleme yapıldı. (1) Başlık, gövde KARARSIZ kaldığında devreye giriyor — yalnız "bilinmiyor" kararının yerini alabiliyor, başka hiçbir kararın değil, dolayısıyla yanlış sınıflandırma riski hiç sınıflandıramamakla sınırlı. (2) Perakende/e-ticaret dili eklendi: eski dizin listesi B2B firma rehberi diliyle yazılmıştı ve bir e-ticaret sitesi o kalıpların hiçbirini kullanmıyor — "sepete ekle", "kargo bedava", "stokta" diyor. (3) "Sayfa tek bir firmayı anlatıyor ama sizin kategorinizde değil" kararı artık ATILMIYOR. Bu bir karardır; boşa çevirince kaynak alan adı tahminine geri düşüyor ve yine "önce siz bakın" çıkıyordu. Artık "başka bir firmanın sitesi" olarak raporlanıyor: girilecek bir yer yok, yapılacak iş aynı soruyu kendi sayfanızda daha net cevaplamak. Ayrıca sayfa sınıflandırıcısının döndürebildiği her tip kaynak tipi tablosuna bağlandı — "basın", "pazaryeri" ve "forum" tabloda yoktu ve o kararlar sessizce düşüyordu. Bu değişiklik görünürlük yüzdelerini ETKİLEMEZ ama kaynak tipi kırılımını, öncelik tablosunu ve site dışı iş listesini değiştirir: daha önce "sınıflandırılamadı" diye tek maddede toplanan kaynaklar artık kendi tiplerinde ve kendi reçeteleriyle görünüyor.

Sürüm 26

KATEGORİ UYUM UYARISI ARTIK KAPSAMA DA BAKIYOR; ÖLÇÜLEN DEĞER DEĞİŞMEZ. Uyarı ligi yalnız COĞRAFYAYLA ölçüyordu: hedef pazarı Türkiye'yi içeren bir markada rakip listesi baştan sona yurt dışı merkezliyse "kategoriyi doğrulayın" diyordu. Gerçek bir vakayı kaçırdı. "Akıllı Yaşam Alanları" kategorisinden Vestel, Samsung, Arçelik, Siemens ve Turkcell çıktı — sekiz rakibin yedisi Türkiye merkezliydi, yani coğrafya sinyali "aynı ligdesiniz" dedi. Oysa markanın kendi sitesi işini "güneş enerjili carport ve akıllı dış mekan çözümleri" diye anlatıyordu: sorun ülke değil KAPSAMDI, beyan edilen etiket sitenin anlattığı işten belirgin biçimde genişti. Artık ikinci bir sinyal var ve ikisinden biri yeterli: sitenin kendi tanımı, kategori etiketinde hiç geçmeyen en az iki ayırt edici kelime taşıyorsa ("güneş", "carport") ve marka o kategorinin hiçbir sorusunda görünmüyorsa rapor kategoriyi doğrulamanızı istiyor. Ölçüt sayılabilir bir olgudur, bir yargı değil: modelin "sektör uyumludur" demesine bakmıyoruz, çünkü bu vakada model tam da öyle demişti. Jenerik kelimeler ("çözümleri", "sistemleri", "hizmetleri") ayırt edici sayılmaz ve tek fazladan kelime yetmez — her site kendini etiketinden uzun anlatır. İki teslim düzeltmesi daha var. (1) DOĞRULANMAYAN TANIM ARTIK ŞEMADAN ÇIKARILIYOR. Önceki sürümde cümleyi bırakıp "doğrulanmadı" damgası basıyorduk; yetmiyor, çünkü şema makine okunur bir İDDİADIR ve müşteri kodu olduğu gibi yapıştırdığında o cümle markanın resmi tanımı olarak yayımlanır. Rapor bir yanda "bu cümleyi sitenizde bulamadık" derken öbür yanda aynı cümleyi teslim ediyordu. llms.txt'te satırı bırakmaya devam ediyoruz — orası düz metin ve okuyup karar verebilirsiniz; şemada alan ya vardır ya yoktur ve boş bırakmak da yanlış beyandır. Çıkarılan alan "dolduramadığımız alanlar" listesine giriyor. (2) Motor kırılımı bölümündeki "Üç motorda da aynı sonuç" cümlesi motor sayısını SABİT yazıyordu ve dördüncü motor eklendikten sonra altındaki tabloyla çelişiyordu; sayı artık ölçümden geliyor.

Sürüm 25

MOTOR SETİ DONDURULDU VE GEÇİŞ AYI İÇİN KIYAS TABLOSU EKLENDİ. Bu sürüm ölçülen değeri DEĞİŞTİRMEZ; değiştirdiği şey, değişen bir çerçevenin nasıl anlatıldığı. Perplexity eklendiği ölçümde tanınırlık %44'ten %33'e düştü ve merdiven 1'den 0'a indi. Tanınan hücre sayısı DEĞİŞMEMİŞTİ — dördü de yerinde duruyordu. Düşen şey paydaydı: 9 hücreden 12'ye çıktı ve dördüncü motor markayı hiç tanımıyordu. Sitede ve markada hiçbir şey değişmemişti ama rapor bunu açıklayan tek satır taşımıyordu. İlk ölçümde zararsız; aboneliğin ikinci raporunda müşteriyi kaybettiren şey tam olarak budur. Yapamayacağımız şey açık: önceki ölçümın ölçümünü yeni motorla yeniden hesaplamak. O motora o ölçümde soru sorulmadı ve olmayan bir cevabı üretmek, ölçmediğimizi ölçtük demenin en kötü biçimi olurdu. Yapabildiğimiz şey bunun tersi: BU ayın ölçümünü ÖNCEKİ ölçümün çerçevesinde yeniden hesaplamak — bu ay bütün motorların hücreleri elimizde, yenisini dışarıda bırakınca önceki ölçümle birebir aynı çerçeve çıkıyor. Motorun eklendiği ölçümde rapor üç sütun basıyor: önceki ölçüm, bu ölçüm eski çerçeveyle, bu ölçüm yeni çerçeveyle. Trend ortadaki sütundan okunuyor; sağdaki sütun sonraki ölçümlerin başlangıç noktası. Tablo yalnız o ölçümde çıkar. Ayrıca motor seti bundan sonra DONDURULMUŞ sayılıyor: bir ölçümde set değişirse operatöre uyarı gidiyor ve trend grafiğinde tam o satırda kırılma işareti çıkıyor. Beşinci bir motor eklemek bilinçli bir karar olmak zorunda, fark edilmeden olan bir şey değil — çünkü geriye dönük düzeltmesi yok. İkinci ekleme: ÇİFT SAYIDA MOTORDA ORTANCANIN NASIL YUVARLANDIĞI artık yazılı. Dört motorda ortanca iki ortadaki değerin arasına düşebiliyor ({2,1,0,0} için 0,5) ve biz AŞAĞI yuvarlıyoruz. Karar değişmedi, görünür oldu: bir basamak, bir motorun daha markayı tanımasıyla kazanılır, tanımamasıyla kaybedilmez — "sizi tanıyor" demek "tanımıyor" demekten daha iddialıdır ve iddialı tarafın kanıt yükü ağırdır. Bağ aşağı çözüldüğünde rapor bunu satırın yanında söylüyor.

Sürüm 24

VARLIK DENETİMİNİN NEDEN DÜŞTÜĞÜ BULUNDU VE TANINIRLIK BU SÜRÜMDE DÜŞEBİLİR. İki ayrı kök neden çıktı, ikisi de ölçülen değeri etkiliyor. (1) KARIŞIK KARARI EKLENDİĞİ GÜNDEN BERİ ÖLÜ KODDU. Sürüm 16'da hakeme "karisik" kararı eklenmişti: motor doğru şirketten bahsediyor ama aynı adı taşıyan başka bir varlığı da anlatıyorsa, bu temiz bir tanınma değildir. Ama kararı kabul eden liste elle yazılmıştı ve "karisik" o listeye konmamıştı — gelen her "karisik" kararı sessizce "belirsiz"e dönüşüyor, hücre düşmüyor ve kimlik karışıklığı listesi dolmuyordu. Yani sekiz sürümdür duyurduğumuz bir ölçüm hiç çalışmamış. Artık kabul listesi kararların kendi tanımından türetiliyor. SONUÇ: adı başka bir varlıkla paylaşan markalarda tanınırlık bu sürümde DÜŞER ve kimlik karışıklığı bölümü dolabilir; motorlar değişmedi, ölçüm düzeldi. (2) HAKEME GİDEN CEVAP TAVANA ÇARPIP KESİLİYORDU. Hakemin yanıt uzunluğu sabit bir tavana bağlıydı ve o tavan üç motorluk ölçüme (9 hücre) göre konmuştu. Perplexity eklenince hücre 12'ye çıktı, her karar bir gerekçe cümlesi taşıyor ve Türkçe metin token bakımından pahalı: yanıt yarıda kesiliyor, kesilen JSON çözülemiyor ve denetim tümüyle düşmüş görünüyordu. Arka arkaya iki ölçümde düşmesinin sebebi bir sağlayıcı arızası değil, motor eklerken bu tavanın güncellenmemesiydi — bir sabit, üzerinde durduğu ölçek değişince sabit kalamaz. Tavan artık hücre sayısıyla ölçekleniyor ve kesilme ayrıca kayda geçiyor. (3) KISMİ DENETİM ARTIK DENETİM SAYILMIYOR. Yanıt yarıda kesildiğinde bazen 12 hücrenin 8'i geliyor, 4'ü gelmiyordu; karar bulunamayan hücre olduğu gibi bırakılıyor, yani SESSİZCE "denetlendi ve geçti" hanesine yazılıyordu. Kısmi kesilme tam kesilmeden tehlikeliydi çünkü rapora "denetlendi" diye giriyordu. Eksen ancak tanınmış görünen HER hücre denetlendiyse geçerli sayılıyor. Aynı sürümde ölçülen değeri değiştirmeyen iki metin düzeltmesi: dereceli modda kararlılık paragrafı artık tanınırlık iddiası taşımıyor (çekiliş kararlılığı denetimden bağımsız ölçülebilir, "sağlam tanınma" ve ondan türeyen puan ölçülemez — ölçülemediğini söylediğimiz eksenden bir "gerçek zemin" bildiriyorduk); ve sayfaları sunucudan boş gelen sitede llms.txt özet cümlesi artık "bu satırları kontrol edin" demiyor — aynı bölümün ayrıntı kutusu "sizden bir şey beklemiyoruz" derken özet cümlesi bunun tersini söylüyordu.

Sürüm 23

VARLIK DENETİMİ DÜŞERSE TANINIRLIK EKSENİ ARTIK SAYI BASMIYOR. Bir ölçümde tanınırlık "%67 DENETLENMEDİ" diye basıldı; önceki ölçüm %44'tü ve müşterinin gördüğü şey 23 puanlık bir sıçramaydı. Aynı sayfada bir motorun yanında hem ⚠ ✓ duruyor hem de o ✓'i çürüten alıntı basılıyordu, üstelik bunu açıklayacak kimlik karışıklığı bölümü denetime bağlı olduğu için hiç çıkmıyordu. Rozet yetmiyor: rozetli bir sayı, sayının yanlış okunmasını engellemiyor, yalnızca bizi haklı çıkarıyor. Asıl zarar TREND tarafındaydı — o sayı başarı ölçütüne başlangıç noktası olarak yazılıyor ve gelecek ay denetim çalışınca gerçek değer çok daha düşük çıkıp ÇÖKÜŞ gibi okunuyordu. Ürünün bütün değeri aylar arası kıyasta; denetlenmemiş bir sayıyı başlangıç yapmak o değeri zehirler. Artık üç şey birden değişti: (1) denetim düşerse bir kez daha DENENİYOR ve başarısız sonuç günlük önbelleğe YAZILMIYOR — eskiden ilk başarısızlık güne yazılıyordu ve aynı gün yeniden denemek fiilen imkânsızdı; (2) ikinci deneme de düşerse tanınırlık ekseni sayı yerine "bu ölçümde ölçülemedi" durumu gösteriyor, o ayın tanınırlık hedefi konmuyor ve sayı geçmişe yazılmıyor; (3) görünürlük merdiveni de damgalanıyor ve geçmişe yazılmıyor, çünkü kategoride görünmeyen bir motorun basamağı marka tanınmasından çıkar. Kimlik karışıklığı bölümü de artık sessizce kaybolmuyor: "kontrol edilemedi" diyor, çünkü yokluk ile ölçülememek ayrı şeylerdir. Aynı sürümde ölçülen değeri değiştirmeyen dört düzeltme: motor seti bir ölçümden diğerine değişirse TREND GRAFİĞİNDE tam o satırda kırılma işareti çıkıyor (kategori için zaten savunduğumuz ilkenin motorlara uygulanmış hâli; eklenen motor ile o ölçümde cevap vermeyen motor ayrı ayrı anlatılıyor); tek çekilişte görünen bir alan adı artık rakip fark tablosuna girmiyor (aynı adres hem rakip olarak ölçülüp hem "gözlem — henüz iş değil" listesinde duruyordu); teslim edilen Organization kodunda modelin HİÇ yazmadığı alanlar da "dolduramadığımız alanlar" listesine giriyor ve iş listesi artık genel bir alan listesi yerine yalnız eksik kalanları söylüyor (kodda logo yokken "logo doldurun" diyordu); ve sayfaları sunucudan boş gelen bir sitede llms.txt satırlarının doğrulanamaması artık müşteriye ödev olarak verilmiyor — kök neden teknik bölümde zaten ölçülü ve tek bir iş iki sorunu birden kapatıyor.

Sürüm 22

PERPLEXITY ÇEKİRDEK ÖLÇÜME KATILDI. Bu, sürüm sisteminin var oluş sebebi olan değişiklik türüdür: skor motorların ORTALAMASIDIR ve dördüncü bir motor eklemek PAYDAYI değiştirir. Bu sürümün skoru önceki sürümlerin skorlarıyla DOĞRUDAN KIYASLANAMAZ — sitenizde ya da markanızda hiçbir şey değişmeden sayı oynayabilir, çünkü artık dört motorun ortalaması alınıyor. Hücre sayısı da değişti: hücre = soru × cevap veren motor olduğu için çekirdek ölçüm 18 hücreden 24 hücreye, marka ölçümü 9 hücreden 12 hücreye çıktı; bir hücrenin puan ağırlığı bu yüzden DÜŞTÜ (tanınırlıkta yaklaşık 11 puandan 8 puana) ve ölçümün çözünürlüğü arttı. Görünürlük merdiveninin genel basamağı motorların ortancasıdır; dört motorda ortanca, ortadaki iki motorun ortalamasından hesaplanır. NEDEN ŞİMDİ VE NEDEN BİR KEREDE: Perplexity bir GEO ölçümünde kendi başına anlamlı çünkü cevabını her zaman web aramasıyla kurar — diğer üç motorda web aramasını biz açıyoruz, orada zaten açık. Bir önceki sürümde onu AYRI bir eksende, tek çekilişle ve skora karıştırmadan ölçüyorduk; sebebi tam da buydu, trendi kırmamak. Skora katmak bilinçli bir karardır ve bir kerede yapılır: yeni bir motor eklemenin yan etkisi olarak, sessizce olmaz. Perplexity artık diğer motorlarla AYNI muameleyi görüyor — aynı altı çekirdek soru, aynı üç çekiliş, aynı çoğunluk oyu. Ayrı eksen bölümü kaldırıldı: aynı şeyi iki kez ölçüp iki kez ödemenin anlamı yok. ÜCRETSİZ TESTTE PERPLEXITY YOKTUR ve bu bilinçli: Perplexity'nin web aramasız bir modu yok, ücretsiz test ise motorların hafızasını ölçüyor ve web araması kapalı. Her zaman aramalı bir motoru oraya koymak iki farklı şeyi aynı yüzdede toplamak olurdu. Bu yüzden ücretsiz testin yüzdesiyle abonelik raporunun yüzdesi bu sürümden sonra daha da az kıyaslanabilir; rapor bunu zaten yazıyordu.

Sürüm 21

ÖNBELLEĞİ YAZAN İLE OKUYAN AYNI BİÇİMİ KONUŞMUYORDU ve bu ölçülen değeri etkiliyordu. Gemini yolunda önbellek JSON zarfıyla yazılıyor ({metin, kaynaklar}) ama HAM okunuyordu; Claude ve OpenAI yolları doğru fonksiyonu kullanıyordu, yalnız Gemini kaçmıştı. İki sonucu vardı. Görüneni: önbellekten dönen her Gemini cevabı metin değil JSON dizesiydi ve müşteriye giden PDF'e birebir basıldı — kaçış karakterleriyle birlikte. Görünmeyeni ve daha ağırı: zarfın kaynak alanı hiç okunmadığı için önbellekten gelen Gemini cevapları KAYNAK LİSTESİNE HİÇ KATKI VERMİYORDU; kaynak sayıları, kaynak tipi kırılımı ve kendi sitenizin kaynak oranı eksik hesaplanıyordu. Bu sürümde düzeldi ve bu sayılar önceki sürümlerle doğrudan kıyaslanamaz. Aynı sürümde alıntı boru hattına bir son savunma hattı eklendi: alıntı, kaynağı ne olursa olsun önce normalleştiriliyor (JSON zarfı açılıyor, kaçışlar çözülüyor, markdown temizleniyor) — kök nedeni değil belirtiyi engelliyor, ikisi birden gerekiyor. Ölçülen değeri DEĞİŞTİRMEYEN dört düzeltme daha var. (1) Koşullu bölümler artık sessizce kaybolamıyor: bir raporda tam bir sayfa itibar riski bölümü vardı, ertesi ölçümde skor birebir aynıyken o bölüm yoktu ve rapor bunu hiç söylemedi — okuyan bunu "demek düzeldi" diye okur. Hangi koşullu bölümlerin çıktığı artık kayda geçiyor ve bir bölüm kaybolduğunda rapor bunun ne anlama GELMEDİĞİNİ yazıyor. (2) Organization şemasındaki boş alanlar ("telephone": "", "address": "") koddan çıkarılıyor: boş bir alan, alanın hiç olmamasından kötüdür — motorlara "bu markanın telefonu yok" diye yapısal bir beyan gider, oysa doğrusu "bilmiyoruz". Dolduramadığımız alanlar raporda adıyla yazılıyor. (3) Bilinen alan adları artık müşteriye "önce açıp sınıflandırın" diye ödev olarak verilmiyor: LinkedIn, operatör ve üretici siteleri, üretici destek forumları tanınıyor ve doğrudan işiyle birlikte geliyor. (4) Darboğaz sıralamasına teknik eşik eklendi: sayfaların tamamı sunucudan boş geliyorsa bu, tarayıcı engelinin ikizidir ve ayın altıncı işi olamaz — motor kapıdan giriyor ama boş bir oda buluyor, üstüne kurulacak her iş boşa gider. Ayrıca teslim ettiğimiz llms.txt'in bölüm başlıkları artık sabit bir listeden seçiliyor: dosya her ay yeniden üretiliyor ve başlıklar her ay değişirse müşteri yayımladığı dosyayı güncellemeye çekinir.

Sürüm 20

İHRACAT ÖLÇÜMÜ VE SEKTÖR TEŞHİSİ ayrı ayrı düzeltildi; ikisi de ölçülen değeri değiştirir. (1) İHRACAT: sorular İngilizce kuruluyordu ama KATEGORİ Türkçe kalıyordu ve ortaya "Who are the best Akıllı Yaşam Alanları companies?" gibi, hiçbir yurt dışı alıcının yazmayacağı bir sorgu çıkıyordu. O sorgudan dönen liste alıcının gördüğü liste değildir; dolayısıyla oradan çıkan "%0" bir bulgu değil, ölçüm hatasıydı. Kategori artık yerelleştiriliyor — birebir çeviri değil, alıcının sektörde kullandığı terim — ve çeviri doğrulanmazsa (içinde Türkçe harf kalmışsa) İHRACAT BÖLÜMÜ HİÇ ÖLÇÜLMEZ: yanlış kurulmuş bir sorunun sonucunu yayımlamaktansa "bu ölçüm yapılamadı" demek doğru olanı. İhracat yüzdeleri önceki sürümlerle kıyaslanamaz. (2) SEKTÖR TEŞHİSİ yalnız ANA SAYFANIN metnini görüyordu; JavaScript ile çizilen bir sitede sunucudan gelen HTML boş olduğu için 200 karakterlik eşik hiç aşılmıyordu, teşhis sessizce düşüyor ve raporun İKİ bölümü birden kayboluyordu ("Sitenizin anlattığı iş" ve "Sitenizin anlattığı işe göre sorular"). Oysa aynı ölçümde 21 sayfanın metni elimizdeydi — yetenek vardı, yanlış yere uygulanmıştı. Teşhis artık tüm sayfa havuzunu okuyor; daha önce teşhis edilemeyen sitelerde artık bir sektör tespiti ve ona bağlı bir soru seti çıkıyor. Çıkaramadığımızda da SEBEBİ yazılıyor. (3) Aynı sürümde ölçülen değeri değiştirmeyen dört düzeltme: kategori uyum uyarısı (Türkiye pazarında rakip listesi baştan sona küresel markalardan oluşuyor ve marka hiçbirinde görünmüyorsa rapor artık "skoru yorumlamadan önce kategoriyi doğrulayın" diyor — ölçtüğümüz şey "aynı ligde mi", "gerçek rakibiniz mi" değil); Organization şemasının description alanının da sitenin metniyle karşılaştırılması (bir teslimde bir cümlenin sitede bulunamadığı yazarken aynı cümle şemaya description olarak girmişti); SSS sayfası var ama sunucudan boş geliyorsa iş listesinin "5-8 soru yazın" yerine "var olan içeriği sunucudan gönderin" demesi; ve yanıtsız hücrenin raporda sayılması (tanınırlık "9 hücre" derken kararlılık "5/8" yazıyor ve dokuzuncu hücreye ne olduğu hiçbir yerde geçmiyordu).

Sürüm 19

KAYNAK LİSTESİNİN OKUNMA BİÇİMİ değişti; kaynak sayısına ve kaynak oranına dayanan her şey bu sürümde oynayabilir. İki hata birden vardı. (1) Gemini, web araması sonuçlarını kendi iç yönlendirme adresinin arkasından veriyor (vertexaisearch.cloud.google.com) ve biz o adresi KAYNAK sanıyorduk: bir raporda "2 soruda · yinelendi" etiketiyle kaynak listesinde durdu. Bu bir site değil, arkasındaki gerçek kaynağı gizleyen bir ara adres — müşteriye "Google'ın iç yönlendiricisi sizin kategorinizi yazıyor" demiş oluyorduk ve asıl kaynağı da kaybediyorduk. Artık gerçek alan adı motorun ayrıca verdiği alandan okunuyor; okunamıyorsa adres listeye hiç alınmıyor. Aynı süzgeç bilinen kısaltıcılar ve önbellek/çeviri proxy'leri için de çalışıyor. Bu değişiklik kaynak listesini, kaynak tipi kırılımını ve kendi sitenizin kaynak oranını ETKİLER; önceki sürümlerle doğrudan kıyaslanmaz. (2) Aynı sürümde ölçümü etkilemeyen ama raporun DOĞRULUĞUNU etkileyen üç düzeltme var: teslim ettiğimiz dosyanın iletişim satırları artık sitenin kendi metniyle karşılaştırılıyor (bir teslimde e-posta "[email protected]" — Cloudflare'ın yer tutucusu — ve adres "Trupm Tower" olarak çıkmıştı; ikisi de doğrulama katmanımızdan geçti), itibar riski kalıpları sabit cümle değil ANLAM arıyor (motor aynı şeyi başka kelimelerle söyleyince etiket yine "Nötr" çıkıyordu), ve rapor markayı tek bir yazımla anıyor (kapakta, ton bölümünde ve teslim edilen dosyada üç farklı yazım vardı — "aynı tanım her yerde aynı olsun" diyen bir raporun kendi kapağında olmaz). Ayrıca PDF sayfa kırılımı düzeltildi: bölüm başlıkları <div> olduğu için başlıkları içeriğiyle birlikte tutan kural hiçbir şeye uygulanmıyordu ve on bir kalemlik kontrol listesi bir sayfaya sığmadığı için komple sonraki sayfaya atlayıp arkasında %70 boş bir sayfa bırakıyordu.

Sürüm 18

HEDEF PAZAR eklendi ve çekirdek soruları şekillendiriyor. Rapor bu ayrımı bilmiyordu ve aynı "%0" iki bambaşka anlama geliyordu. Bir yazıcı distribütörünün rakip listesi HP, Canon, Epson, Brother, Xerox çıktı — o firma bir distribütör ve küresel üretici listesinde görünmesi YAPISAL OLARAK İMKÂNSIZ; oradaki %0 bir başarısızlık değil, ölçümün yanlış ligde yapıldığının göstergesiydi. Bir fan üreticisinin listesinde ise Türkiye firmaları vardı ve orada %0 gerçek, kapatılabilir bir eksiklikti. İkisine aynı reçeteyi vermek yanlış. Aboneliğe hedef pazar alanı eklendi (Türkiye / ihracat / ikisi). TÜRKİYE seçilirse altı çekirdek soru da "Türkiye'de…" diye sorulur. İHRACAT seçilirse sorular İNGİLİZCE sorulur: yurt dışı alıcı Türkçe aramaz ve Türkçe sorulan bir soruya dönen liste onun gördüğü liste değildir; ölçtüğümüz şey müşterinin gerçek pazarındaki görünürlük olmalı. İKİSİ seçilirse çekirdek Türkiye kalır — trendi taşıyan eksen markanın ana pazarıdır ve iki dili tek skorda toplamak hangisinin değiştiğini göremez hâle getirir — ihracat tarafı ayrı bir set olarak ölçülür ve skora karışmaz. Hedef pazar BELİRTİLMEZSE coğrafya kısıtı konmaz ve rapor bunu açıkça yazar: bu bizim ölçebileceğimiz bir şey değil, müşterinin ticari kararıdır ve sitenin diline bakıp "demek ki Türkiye'de satıyor" demek bir varsayım olurdu — ihracat yapan pek çok Türk firmasının sitesi Türkçedir. Hedef pazarı seçilen ya da değiştirilen markalarda bu sürümün skoru öncekilerle doğrudan kıyaslanmaz, çünkü sorular değişir; rapor ölçümün hangi pazar için yapıldığını manşetin altında yazar. Aynı sürümde ölçümü etkilemeyen bir eklenti: rakip ve kaynak listeleri artık Türkiye/yurt dışı diye kırılıyor ve dizin reçetesi ülkeye göre değişiyor (Türkçe faaliyet açıklaması ve yerel referanslar bir tarafta, İngilizce ürün adları ve ihracat kapasitesi diğer tarafta).

Sürüm 17

Bu sürüm bir DÜZELTMENİN İTİRAFIDIR. Sürüm 16'dan sonra soru-cevap kaleminin kalıbını düzelttik — "sikca-sorulan" deseni üç ayrı dosyaya kopyalanmıştı ve üçü de sonuna sınır koyduğu için gerçek adresi (/sikca-sorulan-sorular) kaçırıyordu — ama sürümü ARTIRMADIK. Yanlıştı: o düzeltme 14 puanlık bir kalemi düşükten geçere çevirdi ve aynı site 17 dakika arayla önce %81, sonra %95 aldı. Sitede hiçbir şey değişmemişti. Kural açıktı ve biz kendi kuralımızı uygulamadık: bir kontrolün neyi geçer saydığı değişiyorsa sürüm artar. Bu sürüm o düzeltmeyi kayda geçiriyor, böylece iki ölçüm arasındaki fark trend grafiğinde "yöntem değişti" olarak işaretleniyor ve müşteri performansı gibi anlatılmıyor. Aynı sürümde ölçümün TEKRARLANABİLİRLİĞİ için bir değişiklik daha var: sayfa örneklemi artık AYLAR ARASI SABİT. "Eşit aralıkla seç" kuralı site haritası değiştiğinde başka sayfalar getiriyordu ve teknik skor site hiç değişmeden oynayabiliyordu. Ürünün asıl vaadi tek bir rapor değil trend: ikinci ay raporu "teknik hazırlığınız +14 puan iyileşti" derse müşteri hiçbir şey yapmadan tebrik almış olur. Bir ölçümde seçilen sayfalar kayda geçiyor ve sonraki ölçümlerde aynıları ölçülüyor; site büyürse yeni sayfalar eklenir, eskiler çıkarılmaz — çıkan sayfa zaten 404 döner ve o da bir bulgudur. Rapor örneklemin sabit olup olmadığını yazıyor.

Sürüm 16

İki ölçüm biçimi birden değişti. (1) TANINIRLIK: hakem "karışık" diye yeni bir karar verebiliyor. Motor doğru şirketten bahsedip AYNI ADI TAŞIYAN başka bir varlığı da anlattığında ("KABİM, Kültür ve Turizm Bakanlığı'nın bir birimidir; ayrıca yazıcı sarf malzemesi satan bir firma da bu adı kullanır") eski hakem bunu "doğru" sayıyordu: doğru şirket cevapta geçiyor, karışıklık yok gibi görünüyor. Sonuç, raporun kendi kendini yalanlamasıydı — aynı sayfada hem "%100 doğru tanınma" hem "motorlar sizi kamu kurumu olarak tanımlıyor" yazıyordu. Adını bilen biri böyle bir cevabı okuduğunda hangi şirketten bahsedildiğinden emin olamaz; bu temiz bir tanınma değildir. Bu hücreler artık tanınma saymıyor ve raporda ayrı bir dille anlatılıyor ("sizi anlattı ama aynı adlı başka bir varlığı da anlattı"). Adı paylaşılan markalarda tanınırlık bir önceki sürüme göre DÜŞER; motorlar değişmedi, ölçüm düzeldi ve kimlik karışıklığı çoğu zaman o raporun asıl haberidir. (2) SAYFA KEŞFİ: site haritası bulunamayan sitelerde ölçüm artık tek sayfaya düşmüyor. Bir müşteride sitemap.xml 404 döndü, ölçüm yalnız ana sayfayı gördü ve rapor site GENELİ için hüküm verdi: "hiçbir sayfada soru-cevap yok", -14 puan, listedeki en yüksek getirili iş. Oysa sitede on bir soruluk bir SSS sayfası vardı ve adresini AYNI RAPORDA teslim ettiğimiz llms.txt içinde biz veriyorduk. Site haritası bir kolaylıktır, ölçümün ön koşulu değil: yoksa sayfalar ana sayfanın kendi bağlantılarından çıkarılıyor. Bu sitelerde sayfa bazlı kalemler ve site hazırlık puanı DEĞİŞİR (çoğunlukla yükselir); rapor sayfaların nereden bulunduğunu ayrıca yazıyor.

Sürüm 15

Soru-cevap kaleminin ÖLÇÜLME BİÇİMİ yine değişti ve bu kez kalem DÜŞEBİLİR. Sayfanın soru-cevap taşıyıp taşımadığı "sıkça sorulan sorular" ya da "SSS" ibaresi aranarak ölçülüyordu. Bu ibare sitelerin ANA MENÜSÜNDE de geçiyor ve menü her sayfada olduğu için pratikte HER sayfa bu kalemi geçiriyordu — sitede tek bir soru-cevap bulunmasa bile. İbare bir NİYET işaretidir, içerik değil; soru-cevap içeriğinin kanıtı sorunun kendisidir. Kalem artık sayfada gerçekten soru arıyor: en az iki tane, üç ve daha fazla kelimelik, soru işaretiyle biten cümle. Menüsünde SSS bağlantısı olup gerçek soru-cevap içeriği olmayan sitelerde bu kalem (14 puan) ve site hazırlık puanı bir önceki sürüme göre DÜŞER; sitede bir şey bozulmadı, ölçüm düzeldi. Aynı hatanın ikinci yüzü FAQPage işaretlemesinin sekiz ölçümdür verilememesiydi: doğrulama sitenin SSS sayfasının metnine bakıyor, üretim ise "ibare geçen İLK sayfayı" alıyordu — yani ana sayfayı, içinde tek soru işareti olmayan metni. Modele "işte SSS metni" diye soru içermeyen bir metin verip ondan soru çıkarmasını istiyorduk ve sonra uydurduğu için kodu vermiyorduk. Metin seçimi artık gerçekten soru taşıyan sayfayı buluyor; adı SSS/FAQ olan sayfa eşit soru sayısında öne geçiyor.

Sürüm 14

KATEGORİ EKSENİ ARTIK ÇOĞUNLUK OYUYLA ÖLÇÜLÜYOR. Bu, skorun geldiği eksende ölçüm biçiminin değişmesidir ve aylar arası kıyası doğrudan etkiler. Marka ekseni sürüm 6'dan beri üç çekilişle ölçülüyor ve kararlılığı rapora yazılıyordu; KATEGORİ ekseni — yani skorun ve "bu ayın işi" listesinin türediği eksen — tek atıştan geliyordu ve kararlılığı hiç ölçülmemişti. Kanıt aynı gün çıktı: aynı marka için 28 dakika arayla alınan iki ölçümde motorların gösterdiği 12 kaynağın 9'u değişti. O listeden aylık taahhüt üretiyoruz ve müşteriden o sitelerin editörlerine yazmasını istiyoruz. Artık ücretli raporda her çekirdek soru her motora üç kez soruluyor; hücre kararı çoğunlukla veriliyor ve sıra, markayı anan çekilişlerin ORTANCASINDAN alınıyor (ortalama değil: tek bir uç değer sırayı kaydırmasın). Bu sürümün skoru önceki sürümlerin tek çekilişlik değerleriyle doğrudan kıyaslanmaz. Kaynak listesi de artık kaç çekilişte göründüğünü yazıyor: yalnız tek çekilişte çıkan kaynak "gözlem" sayılır, YÜKSEK öncelik alamaz ve ayın ilk işi olamaz — doğrulamadığımız bir bulgu için müşteriye e-posta yazdırmak, ölçmediğimizi ölçtük demenin bir başka biçimidir. Ücretsiz testte çekiliş tek kalır (o iş arka planda ~30 saniyede iptal ediliyor) ve rapor kaç çekilişle ölçüldüğünü her iki durumda da yazar. Motor başına eşzamanlı çağrı 4'ten 8'e, motor bütçesi de çekiliş sayısıyla birlikte büyütüldü: yoksa "kararlılığı ölçelim" derken ölçümün kendisi zaman aşımına düşerdi.

Sürüm 13

ÇEKİRDEK SORULARIN ÜRETİLME BİÇİMİ değişti; bu, aylar arası kıyası doğrudan etkileyen bir değişikliktir. Beyan edilen sektör etiketi soru şablonuna HAM haliyle giriyordu ve Türkçede kimsenin kurmayacağı sorular üretiyordu: "Bir arkadaşıma Nitelikli Kahve İmalatı için hangi firmayı önerirsin?" İki ayrı zarar veriyordu. Birincisi dil: kimse böyle sormaz, dolayısıyla ölçtüğümüz şey gerçek bir kullanıcı sorusu değildi. İkincisi anlam: "imalat" kelimesi motorları kahve markalarına değil EKİPMAN üreticilerine savurdu, rakip listesine espresso makinesi üreticileri girdi ve rapor bunu "rekabetiniz yapay zekanın gözünde bu liste" diye sundu. Sonuç: %0 keşif skorunun ne kadarının gerçek görünmezlik, ne kadarının doğal olmayan soru olduğu ayrıştırılamıyordu. Süreç eki (imalatı, üretimi, sanayii) artık YALNIZ kalan kısım kendi başına aranabilir bir tüketici kategorisiyse atılıyor: "Nitelikli Kahve İmalatı" -> "Nitelikli Kahve", ama "Fason Takviye Edici Gıda Üretimi" ve "Endüstriyel Fan Üretimi" olduğu gibi kalıyor — o firmalar gerçekten üretici ve müşterileri tam da o kelimeyi arıyor. Körlemesine sadeleştirme işin kendisini silerdi. Etiketi sadeleştirilen markalarda bu sürümün skoru öncekilerle doğrudan kıyaslanmaz ve rapor ölçümün hangi ifadeyle yapıldığını manşetin altında yazar; kategorinin kendisi değişmez. Aynı sürümde ölçümü etkilemeyen iki teslim düzeltmesi: hazır llms.txt'teki her sayfa adresi yayın öncesi çağrılıyor (bir teslimde üç adresten ikisi 404 dönmüştü ve doğruları sitenin kendi haritasında duruyordu), ve yönetici özetindeki iş sıralaması artık kaynak öncelik tablosuyla aynı kuralı kullanıyor.

Sürüm 12

Organization kaleminin ÖLÇÜLME BİÇİMİ değişti ve bu kalem artık YÜKSELEBİLİR. Kontrol üç tiplik sabit bir listeye bakıyordu: Organization, EducationalOrganization, LocalBusiness. Oysa schema.org bir HİYERARŞİDİR ve bu üçünün altında düzinelerce tip var. Gerçek bir ölçümde site "Store" işaretlemesi kullanıyordu — schema.org'da Store, LocalBusiness'ın, o da Organization'ın altındadır — ve kalem "yok" saydı. Kalemin ağırlığı 12, yani listedeki EN AĞIR kalem, ve yönetici özetinin bir maddesi tümüyle buna dayanıyordu: müşteriye zaten yaptığı işi yapması söylendi. Üstelik aynı raporun hazır dosya notu "mevcut Website ve Store schema'larının yanına yerleştir" diyerek Store'un varlığını kendi ağzıyla söylüyordu. İkinci bir eksik daha vardı: işaretleme yalnız ANA SAYFADA aranıyordu; birçok site Organization'ı kurumsal sayfaya koyar. Kalem artık Organization'ın tüm alt tiplerini tanıyor ve örneklenen TÜM sayfalara bakıyor; rapor hangi tipi bulduğunu da yazıyor. Bu sitelerde kalem ve site hazırlık puanı bir önceki sürüme göre YÜKSELİR (en fazla 12 puan); sitede bir şey düzelmedi, ölçüm düzeldi.

Sürüm 11

Soru-cevap kaleminin ÖLÇÜLME BİÇİMİ değişti ve bu kalem artık YÜKSELEBİLİR. Eski kural iki şeyi birden kaçırıyordu. (1) Yalnız "Sıkça Sorulan Sorular" / "SSS" ibaresini ve FAQPage şemasını arıyordu; oysa soru-cevap içeriği bir akordeon bloğu olmak zorunda değil — koca bir terim sözlüğü ("SCADA Nedir?", "SNMP Nedir?") de doğrudan alıntılanabilir soru-cevap içeriğidir ve bu kalıpların hiçbirine uymaz. (2) Tespit yalnız örneklenen sayfalarda çalışıyordu: 365 sayfalık bir sitede 16 sayfa, yani %4. Oysa sayfa adresleri site haritasında zaten elimizde ve okumak ek istek gerektirmiyor. Gerçek bir raporda 141 soru sayfası olan bir siteye "soru-cevap içeriğiniz yok, sıfırdan 5-8 soru yazın" dedik ve bunu +14 puanlık "en yüksek getirili iş" diye sunduk. Kalem artık site haritasındaki TÜM adresleri soru formatı açısından tarıyor; beş ve üzeri soru sayfası olan site bu kalemi geçiyor ve öneri de değişiyor: "yaz" değil "işaretle ve güncelle". Bu sitelerde kalem ve site hazırlık puanı bir önceki sürüme göre YÜKSELİR; sitede bir şey düzelmedi, ölçüm düzeldi. Aynı sürümde iki şeffaflık eklemesi daha var (puanı değiştirmezler): rapor artık skorun yanına KAPSAMA ORANINI yazıyor ("16 / 365 sayfa") ve sayfa listelerinde başlık ile meta açıklamayı ayrı ayrı söylüyor — "başlık/meta eksik" etiketi, başlığın her sayfada var olduğu bir sitede raporun tamamına duyulan güveni sarsıyordu.

Sürüm 10

llms.txt kaleminin ÖLÇÜLME BİÇİMİ değişti ve bu kalem artık DÜŞEBİLİR. Eski kural yalnız HTTP 200'e bakıyordu: adres yanıt veriyorsa kalem geçiyordu. Bir müşteride dosya "vardı" ve tam puan alıyordu ama içi tamamen boştu; başka bir sunucu dosya yokken 404 yerine bir HTML sayfası döndürüyordu ve kalem yine geçiyordu. İkisinde de motorun okuyacağı hiçbir şey yok. HTTP 200 "istediğin dosya burada" demek değildir — aynı hatayı sürüm 3'te sitemap.xml'de yapmıştık. Kalem artık dosyanın VARLIĞINA değil OKUNABİLİR İÇERİĞİNE bakıyor: boş dosya, HTML dönen adres, hata metni ve bir başlıktan ibaret dosya geçmiyor. İçi boş llms.txt sunan sitelerde bu kalem ve site hazırlık puanı bir önceki sürüme göre DÜŞER; sitede bir şey bozulmadı, ölçüm düzeldi. Kalemin ağırlığı 2'dir, yani etki en fazla 2 puandır. Aynı sürümde ölçümün ŞEFFAFLIĞI da arttı (puanı değiştirmez): kök adres başka bir sayfaya yönlendiriyorsa rapor artık hangi adresin okunduğunu yazıyor. Bir müşteri "ana sayfamda H1 var, rapor yok diyor" dedi ve haklıydı; denetim de haklıydı — kök adres herkesi, GPTBot'u da, İngilizce sürüme yönlendiriyordu ve o sayfada H1 yoktu. Hangi sayfayı okuduğumuzu yazmayınca ölçüm doğrulanamıyor.

Sürüm 9

İki kontrolün ÖLÇÜLME BİÇİMİ değişti ve ikisi de puanı YÜKSELTİR. (1) robots.txt'in OLMAMASI artık engel sayılmıyor. Eski kural dosya yoksa kalemi düşürüyor ve rapor "robots.txt yoksa motorlar siteye uğramadan geri döner" diyordu — bu yanlış: dosya yoksa hiçbir tarama kısıtı yok demektir. Nitekim aynı raporda 7/7 yapay zeka tarayıcısı siteye HTTP 200 ile giriyordu; kalem raporun kendi ölçümüyle çelişiyordu. Kalem artık adıyla aynı şeyi ölçüyor: AI botları robots.txt ile ENGELLENİYOR MU. Dosya yoksa geçer, dosya var ve engelliyorsa düşer. Dosyayı eklemek yine önerilir ama ceza kalemi değil, tavsiyedir. (2) Site haritası bir sitemapindex ise alt haritalar artık www/apex farkı gözetilmeden okunuyor ve ilk alt harita yerine dört tanesi birleştiriliyor. Eski kural alt harita adresini birebir karşılaştırdığı için "https://www.ornek.com/page-sitemap.xml" yazan bir indeks, denetim "https://ornek.com" üzerinden yürüdüğünde hiç eşleşmiyordu: iç sayfa örneklenemiyor, teknik skor TEK SAYFADAN çıkıyor ve rapor bunu sitenin tamamıymış gibi sunuyordu. Örneklem üçten azsa rapor artık puanın kaç sayfadan çıktığını da yazıyor.

Sürüm 8

Yapay zeka tarayıcısı erişiminin ÖLÇÜLME BİÇİMİ değişti; iki ayrı hata vardı. (1) 200 dışındaki her yanıt "engel" sayılıyordu. HTTP 429 "Too Many Requests" demek, yani HIZ SINIRI: geçicidir ve erişim engeli değildir. Engel 401/403/451'dir. Gerçek bir raporda site GPTBot'u engellemediği hâlde "sunucunuz GPTBot'u engelliyor" yazdık ve bunu en ağır kalem olarak sunduk. (2) 429'a büyük olasılıkla ölçümün kendisi sebep oluyordu: yedi bot kimliği, robots.txt/llms.txt/sitemap/ana sayfa istekleriyle AYNI ANDA gönderiliyordu. Yoklamalar artık ana isteklerden sonra, sırayla ve aralıklı yapılıyor; 429 alınırsa bir kez daha, bekleyerek deneniyor. Sonuç: dört durum ayrı ayrı raporlanıyor (girebiliyor, engelleniyor, hız sınırı, ölçülemedi) ve yalnız GERÇEK engel kalemi düşürüyor. Hiçbir bottan yanıt alınamadığında da "engelliyor" denmiyor — o zaman ölçemedik demektir. Bu sitelerde "yapay zeka tarayıcıları girebiliyor" kalemi ve site hazırlık puanı bir önceki sürüme göre YÜKSELİR; sitede bir şey düzelmedi, ölçüm düzeldi. Hız sınırı kalemi düşürmez ama TAM ONAY da almaz: iki yeniden denemede de 429 dönerse o bot için erişim "doğrulanamadı" sayılır, raporda ⚠ ile gösterilir ve bir sonraki ölçümde yeniden bakılır.

Sürüm 7

Sürüm 4'te eklenen “kapanmamış style etiketinden sonrasını at” kuralı bir siteyi TERS yönde yanlış ölçüyordu. Sayfa metne çevrilmeden önce 400 KB'a kesiliyordu; kesme noktası büyük bir <style> bloğunun ortasına düşen sitelerde kapanış etiketi dilimin dışında kalıyor ve kural sayfanın tamamını siliyordu. 2,4 MB'lık, ana sayfasında 18 bin karakter gerçek metin sunan bir siteden geriye 15 karakter kalıyordu ve rapor o siteye “sunucudan gelen metin yetersiz, sunucu taraflı render'a geçin” diyordu — sitede böyle bir sorun yokken. Artık ham belge kesilmiyor: etiket temizliği tam belge üzerinde yapılıyor, sınır çıkarılan metne uygulanıyor ve kapanmamış etiket kuralı yalnız gerçekten kapanmamış etikette çalışıyor. Bu sitelerde “içerik sunucudan geliyor” kalemi ve site hazırlık puanı bir önceki sürüme göre YÜKSELİR; sitede bir şey düzelmedi, ölçüm düzeldi.

Sürüm 6

Marka tanınırlığı artık ÇOĞUNLUK OYUYLA ölçülüyor. Her marka sorusu her motora üç kez soruluyor ve hücre üç çekilişin çoğunluğuna göre karara bağlanıyor. Sebep: 9 hücrelik bir ölçümde tek bir hücre 11 puan eder ve motorlar aynı soruya her seferinde birebir aynı cevabı vermez — tek çekilişte bir hücre yazı turaydı. Aynı marka aynı gün %67, %56 ve %78 ölçülebiliyordu. Her çekiliş kendi önbellek yuvasında durur, yani aynı gün rapor yeniden alındığında aynı üç çekiliş geri gelir. Rapor ayrıca ölçümün KARARLILIĞINI yazıyor: hücrelerin kaçı oybirliğiyle, kaçı dar çoğunlukla karara bağlandı ve hangi motor hangi soruda sınırda kaldı. Bu sürümle ölçülen tanınırlık, önceki sürümlerin tek çekilişlik değerleriyle doğrudan kıyaslanmaz. Çekilişler ayrışırsa o hücre için iki çekiliş daha alınır ve karar beşte üçle verilir: ek ölçüm belirsizliğin olduğu yere harcanır, kararlı hücrelere fazladan çağrı yapılmaz. Dar çoğunlukla (ör. 3/5) sonuçlanan hücrede bir karar vardır ama düşük güvenlidir; bu ölçüm hatası değil, markanın o motordaki durumunun kendisidir ve rapor bunu böyle yazar.

Sürüm 5

Marka tanınırlığının ÖLÇÜLME BİÇİMİ değişti. "Bilgi bulunamadı" gibi EDİLGEN ifadeler "bilinmiyor" kalıpları arasında yoktu; liste yalnız etken biçimi ("bulamadım") tanıyordu. Bu yüzden marka adını tekrarlayıp hakkında bilgi bulunamadığını söyleyen uzun cevaplar TANINDI sayılıyor ve tanınırlık yüzdesi olduğundan yüksek çıkıyordu. Edilgen biçimler eklendi; aynı marka aynı cevaplarla artık daha düşük bir tanınırlık alabilir. Ayrıca raporda gösterilen alıntı, verilen kararı destekleyen cümleden başlıyor: ✓ işaretli bir satırın altında "bilgi bulunamadı" diye başlayan bir alıntı duruyordu. Aynı sürümde iki ek sıkılaştırma: (1) "erişimim yok", "bilgiye sahip değilim" gibi olumsuz İSİM CÜMLELERİ de artık bilinmiyor sayılıyor — fiil çekimi aramak yetmiyordu. (2) Hakem katmanına "yetersiz" kararı eklendi: cevap doğru şirketten bahsediyor olsa bile hakkında ayırt edici hiçbir şey söylemiyorsa ("çeşitli alanlarda profesyonel hizmet sunan bir firmadır" gibi) tanınma sayılmıyor. Adı tekrarlamak tanınmak değildir. (3) Hakem, cevabın beyan edilen SEKTÖRLE bağdaşmasını da arıyor: markaya sektörüyle bağdaşmayan faaliyetler atfeden cevaplar (Ar-Ge danışmanlığı yapan bir firmaya "yazılım ürünleri satar" demek gibi) doğru tanıma sayılmıyor.

Sürüm 4

Ağırlıklar aynı kaldı, sayfa metninin ÇIKARILMA BİÇİMİ değişti. Kapanmamış bir <style> ya da <script> etiketinden sonrası eskiden "görünür metin" sayılıyordu; bir ana sayfadan 397 bin karakterlik CSS metin diye okunuyor ve "içerik sunucudan geliyor" kalemi haksız yere geçiyordu. Artık kapanmayan etiketten sonrası atılıyor. Ayrıca çıkarılan metin olağandışı uzunsa ya da kod işareti yoğunluğu yüksekse rapor "içerik çıkarımı şüpheli, bu teşhis elle doğrulanmalı" uyarısı basıyor — ölçtüğünü sanıp ölçmediğini söylemek bu üründe en pahalı hata.

Sürüm 3

Ağırlıklar aynı kaldı, iki kontrolün ÖLÇÜLME BİÇİMİ değişti. (1) Site haritası artık robots.txt'nin "Sitemap:" satırından bulunuyor ve gövdesi gerçekten site haritası mı diye bakılıyor; /sitemap.xml adresi ana sayfaya yönlenip HTML döndüren siteler bu kalemi haksız yere geçiyordu. (2) Yapay zeka tarayıcı kontrolüne Claude-User, Claude-SearchBot ve Googlebot eklendi; önceden yalnız ClaudeBot ölçülüyordu, oysa o eğitim tarayıcısıdır ve görünürlükle ilgili ajanlar diğer ikisidir. Ayrıca aylık raporda örneklenen sayfa sayısı 5'ten 15'e çıktı.

Sürüm 2

llms.txt ağırlığı 8'den 2'ye indirildi (isteğe bağlı, etkisi kanıtlanmamış bir konvansiyon). Soru-cevap içeriği ile FAQPage işaretlemesi ayrıldı: içerik 14, işaretleme 3 puan. sitemap.xml 7'den 8'e çıktı.

Sürüm 1

İlk sürüm.

Sorunuz mu var?

Yöntemle ilgili her soruyu cevaplarız — itiraz da dahil. Ölçümün nasıl yapıldığını tartışamıyorsak sonucuna da güvenilmez.

Bize yazın →