ŞARTNAMESürüm 1.0 · skor modeli v2.4 · yayın 8 Ekim 2026

Specoria Ticaret Hazırlık Şartnamesi 1.0

Bir çevrim içi mağazanın, otelin ya da hizmet sitesinin yapay zekâ alışveriş ajanlarınca bulunması, okunması ve kullanılması için gerekenler: Specoria ücretsiz testinin puana giren her kontrolü kalıcı bir kimlik, gereksinim metni, testin tam tarifi ve ağırlığıyla.

Kim yazdı, kim puanlıyor

Çıkar çatışması beyanı: Bu şartnameyi Specoria yazdı ve mağazaları ona göre yine Specoria puanlıyor; hem ücretsiz testte hem ücretli üründe. Puanları başka bir kurum gözden geçirmiyor ya da onaylamıyor. Bunu bağımsız bir standart olarak değil, tek bir sağlayıcının testinin yayımlanmış kural kitabı olarak okuyun. Her kural, ağırlık ve test açık; işimizi herkes denetleyebilir. Düzeltme önerilerinizi iletisim@specoria.com adresine yazın.

Nasıl okunur

  • Puana giren her kontrolün SC-ALAN-NN biçiminde kalıcı bir kimliği var, ör. SC-ACCESS-01. Kimlik yeniden kullanılmaz; kaldırılan kontrolün kimliği emekliye ayrılır ve burada listelenir.
  • MUST (zorunlu): skor modelinde kritik engel. Engel sayılan bir kalma, geri kalan ne kadar iyi olursa olsun skoru bir tavanla keser; hangi kalmanın engel sayıldığını test metni söyler (SC-ACCESS-01’de yalnızca OAI-SearchBot ya da Googlebot engeli). SHOULD (önerilen): kalırsa yalnızca kendi ağırlığı kadar puan kaybettirir.
  • Ağırlık: skor modeli v2.4’te 100 üzerinden puan. Mağaza kontrolleri toplam 100’dür. Otel ve hizmet sitelerinde ortak erişim kontrolleri ile o site türünün kontrolleri toplam 100 eder; mağazaya özgü kontroller orada geçerli değildir.
  • Gereksinim, puanladığımız hedeftir; test, ücretsiz testin tam olarak neyi okuduğunu ve kontrolün ne zaman geçtiğini, kısmen geçtiğini ya da kaldığını söyler. Her kimlik, düzeltme kodu ve kendiniz doğrulama yoluyla birlikte kontrolün kendi sayfasına bağlanır.

Tek paragrafta puanlama

Skor, geçen kontrollerin ağırlıklı payıdır (0–100). Kısmi sonuç kısmi puan alır. Doğrulanamayan (ör. sayfa açılmadı) ya da site türünde geçerli olmayan kontrol pay ve paydadan düşer; asla geçti ya da sıfır sayılmaz.

Bir kritik engel (engel sayılan bir MUST kalması) skoru en fazla 59 yapar; iki ya da daha fazlası en fazla 39.

“Ajanlara hazır” için en az 80 puan, kritik engel olmaması ve simüle edilen ajanın mağazayı önermesi gerekir. 40 altı “zor okunuyor” sayılır.

Test neyi ister

  • Yalnızca sitenin kendi alan adındaki herkese açık sayfalar, yalnızca GET istekleri, 20 saniyelik süre bütçesiyle: robots.txt, ana sayfa, llms.txt, /.well-known/ucp ve site haritası (robots.txt’de bildirilen, yoksa /sitemap.xml).
  • En fazla iki ürün sayfası adayı (girilen adres, ürün site haritası ya da ana sayfa bağlantıları), ardından iade ve kargo sayfaları ile ana sayfadan bağlanan politika sayfaları. Otel ve hizmet sitelerinde ürün, iade ve kargo sayfaları aranmaz.
  • Protokol keşif dosyaları, yalnızca ana sayfa açıldıysa: /.well-known/mcp.json, /.well-known/mcp, /.well-known/agent-card.json, /.well-known/ai-catalog.json, /.well-known/api-catalog, /.well-known/http-message-signatures-directory, /checkout_sessions. Bunlar bilgi satırıdır, skoru değiştirmez.
  • Bir istek, bot korumasının kendini tanıtan bota nasıl davrandığını görmek için kendini “Mozilla/5.0 (compatible; SpecoriaBot/1.0; AI agent readiness check; +https://specoria.com/bot/)” olarak tanıtır; diğer istekler sıradan tarayıcı başlıklarıyla gelir.
  • Kurallı okuma iade süresini, iade masrafını, ücretsiz kargo eşiğini ya da teslim süresini bulamazsa, küçük bir yapay zekâ modeli çağrısı bunları sayfa metninden okuyabilir; dönen değerler sayfayla doğrulanır ve puanlama kuralları buna bağlı değildir. Aynı adrese 6 saat içinde yeniden gidilmez.

İsteklerin güncel ve tam listesi tarayıcı sayfamızda →

Gereksinimler

IDKontrolSeviyeAğırlık
SC-ACCESS-01Arama ve kullanıcı ajanlarına izin (robots.txt)MUST8
SC-ACCESS-02Bot koruması ajanlara açık mı?MUST8
SC-ACCESS-03Ürün adı ve fiyat JavaScript olmadan okunuyor mu?MUST5
SC-ACCESS-04Site haritasıSHOULD2
SC-ACCESS-05Ürün sayfası dizinlenebilir mi?SHOULD2
SC-DATA-01Ürün yapısal verisi (schema.org)MUST7
SC-DATA-02Fiyat, para birimi, stok ve adresSHOULD6
SC-DATA-03Ürün kimliği (GTIN/MPN, marka, SKU)SHOULD5
SC-DATA-04Görsel ve açıklamaSHOULD2
SC-DATA-05Yorum ve puanSHOULD3
SC-DATA-06Varyantlar (beden, renk) adreslenebilir mi?SHOULD2
SC-POLICY-01Makine okunur iade politikasıSHOULD5
SC-POLICY-02İade sayfası ve süresiSHOULD4
SC-POLICY-03Makine okunur kargo bilgisiSHOULD4
SC-POLICY-04Kargo ücreti ve süresi sayfadaSHOULD3
SC-POLICY-05İşletme kimliğiSHOULD2
SC-POLICY-06Yasal sayfalar (mesafeli satış)SHOULD2
SC-CONSISTENCY-01Fiyat tutarlılığıMUST6
SC-CONSISTENCY-02Stok tutarlılığıSHOULD3
SC-CONSISTENCY-03Para birimi ve dilSHOULD2
SC-CONSISTENCY-04İade süresi tutarlılığıSHOULD2
SC-CONSISTENCY-05Vergi dahil fiyat ibaresiSHOULD2
SC-CART-02Sepete ekle düğmesi ilk HTML’deSHOULD5
SC-CART-03Sepet düğmesi erişilebilir mi?SHOULD3
SC-CHECKOUT-01Üye olmadan satın almaSHOULD4
SC-CHECKOUT-02Sipariş takibiSHOULD2
SC-CART-01Adresle çalışan site içi aramaSHOULD1
SC-HOTEL-01Otel yapısal verisi (Hotel / LodgingBusiness)SHOULD18
SC-HOTEL-02Olanaklar yapısal verideSHOULD8
SC-HOTEL-03Odalar ve fiyatlar okunuyor mu?SHOULD15
SC-HOTEL-04İptal koşulları bulunabiliyor mu?SHOULD12
SC-HOTEL-05Rezervasyon girişine ulaşılıyor mu?SHOULD20
SC-SERVICE-01İşletme yapısal verisi (Organization / ProfessionalService)SHOULD18
SC-SERVICE-02Hizmetler tanımlı mı?SHOULD15
SC-SERVICE-03Fiyat ya da “nasıl çalışır” bilgisi bulunabiliyor mu?SHOULD10
SC-SERVICE-04İletişim bilgisi okunuyor mu?SHOULD12
SC-SERVICE-05İletişim ya da teklif formu bir tık uzakta mı?SHOULD18

Erişim SC-ACCESS

SC-ACCESS-01 Arama ve kullanıcı ajanlarına izin (robots.txt)

Seviye
MUST
Ağırlık
100 üzerinden 8
Geçerli olduğu siteler
E-ticaret siteleri · Otel ve konaklama · Hizmet işletmeleri
Test kontrolü
bots_search

Gereksinim (MUST): Arama ve kullanıcı ajanlarına açıkça izin verilir; eğitim botlarını (GPTBot, ClaudeBot, Google-Extended) isterseniz ayrıca engelleyebilirsiniz, bu görünürlüğü kesmez.

Nasıl test edilir: robots.txt okunur ve kök adres ile bulunan ürün sayfasının yolu şu ajanlar için denenir: arama botları (OAI-SearchBot, Claude-SearchBot, PerplexityBot, Googlebot, Bingbot, Applebot) ve kullanıcı ajanları (ChatGPT-User, Claude-User, Perplexity-User, Google-Agent). Herhangi birinin engellenmesi kontrolü düşürür; OAI-SearchBot ya da Googlebot engeli kritik engeldir. robots.txt yoksa geçer, okunamıyorsa (sunucu hatası, zaman aşımı) doğrulanamadı olur. Eğitim botları (GPTBot, ClaudeBot, Google-Extended, CCBot) ve diğer AI botları (Applebot-Extended, Meta-ExternalAgent, Amazonbot, MistralAI-User, Bytespider) puana girmez, bilgi satırında gösterilir; ajana özel bir grubun genel (*) kuralları gölgelemesi ve Content-Signal beyanı da bilgi olarak yazılır.

Dayanağı: RFC 9309: Robots Exclusion Protocol ↗ · OpenAI: crawlers and user agents ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-ACCESS-02 Bot koruması ajanlara açık mı?

Seviye
MUST
Ağırlık
100 üzerinden 8
Geçerli olduğu siteler
E-ticaret siteleri · Otel ve konaklama · Hizmet işletmeleri
Test kontrolü
waf_access

Gereksinim (MUST): Bot koruması yalnızca kötü niyetli trafiği durdurur; doğrulanmış arama ve kullanıcı ajanları normal sayfayı (HTTP 200) görür. Her adımda CAPTCHA yerine risk bazlı doğrulama ve hız sınırı (HTTP 429 + Retry-After) kullanılır.

Nasıl test edilir: Ana sayfa ve ürün sayfası sıradan bir tarayıcı başlığıyla istenir. Kesin ret (ör. HTTP 403) kontrolü düşürür ve kritik engel sayılır. Doğrulama (challenge) sayfası ya da CAPTCHA “olası engel”dir: kısmen geçer, kritik engel sayılmaz; doğrulanmış ajanların ne gördüğünü dışarıdan bilemeyiz. Hız sınırı (HTTP 429) engel sayılmaz: Retry-After’a uyularak yeniden denenir; açılırsa geçer, hâlâ sınırdaysa doğrulanamadı olur ve puana girmez. Ana sayfa Cloudflare ağından engellenip ikinci bir ağdan açılırsa kısmen geçer. Kendini SpecoriaBot olarak tanıtan tek isteğin reddedilmesi de “olası engel”dir (kısmen geçer): doğrulanmış bot IP’lerinden istek gönderemeyiz.

Dayanağı: OpenAI: crawlers and user agents ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-ACCESS-03 Ürün adı ve fiyat JavaScript olmadan okunuyor mu?

Seviye
MUST
Ağırlık
100 üzerinden 5
Geçerli olduğu siteler
E-ticaret siteleri · Otel ve konaklama · Hizmet işletmeleri
Test kontrolü
no_js

Gereksinim (MUST): Ürün adı, fiyat, para birimi ve stok ilk HTML’de bulunur (sunucu tarafı render ya da statik üretim).

Otel ve hizmet sitelerinde (ana sayfada ölçülür): İşletme adı, başlıklar ve ana içerik ilk HTML’de bulunur (sunucu tarafı render ya da statik üretim).

Nasıl test edilir: Ürün sayfasının ilk HTML’i (JavaScript çalıştırılmadan) okunur: ürün adı (yapısal veri, og:title ya da h1) ve fiyat bu HTML’de var mı? Biri yoksa kontrol düşer ve kritik engel sayılır. Otel ve hizmet sitelerinde ana sayfada işletme adı ve en az 200 karakter okunur metin aranır.

Dayanağı: Google: JavaScript SEO basics ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-ACCESS-04 Site haritası

Seviye
SHOULD
Ağırlık
100 üzerinden 2
Geçerli olduğu siteler
E-ticaret siteleri · Otel ve konaklama · Hizmet işletmeleri
Test kontrolü
sitemap

Gereksinim (SHOULD): Ürün sayfalarını listeleyen güncel bir site haritası vardır ve robots.txt’den gösterilir.

Otel ve hizmet sitelerinde (ana sayfada ölçülür): Önemli sayfalarınızı listeleyen güncel bir site haritası vardır ve robots.txt’den gösterilir.

Nasıl test edilir: robots.txt’deki “Sitemap:” satırı ya da /sitemap.xml aranır. Bulunursa geçer, hiçbiri yoksa düşer; dosya okunamazsa doğrulanamadı olur.

Dayanağı: sitemaps.org protocol ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-ACCESS-05 Ürün sayfası dizinlenebilir mi?

Seviye
SHOULD
Ağırlık
100 üzerinden 2
Geçerli olduğu siteler
E-ticaret siteleri · Otel ve konaklama · Hizmet işletmeleri
Test kontrolü
indexable

Gereksinim (SHOULD): Ürün sayfaları dizinlenebilir; canonical kendi adresini gösterir.

Otel ve hizmet sitelerinde (ana sayfada ölçülür): Ana sayfa ve önemli sayfalar dizinlenebilir; canonical her sayfanın kendi adresini gösterir.

Nasıl test edilir: Ürün sayfasında (yoksa ana sayfada) meta robots ve X-Robots-Tag başlığında “noindex” aranır; varsa kontrol düşer. Kanonik adres başka bir alan adını gösteriyorsa kısmen geçer.

Dayanağı: Google: block indexing with noindex ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

Ürün verisi SC-DATA

SC-DATA-01 Ürün yapısal verisi (schema.org)

Seviye
MUST
Ağırlık
100 üzerinden 7
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
product_schema

Gereksinim (MUST): Her ürün sayfasında JSON-LD olarak Product verisi bulunur; varyantlı ürünlerde ProductGroup + hasVariant kullanılır.

Nasıl test edilir: Ürün sayfasında JSON-LD Product (ya da ProductGroup) aranır. Yalnızca microdata veya Open Graph ürün işaretleri varsa kısmen geçer; hiçbiri yoksa düşer ve kritik engel sayılır.

Dayanağı: schema.org/Product ↗ · Google: merchant listing structured data ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-DATA-02 Fiyat, para birimi, stok ve adres

Seviye
SHOULD
Ağırlık
100 üzerinden 6
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
offer_complete

Gereksinim (SHOULD): Teklif verisinde fiyat, ISO para birimi kodu, stok durumu ve ürün adresi birlikte bulunur.

Nasıl test edilir: Ürünün teklifinde dört alan sayılır: fiyat, geçerli ISO 4217 para birimi, stok durumu ve teklif adresi. Dördü de varsa geçer, hiçbiri yoksa düşer; arada kalan doluluk oranı kadar puan alır.

Dayanağı: schema.org/Offer ↗ · Google: merchant listing structured data ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-DATA-03 Ürün kimliği (GTIN/MPN, marka, SKU)

Seviye
SHOULD
Ağırlık
100 üzerinden 5
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
product_identity

Gereksinim (SHOULD): Marka ve geçerli bir GTIN (barkod) ya da MPN tanımlıdır; SKU da bulunur.

Nasıl test edilir: Ürün kimliği yapısal veriden okunur: geçerli GTIN (kontrol hanesi doğru) ya da MPN, marka ve SKU. Kimlik ve marka varsa geçer; hiçbiri yoksa düşer; kısmi kredi kimlik %50, marka %35, SKU %15 ağırlıkla hesaplanır. Sonuçta kimlik güveni de yazılır (puanı etkilemez): geçerli GTIN “kesin”, GTIN yokken MPN ile marka “orta”, yalnızca ürün adı “zayıf”.

Dayanağı: GS1: GTIN ↗ · schema.org/gtin ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-DATA-04 Görsel ve açıklama

Seviye
SHOULD
Ağırlık
100 üzerinden 2
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
product_media

Gereksinim (SHOULD): JSON-LD’de sabit https adresli görsel ve özgün bir açıklama vardır; og:image da tanımlıdır.

Nasıl test edilir: Ürün görseli (yapısal veri ya da og:image) ve ürünün yapısal verisindeki açıklama okunur. Açıklama en az 20 kelime ya da 120 karakterse yeterlidir; 10–19 kelime kısadır; daha azı açıklama sayılmaz. Görsel ve yeterli açıklama geçer; görsel ve kısa açıklama büyük ölçüde kısmen geçer; yalnızca biri varsa yarı yarıya kısmen geçer; ikisi de yoksa düşer.

Dayanağı: schema.org/Product ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-DATA-05 Yorum ve puan

Seviye
SHOULD
Ağırlık
100 üzerinden 3
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
reviews

Gereksinim (SHOULD): Sayfadaki yıldız ve yorum sayısı AggregateRating olarak da işaretlidir.

Nasıl test edilir: Ürünün yapısal verisinde puan (AggregateRating) aranır. Puan sıfırdan büyük ve yorum ya da puan sayısı sıfırdan büyükse geçer; yalnızca tek tek yorumlar (Review) varsa ya da sayı eksik veya sıfırsa kısmen geçer; hiçbiri yoksa düşer.

Dayanağı: schema.org/AggregateRating ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-DATA-06 Varyantlar (beden, renk) adreslenebilir mi?

Seviye
SHOULD
Ağırlık
100 üzerinden 2
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
variants

Gereksinim (SHOULD): Her varyant kendi adresiyle açılır; yapısal veride ProductGroup + hasVariant ve variesBy kullanılır.

Nasıl test edilir: Varyantlar yapısal veride ProductGroup + hasVariant olarak tanımlıysa geçer; en az iki renk varyantı varsa her rengin kendine ait, farklı bir görseli olmalıdır, yoksa kısmen geçer (yalnızca beden varyantında görsel aranmaz). Sayfada beden/renk seçici var ama yapısal veri yoksa: seçenekler kendi adresiyle açılıyorsa kısmen geçer, açılmıyorsa düşer. Seçici olmayan üründe geçerli değildir.

Dayanağı: schema.org/ProductGroup ↗ · Google: product variants ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

Politika ve güven SC-POLICY

SC-POLICY-01 Makine okunur iade politikası

Seviye
SHOULD
Ağırlık
100 üzerinden 5
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
returns_machine

Gereksinim (SHOULD): İade politikası kurum seviyesinde bir kez (OnlineStore → hasMerchantReturnPolicy) ya da ürün teklifinde tanımlıdır; değerler iade sayfanızla aynıdır.

Nasıl test edilir: Ürün, teklif ya da kurum (Organization) düzeyinde makine okunur iade politikası (MerchantReturnPolicy) aranır; @id başvuruları çözülür. Üç alana bakılır: iade penceresi türü (returnPolicyCategory), sınırlı pencerede tam sayı gün (merchantReturnDays; “30 gün” ya da 14,5 geçersiz) ve ülke (applicableCountry). Hepsi tamsa geçer; politika var ama alan eksikse kısmen geçer (bir eksik 0,75, iki eksik 0,6, üçü de eksikse 0,5 puan); politika yoksa düşer.

Dayanağı: schema.org/MerchantReturnPolicy ↗ · Google: merchant listing structured data ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-POLICY-02 İade sayfası ve süresi

Seviye
SHOULD
Ağırlık
100 üzerinden 4
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
returns_human

Gereksinim (SHOULD): Ana sayfadan HTML bir iade sayfasına bağlantı vardır; sayfada süre, masraf ve yöntem açıkça yazar.

Nasıl test edilir: Ana sayfa ve ürün sayfasındaki bağlantılardan iade sayfası bulunur ve açılır; metinde iade süresi (gün) aranır. Süre bulunursa geçer; sayfa var ama süre yoksa ya da politika yalnızca PDF ise kısmen geçer; sayfa yoksa düşer.

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-POLICY-03 Makine okunur kargo bilgisi

Seviye
SHOULD
Ağırlık
100 üzerinden 4
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
shipping_machine

Gereksinim (SHOULD): Kargo ücreti, hazırlık ve teslim süresi OfferShippingDetails ile tanımlıdır.

Nasıl test edilir: Teklifte ya da kurum düzeyinde makine okunur kargo bilgisi (OfferShippingDetails ya da ShippingService) aranır ve dört alan sayılır: kargo ücreti (shippingRate), teslimat bölgesi (shippingDestination), hazırlık süresi (handlingTime) ve kargoda geçen süre (transitTime); süreler deliveryTime ya da shippingConditions altında da olabilir. Dördü de varsa geçer; tanım var ama alan eksikse kısmen geçer (bir eksik 0,75, iki eksik 0,6, daha fazlası 0,5 puan); tanım yoksa düşer.

Dayanağı: schema.org/OfferShippingDetails ↗ · Google: merchant listing structured data ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-POLICY-04 Kargo ücreti ve süresi sayfada

Seviye
SHOULD
Ağırlık
100 üzerinden 3
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
shipping_human

Gereksinim (SHOULD): Ürün sayfasında sepetten önce kargo ücreti, ücretsiz kargo eşiği ve teslim süresi yazar.

Nasıl test edilir: Ürün sayfası, kargo sayfası ve ana sayfa metninde ücretsiz kargo eşiği ya da teslim süresi aranır. Biri bulunursa geçer; kargodan yalnızca genel olarak söz ediliyorsa kısmen geçer; hiç yoksa düşer.

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-POLICY-05 İşletme kimliği

Seviye
SHOULD
Ağırlık
100 üzerinden 2
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
org_identity

Gereksinim (SHOULD): Ana sayfada ad, adres, iletişim ve sosyal profilleri içeren OnlineStore verisi vardır.

Nasıl test edilir: Okunan sayfaların yapısal verisinde işletme (Organization) aranır: iletişim bilgisi ve sosyal profil bağlantıları (sameAs). İkisi de varsa geçer, biri eksikse kısmen geçer, işletme verisi yoksa düşer.

Dayanağı: schema.org/Organization ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-POLICY-06 Yasal sayfalar (mesafeli satış)

Seviye
SHOULD
Ağırlık
100 üzerinden 2
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
legal_pages

Gereksinim (SHOULD): Alt bilgide mesafeli satış sözleşmesi, ön bilgilendirme formu ve KVKK aydınlatma metni bağlantıları bulunur.

Nasıl test edilir: Yalnızca Türkiye pazarında ölçülür: ana sayfa ve ürün sayfası bağlantılarında mesafeli satış sözleşmesi, ön bilgilendirme formu ve gizlilik/KVKK metni aranır. Üçü de varsa geçer, hiçbiri yoksa düşer, arada kalan oranla puanlanır. Diğer pazarlarda geçerli değildir.

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

Tutarlılık SC-CONSISTENCY

SC-CONSISTENCY-01 Fiyat tutarlılığı

Seviye
MUST
Ağırlık
100 üzerinden 6
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
price_match

Gereksinim (MUST): Görünen fiyat = yapısal veri fiyatı = feed fiyatı (KDV dahil, aynı para birimi).

Nasıl test edilir: Yapısal verideki fiyat, ürün fiyatı meta etiketiyle ve sayfada görünen metinle karşılaştırılır. Meta etiketi farklı bir fiyat söylüyorsa kontrol düşer ve kritik engel sayılır; fiyat sayfada görünmüyorsa kısmen geçer.

Dayanağı: schema.org/Offer ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-CONSISTENCY-02 Stok tutarlılığı

Seviye
SHOULD
Ağırlık
100 üzerinden 3
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
stock_match

Gereksinim (SHOULD): Stok durumu gerçek zamanlı ve makine okunurdur (InStock, OutOfStock, PreOrder).

Nasıl test edilir: Yapısal verideki stok durumu sayfayla karşılaştırılır: veri “stokta” derken sayfa “tükendi” diyor ve sepete ekleme yoksa düşer; veri “yok” derken sayfa satın alınabiliyorsa kısmen geçer.

Dayanağı: schema.org/ItemAvailability ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-CONSISTENCY-03 Para birimi ve dil

Seviye
SHOULD
Ağırlık
100 üzerinden 2
Geçerli olduğu siteler
E-ticaret siteleri · Otel ve konaklama · Hizmet işletmeleri
Test kontrolü
market_match

Gereksinim (SHOULD): priceCurrency ISO 4217 kodudur (ör. TRY) ve <html lang> sayfanın diliyle aynıdır.

Otel ve hizmet sitelerinde (ana sayfada ölçülür): <html lang> sayfanın diliyle aynıdır; fiyat gösteriliyorsa para birimi ISO 4217 kodudur (ör. TRY).

Nasıl test edilir: Fiyatın para birimi alan adının pazarıyla (ör. .com.tr → TRY) ve sayfa dili (<html lang>) pazarın diliyle karşılaştırılır. Para birimi uyuşmazsa düşer; dil etiketi yoksa ya da farklıysa kısmen geçer.

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-CONSISTENCY-04 İade süresi tutarlılığı

Seviye
SHOULD
Ağırlık
100 üzerinden 2
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
policy_match

Gereksinim (SHOULD): Yapısal verideki iade süresi iade sayfasındaki süreyle aynıdır.

Nasıl test edilir: Yapısal verideki iade süresi ile iade sayfasındaki süre karşılaştırılır. Eşitse geçer, farklıysa düşer; ikisinden biri yoksa karşılaştırılacak veri olmadığı için hesaba girmez.

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-CONSISTENCY-05 Vergi dahil fiyat ibaresi

Seviye
SHOULD
Ağırlık
100 üzerinden 2
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
price_transparency

Gereksinim (SHOULD): Fiyatın vergiler dahil olduğu fiyatın yanında yazar; kargo ücreti sepetten önce görünür.

Nasıl test edilir: Türkiye, AB ülkeleri, Birleşik Krallık, İsviçre, Avustralya ve Yeni Zelanda pazarlarında ürün sayfası ve ana sayfa metninde “KDV dahil” / “incl. VAT” benzeri ifade aranır. Varsa geçer, yoksa düşer; diğer pazarlarda geçerli değildir.

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

Arama ve sepet SC-CART

SC-CART-02 Sepete ekle düğmesi ilk HTML’de

Seviye
SHOULD
Ağırlık
100 üzerinden 5
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
add_to_cart

Gereksinim (SHOULD): Sepete ekleme gerçek bir <button> ya da form ile ilk HTML’de bulunur.

Nasıl test edilir: Ürün sayfasının ilk HTML’inde sepete ekleme işareti aranır: sepet formu, sepet öznitelikleri ya da “Sepete ekle” / “Add to cart” metni. Varsa geçer, yoksa düşer.

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-CART-03 Sepet düğmesi erişilebilir mi?

Seviye
SHOULD
Ağırlık
100 üzerinden 3
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
cart_accessible

Gereksinim (SHOULD): Düğme <button> ya da form gönderimidir ve görünür metni ya da aria-label’ı vardır.

Nasıl test edilir: Sepete ekleme bulunduysa gerçek bir düğme ya da form mu ve okunabilir bir adı (metin ya da aria-label) var mı diye bakılır. İkisi varsa geçer, biri varsa kısmen geçer, ikisi de yoksa düşer.

Dayanağı: WAI-ARIA: button pattern ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-CART-01 Adresle çalışan site içi arama

Seviye
SHOULD
Ağırlık
100 üzerinden 1
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
site_search

Gereksinim (SHOULD): Arama GET formuyla adres parametresine yazılır; WebSite verisinde SearchAction tanımlıdır.

Nasıl test edilir: Ana sayfada adres parametresiyle çalışan arama aranır: yapısal veride SearchAction ya da GET ile gönderilen bir arama formu (q, s, search…). Yalnızca betikle çalışan bir arama kutusu kısmen geçer; arama yoksa düşer.

Dayanağı: schema.org/SearchAction ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

Ödeme ve sipariş SC-CHECKOUT

SC-CHECKOUT-01 Üye olmadan satın alma

Seviye
SHOULD
Ağırlık
100 üzerinden 4
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
guest_checkout

Gereksinim (SHOULD): Hesap açmadan satın alma (misafir checkout) açıktır; adım sayısı az, pop-up ve zorunlu bülten kaydı yoktur.

Nasıl test edilir: Misafir ödeme dışarıdan, tarayıcı olmadan görülemez; ücretsiz testte her zaman doğrulanamadı olur ve puana girmez. Derin denetim raporu bunu gerçek bir tarayıcıyla ölçer.

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-CHECKOUT-02 Sipariş takibi

Seviye
SHOULD
Ağırlık
100 üzerinden 2
Geçerli olduğu siteler
E-ticaret siteleri
Test kontrolü
order_tracking

Gereksinim (SHOULD): Girişsiz sipariş takip sayfası (sipariş no + e-posta) ve kargo takip bağlantısı vardır.

Nasıl test edilir: Ana sayfa ve ürün sayfası bağlantılarında girişsiz sipariş takibi (ör. “Sipariş takibi”, “Track order”) aranır. Varsa geçer, yoksa düşer.

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

Otel ve konaklama SC-HOTEL

SC-HOTEL-01 Otel yapısal verisi (Hotel / LodgingBusiness)

Seviye
SHOULD
Ağırlık
100 üzerinden 18 (ortak kontrollerle birlikte)
Geçerli olduğu siteler
Otel ve konaklama
Test kontrolü
lodging_schema

Gereksinim (SHOULD): Ana sayfada ad, adres, koordinat, telefon, yıldız ve giriş/çıkış saatlerini taşıyan tek bir Hotel (ya da Resort, BedAndBreakfast…) düğümü vardır.

Nasıl test edilir: Ana sayfada Hotel / LodgingBusiness yapısal verisi aranır ve yedi alan sayılır: ad, adres, konum, telefon, yıldız, giriş ve çıkış saati. Hepsi varsa geçer, veri yoksa düşer, arada kalan oranla puanlanır.

Dayanağı: schema.org/Hotel ↗ · schema.org/LodgingBusiness ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-HOTEL-02 Olanaklar yapısal veride

Seviye
SHOULD
Ağırlık
100 üzerinden 8 (ortak kontrollerle birlikte)
Geçerli olduğu siteler
Otel ve konaklama
Test kontrolü
lodging_amenities

Gereksinim (SHOULD): Misafirin süzebileceği her olanak LocationFeatureSpecification (name + value: true) olarak listelenir.

Nasıl test edilir: Otel ya da oda verisinde olanaklar (amenityFeature) aranır. Varsa geçer; olanaklar yalnızca metinde geçiyorsa (havuz, kahvaltı, otopark…) kısmen geçer; hiç yoksa düşer.

Dayanağı: schema.org/LocationFeatureSpecification ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-HOTEL-03 Odalar ve fiyatlar okunuyor mu?

Seviye
SHOULD
Ağırlık
100 üzerinden 15 (ortak kontrollerle birlikte)
Geçerli olduğu siteler
Otel ve konaklama
Test kontrolü
room_offers

Gereksinim (SHOULD): Her oda tipi kapasite ve yatak bilgisiyle bir HotelRoom’dur ve “başlayan fiyat” ile para birimi taşıyan bir Offer’la sunulur.

Nasıl test edilir: Ana sayfa yapısal verisinde oda tipleri (HotelRoom, Suite…) ve fiyatlı teklif aranır. İkisi varsa geçer, biri varsa kısmen geçer, ikisi de yoksa düşer.

Dayanağı: schema.org/HotelRoom ↗ · schema.org/Offer ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-HOTEL-04 İptal koşulları bulunabiliyor mu?

Seviye
SHOULD
Ağırlık
100 üzerinden 12 (ortak kontrollerle birlikte)
Geçerli olduğu siteler
Otel ve konaklama
Test kontrolü
cancellation_policy

Gereksinim (SHOULD): Her sayfadan bağlanan, düz metin bir iptal koşulları sayfası (son iptal tarihi, ücret, gelmeme durumu).

Nasıl test edilir: Ana sayfada iptal ya da rezervasyon koşullarına giden bir bağlantı aranır; bulunursa geçer. Koşullar yalnızca metinde geçiyorsa kısmen geçer, hiç yoksa düşer. Bağlantı verilen sayfa açılmaz.

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-HOTEL-05 Rezervasyon girişine ulaşılıyor mu?

Seviye
SHOULD
Ağırlık
100 üzerinden 20 (ortak kontrollerle birlikte)
Geçerli olduğu siteler
Otel ve konaklama
Test kontrolü
booking_entry

Gereksinim (SHOULD): Rezervasyon motoruna giden düz bir <a href> (mümkünse tarihler adres parametresi olarak) ya da giriş/çıkış alanlı bir GET formu.

Nasıl test edilir: Ana sayfada giriş/çıkış tarihli gerçek bir form ya da rezervasyona giden bir bağlantı aranır; bulunursa geçer. Rezervasyon motoru yalnızca betikte görünüyorsa kısmen geçer, hiçbiri yoksa düşer.

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

Hizmet işletmeleri SC-SERVICE

SC-SERVICE-01 İşletme yapısal verisi (Organization / ProfessionalService)

Seviye
SHOULD
Ağırlık
100 üzerinden 18 (ortak kontrollerle birlikte)
Geçerli olduğu siteler
Hizmet işletmeleri
Test kontrolü
service_org

Gereksinim (SHOULD): Ad, iletişim bilgisi, adres ve hizmet bölgesini taşıyan tek bir ProfessionalService (ya da Organization / LocalBusiness) düğümü.

Nasıl test edilir: Ana sayfada işletme yapısal verisi (Organization, LocalBusiness, ProfessionalService…) aranır ve üç alan sayılır: ad, iletişim (telefon ya da e-posta) ve hizmet bölgesi (areaServed). Hepsi varsa geçer, veri yoksa düşer, arada kalan oranla puanlanır.

Dayanağı: schema.org/LocalBusiness ↗ · schema.org/ProfessionalService ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-SERVICE-02 Hizmetler tanımlı mı?

Seviye
SHOULD
Ağırlık
100 üzerinden 15 (ortak kontrollerle birlikte)
Geçerli olduğu siteler
Hizmet işletmeleri
Test kontrolü
service_pages

Gereksinim (SHOULD): Her hizmet için ana sayfadan bağlanan bir sayfa ve kurumunuza bağlanan Service verisi.

Nasıl test edilir: Yapısal veride Service tanımı ya da ana sayfada hizmet sayfalarına giden bağlantılar (“Hizmetlerimiz”, /services…) aranır. Biri varsa geçer, yoksa düşer.

Dayanağı: schema.org/Service ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-SERVICE-03 Fiyat ya da “nasıl çalışır” bilgisi bulunabiliyor mu?

Seviye
SHOULD
Ağırlık
100 üzerinden 10 (ortak kontrollerle birlikte)
Geçerli olduğu siteler
Hizmet işletmeleri
Test kontrolü
pricing_info

Gereksinim (SHOULD): Ana sayfadan bağlanan bir fiyat ya da paket sayfası (başlangıç fiyatı yeterli) ve kısa bir “nasıl çalışır” bölümü.

Nasıl test edilir: Fiyat ya da “nasıl çalışır” bilgisi aranır: sitedeki fiyat sayfasına bağlantı, yapısal veride fiyat ya da ana sayfa metninde tutar. Biri varsa geçer, yoksa düşer.

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-SERVICE-04 İletişim bilgisi okunuyor mu?

Seviye
SHOULD
Ağırlık
100 üzerinden 12 (ortak kontrollerle birlikte)
Geçerli olduğu siteler
Hizmet işletmeleri
Test kontrolü
contact_details

Gereksinim (SHOULD): E-posta ve telefon her sayfanın üst ya da alt bölümünde düz metin ve mailto:/tel: bağlantısı olarak bulunur.

Nasıl test edilir: Ana sayfada e-posta ve telefon aranır (bağlantı, metin ya da yapısal veri). İkisi varsa geçer, biri varsa kısmen geçer, ikisi de yoksa düşer.

Dayanağı: schema.org/ContactPoint ↗

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

SC-SERVICE-05 İletişim ya da teklif formu bir tık uzakta mı?

Seviye
SHOULD
Ağırlık
100 üzerinden 18 (ortak kontrollerle birlikte)
Geçerli olduğu siteler
Hizmet işletmeleri
Test kontrolü
contact_form

Gereksinim (SHOULD): Ana sayfadan bir tıkla ulaşılan, alanları açıkça etiketli düz bir HTML formu (ad, e-posta, mesaj).

Nasıl test edilir: Ana sayfada gerçek bir iletişim ya da teklif formu (metin alanı ya da e-posta/telefon alanı olan) veya iletişim/teklif sayfasına bağlantı aranır; bulunursa geçer. Yalnızca e-posta bağlantısı varsa kısmen geçer, hiçbiri yoksa düşer. Forma hiçbir şey yazılmaz.

Kontrol sayfası, düzeltme kodu ve kendiniz doğrulama →

Bu sürümde olmayanlar

  • PROTOCOL ayrılmış bir alandır. Protokol işaretleri (UCP, MCP, A2A, AI Catalog, Web Bot Auth, WebMCP) testte bilgi satırı olarak görünür ve puana girmez; bu yüzden henüz SC kimliği yoktur.
  • Eğitim botu kuralları, llms.txt yapısı, politika bağlantı türleri, ödeme yöntemleri ya da ajan güvenliği bulguları gibi bilgi satırları raporlanır ama puana girmez; bu yüzden burada gereksinim değildir.
  • Ajan simülatörü, yapay zekâ görünürlük ölçümü ve ücretli derin denetim ayrı ürünlerdir; bu şartnamenin parçası değildir.

Makine okunur sürüm

Aynı şartname JSON olarak: kimlikler, seviyeler, ağırlıklar, gereksinimler ve testler iki dilde, bu sayfayla aynı kaynaktan üretilir.

sc-1.0.json dosyasını indirin

Sürümleme

  • Şartname 1.0, skor modeli v2.4’e karşılık gelir. Model değişince şartname yeni sürüm ve değişiklik kaydı alır; burada gösterilen sürüm de onunla değişir.
  • Değişen ağırlık, seviye ya da geçme kuralı yeni ara sürümdür; kontrol eklemek ya da emekliye ayırmak da yeni ara sürümdür; kimlikler sürümler boyunca aynı kalır.

Değişiklik kaydı

  • 1.0 · · skor modeli v2.4: İlk yayın. Skor modeli v2.4’ün puana giren her kontrolü kalıcı bir kimlik aldı: 27 mağaza kontrolü ve 10 otel ve hizmet kontrolü. Güç seviyeleri, ağırlıklar ve testler model v2.4’ünkilerdir; yayın için hiçbir kural değişmedi.

Diğer kontrol listeleriyle eşleme

Hangi SC gereksiniminin AgentReady’nin herkese açık gereksinimlerine karşılık geldiği, hangilerinin karşılığı olmadığı; kaynaklar ve okuduğumuz tarihle. SC 1.0 ve AgentReady →

Bir hata ya da katılmadığınız bir kural mı gördünüz? iletisim@specoria.com adresine yazın.