Örnek rapor: web-scraping.dev
Ücretsiz ajan hazırlık testinin gerçek ve düzenlenmemiş bir sonucu. Mağaza web-scraping.dev: Scrapfly şirketinin web tarayıcılarını denemek için yayımladığı herkese açık bir deneme mağazası. Gerçek bir markayı adıyla göstermeden her şeyi açabilmek için onu seçtik; Specoria müşterisi değildir.
Ajan hazırlık skoru
75/100 Kısmen hazır
İlk üç öncelik düzeltilirse tahmini skor: 89
23 kontrol ölçüldü · 2 doğrulanamadı · 2 bu mağazada geçerli değil
Kategoriler
İki bulgu, eksiksiz
Sonuç sayfasında en çok puan kaybettiren bulgular tam kartla gösterilir. Bu rapordaki ilk ikisi:
Makine okunur iade politikası
Kaldıİade politikası yapısal veride yok; “30 gün iadeli” gibi bir koşulu ajan doğrulayamaz.
İ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.
{
"@context": "https://schema.org",
"@type": "OnlineStore",
"@id": "https://web-scraping.dev/#org",
"name": "Mağaza Adı",
"url": "https://web-scraping.dev",
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"applicableCountry": "US",
"returnPolicyCountry": "US",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 30,
"returnMethod": "https://schema.org/ReturnByMail",
"returnFees": "https://schema.org/FreeReturn"
}
}İade sayfası ve süresi
KaldıAna sayfada ya da ürün sayfasında iade politikası bağlantısı bulunamadı; bağlantı JavaScript ile sonradan ekleniyor olabilir.
Ana sayfadan HTML bir iade sayfasına bağlantı vardır; sayfada süre, masraf ve yöntem açıkça yazar.
Bütün kontroller
Her kontrolün durumu ve sonuç sayfasında yazan cümle. Başlıklar kontrolün kalıcı sayfasına gider.
Erişim · 100
- GeçtiArama ve kullanıcı ajanlarına izin (robots.txt)
robots.txt; OAI-SearchBot, ChatGPT-User, Claude, Perplexity, Googlebot, Google-Agent, Bingbot ve Applebot’u ana sayfada ve ürün sayfasında engellemiyor.
- GeçtiBot koruması ajanlara açık mı?
Ana sayfa ve ürün sayfası otomatik isteğe normal yanıt verdi; bir doğrulama duvarına takılmadık.
- GeçtiÜrün adı ve fiyat JavaScript olmadan okunuyor mu?
Ürün adı ve fiyat sayfanın ilk HTML yanıtında var; JavaScript çalıştırmayan ajan tarayıcıları da okuyabilir.
- GeçtiSite haritası
Site haritası bulundu; ajanlar ürün sayfalarınızı keşfedebilir.
- GeçtiÜrün sayfası dizinlenebilir mi?
Ürün sayfasında noindex yok; canonical adres mağazanın kendi alan adında.
Ürün verisi · 83
- GeçtiÜrün yapısal verisi (schema.org)
Ürün sayfasında schema.org Product verisi var.
- GeçtiFiyat, para birimi, stok ve adres
Teklif verisinde fiyat, para birimi, stok durumu ve ürün adresi eksiksiz.
- KısmenÜrün kimliği (GTIN/MPN, marka, SKU)
Ürün kimliği eksik: GTIN, SKU.
- GeçtiGörsel ve açıklama
Ürün verisinde görsel ve yeterli uzunlukta açıklama (en az 20 kelime ya da 120 karakter) var.
- GeçtiYorum ve puan
Ürün verisinde puan ve yorum sayısı (AggregateRating) var.
- KısmenVaryantlar (beden, renk) adreslenebilir mi?
Varyantlar kendi adresleriyle açılıyor, ama yapısal veride ProductGroup + hasVariant yok.
Politika ve güven · 7
- KaldıMakine okunur iade politikası
İade politikası yapısal veride yok; “30 gün iadeli” gibi bir koşulu ajan doğrulayamaz.
- Kaldıİade sayfası ve süresi
Ana sayfada ya da ürün sayfasında iade politikası bağlantısı bulunamadı; bağlantı JavaScript ile sonradan ekleniyor olabilir.
- KaldıMakine okunur kargo bilgisi
Kargo süresi ve ücreti yapısal veride yok; ajan teslim koşulunuzu karşılaştıramaz.
- KaldıKargo ücreti ve süresi sayfada
Sayfada kargo ücreti ya da teslim süresi bulunamadı.
- Kısmenİşletme kimliği
Kurum verisi var, eksik: iletişim bilgisi.
- Geçerli değilYasal sayfalar (mesafeli satış)
Bu mağaza için geçerli değil; puana katılmadı.
Tutarlılık · 100
- GeçtiFiyat tutarlılığı
Yapısal verideki fiyat sayfada görünen fiyatla aynı.
- GeçtiStok tutarlılığı
Yapısal verideki stok durumu sayfayla uyumlu.
- GeçtiPara birimi ve dil
Fiyat para birimi ve sayfa dili mağazanın pazarıyla uyumlu.
- Doğrulanamadıİade süresi tutarlılığı
Karşılaştıracak veri bulunamadı; puana katılmadı.
- Geçerli değilVergi dahil fiyat ibaresi
Bu mağaza için geçerli değil; puana katılmadı.
Eylem (sepet ve sipariş) · 82
- GeçtiSepete ekle düğmesi ilk HTML’de
Sepete ekleme düğmesi ya da formu ilk HTML’de var.
- GeçtiSepet düğmesi erişilebilir mi?
Sepete ekleme gerçek bir düğme ve okunabilir bir adı var.
- DoğrulanamadıÜye olmadan satın alma
Dışarıdan, gerçek bir tarayıcı olmadan görülemez; derin denetim raporunda gerçek tarayıcıyla ölçülür.
- KaldıSipariş takibi
Sipariş takibi bağlantısı bulunamadı.
- GeçtiAdresle çalışan site içi arama
Site içi arama adres parametresiyle çalışıyor (ör. /arama?q=…).
Bilgi satırları (puanı etkilemez)
- Eğitim botları (puanı etkilemez)
- Eğitim botları engellenmiyor.
- Diğer AI botları (puanı etkilemez)
- Applebot-Extended, Meta-ExternalAgent, Amazonbot, MistralAI-User ve Bytespider engellenmiyor.
- robots.txt grup önceliği (puanı etkilemez)
- Genel (*) kuralları gölgeleyen bir ajan grubu görülmedi.
- İçerik sinyalleri · Content-Signal (puanı etkilemez)
- robots.txt’de Content-Signal satırı yok.
- Bot kimliğiyle erişim (olası engel)
- Kendini bot olarak tanıtan istek (SpecoriaBot) de açıldı.
- Cloudflare
- Cloudflare tespit edilmedi.
- llms.txt (puanı etkilemez)
- Sitede /llms.txt yok. Bağımsız çalışmalar AI botlarının bu dosyayı nadiren okuduğunu gösteriyor; puana katılmıyor.
- Ajan protokolleri ve keşif dosyaları (puanı etkilemez)
- UCP, MCP, A2A ajan kartı, AI Catalog, API Catalog, Web Bot Auth dizini, WebMCP ve ACP işareti bulunamadı. Google UCP ve OpenAI ACP gibi protokoller Türkiye’de henüz yaygın değil; puanı etkilemez.
- Merchant Center / Search Console
- Google Merchant Center ve Search Console’daki kargo ve iade ayarları dışarıdan görülemez. Orada tanımlıysa Google yüzeyleri için o ayar geçerlidir; diğer ajanlar sayfanızı okur.
- Ödeme sağlayıcıları
- Sayfada bilinen bir ödeme sağlayıcısı tespit edilmedi.
- Online iade talebi
- Online iade talebi (sipariş no ile) bağlantısı bulunamadı.
- Açılır pencere ve bülten
- Açılır pencere işareti görülmedi.
Bu tarama nasıl yapıldı?
- Tarama ücretsiz testin kendi kodu (apps/worker/src/scan/run.ts (runScan), commit a5e9875) ile ekibimizin bilgisayarından yapıldı; 2,7 saniye sürdü.
- İsteğe bağlı yapay zekâ adımı (kategori ve senaryo cümlesi) kapalıydı; skor ve bütün kontroller bu adımdan bağımsızdır.
- İkinci ağdan deneme yapılmadı; mağaza ilk istekte açıldı.
- Sonuçta kurulan simülasyon bu sayfada gösterilmiyor. JSON’daki “sim” bloğunda iki rakip fiyatı yer tutucudur (ürün fiyatının %3 altı ve %4 üstü); gerçek mağaza değildir.
- Sonuç nesnesinde düzenleme yok (none: the result object below is the scan output as produced).
Aynı rapor, JSON olarak
Panelimizin döndürdüğü sonuç nesnesi; kendi tablonuza ya da BI aracınıza aktarabilirsiniz. JSON dosyasını indir
JSON’u göster
{
"meta": {
"label": {
"en": "Sample report",
"tr": "Örnek rapor"
},
"store": "web-scraping.dev",
"store_about": {
"owner": "Scrapfly",
"url": "https://web-scraping.dev/",
"note": "Public mock e-commerce site published for testing web scrapers; not a Specoria customer."
},
"run": {
"where": "local",
"code": "apps/worker/src/scan/run.ts (runScan)",
"commit": "a5e9875",
"llm": false,
"relay": false,
"lang": "en",
"duration_ms": 2653,
"run_at": "2026-10-08T11:48:06.279Z"
},
"edits": "none: the result object below is the scan output as produced"
},
"result": {
"model": "v2.3",
"domain": "web-scraping.dev",
"product_url": "https://web-scraping.dev/product/1",
"scanned_at": "2026-10-08T11:48:06.279Z",
"score": 75,
"raw_score": 75,
"level": "partial",
"insufficient": false,
"blockers": [],
"categories": [
{
"id": "access",
"score": 100,
"measured": 5,
"total": 5
},
{
"id": "product",
"score": 83,
"measured": 6,
"total": 6
},
{
"id": "policy",
"score": 7,
"measured": 5,
"total": 6
},
{
"id": "consistency",
"score": 100,
"measured": 3,
"total": 5
},
{
"id": "action",
"score": 82,
"measured": 4,
"total": 5
}
],
"checks": [
{
"id": "bots_search",
"status": "pass"
},
{
"id": "waf_access",
"status": "pass"
},
{
"id": "no_js",
"status": "pass"
},
{
"id": "sitemap",
"status": "pass"
},
{
"id": "indexable",
"status": "pass"
},
{
"id": "product_schema",
"status": "pass"
},
{
"id": "offer_complete",
"status": "pass"
},
{
"id": "product_identity",
"status": "warn",
"detail": "gtin,sku",
"credit": 0.35
},
{
"id": "product_media",
"status": "pass"
},
{
"id": "reviews",
"status": "pass"
},
{
"id": "variants",
"status": "warn",
"detail": "no_productgroup",
"credit": 0.5
},
{
"id": "returns_machine",
"status": "fail"
},
{
"id": "returns_human",
"status": "fail"
},
{
"id": "shipping_machine",
"status": "fail"
},
{
"id": "shipping_human",
"status": "fail"
},
{
"id": "org_identity",
"status": "warn",
"detail": "contact",
"credit": 0.66
},
{
"id": "legal_pages",
"status": "na",
"reason": "not_applicable"
},
{
"id": "price_match",
"status": "pass"
},
{
"id": "stock_match",
"status": "pass"
},
{
"id": "market_match",
"status": "pass"
},
{
"id": "policy_match",
"status": "na",
"reason": "no_data"
},
{
"id": "price_transparency",
"status": "na",
"reason": "not_applicable"
},
{
"id": "add_to_cart",
"status": "pass"
},
{
"id": "cart_accessible",
"status": "pass"
},
{
"id": "guest_checkout",
"status": "na",
"reason": "external"
},
{
"id": "order_tracking",
"status": "fail"
},
{
"id": "site_search",
"status": "pass"
}
],
"info": [
{
"id": "training_bots",
"value": "no"
},
{
"id": "other_bots",
"value": "no"
},
{
"id": "robots_groups",
"value": "no"
},
{
"id": "content_signals",
"value": "no"
},
{
"id": "bot_ua",
"value": "no"
},
{
"id": "cloudflare",
"value": "no"
},
{
"id": "llms_txt",
"value": "no"
},
{
"id": "protocols",
"value": "no"
},
{
"id": "policy_sources",
"value": "unknown"
},
{
"id": "payments",
"value": "no"
},
{
"id": "returns_portal",
"value": "no"
},
{
"id": "popups",
"value": "no"
}
],
"priorities": [
"returns_machine",
"returns_human",
"shipping_machine",
"product_identity",
"shipping_human",
"order_tracking",
"variants",
"org_identity"
],
"potential": 89,
"market": {
"country": "US",
"currency": "USD",
"lang": "en",
"legal_return_days": null,
"return_days": null,
"return_fees": null,
"free_shipping_over": null,
"delivery": null,
"extracted_by": "none"
},
"product": {
"name": "Box of Chocolate Candy",
"price": 9.99,
"currency": "USD",
"availability": "InStock"
},
"sim": {
"product": {
"name": "Box of Chocolate Candy",
"price": 9.99,
"currency": "USD"
},
"budget": 20,
"return_days": 30,
"scenario": {
"tr": null,
"en": null
},
"category": {
"tr": null,
"en": null
},
"slots": {
"access": "ok",
"price": "ok",
"shipping": "bad",
"returns": "bad"
},
"outcome": "eliminated",
"reason": "shipping_machine",
"competitors": [
{
"price": 9.69
},
{
"price": 10.39
}
]
},
"coverage": {
"pages": 2,
"measured": 23,
"unverifiable": 2,
"not_applicable": 2
},
"site_type": {
"type": "ecommerce",
"detected": "service",
"confidence": "low",
"evidence": [
"JSON-LD educationalorganization"
],
"source": "default"
},
"probes": [
{
"id": "1.2",
"status": "partial",
"note": "GPTBot: —"
},
{
"id": "1.3",
"status": "pass",
"note": "Google-Extended: default allow"
},
{
"id": "1.4",
"status": "fail",
"note": "none named"
},
{
"id": "1.10",
"status": "pass",
"note": "1407 ms"
},
{
"id": "1.13",
"status": "pass",
"note": "HTTP 404"
},
{
"id": "1.19",
"status": "pass",
"note": "https"
},
{
"id": "1.21",
"status": "pass",
"note": "viewport width=device-width, initial-scale=1, shr"
},
{
"id": "1.28",
"status": "pass",
"note": "lang en · hreflang 0"
},
{
"id": "1.29",
"status": "partial",
"note": "Cache-Control —"
},
{
"id": "2.20",
"status": "partial",
"note": "nav, footer"
},
{
"id": "2.28",
"status": "pass",
"note": "sameAs 2"
},
{
"id": "1.20",
"status": "pass",
"note": "product canonical same host"
},
{
"id": "1.22",
"status": "pass",
"note": "product snippet allowed"
},
{
"id": "1.26",
"status": "partial",
"note": "product h1 0 · skipped level"
},
{
"id": "1.27",
"status": "pass",
"note": "product title 47 · description 64"
},
{
"id": "2.26",
"status": "pass",
"note": "product JSON-LD 1/1"
},
{
"id": "2.11",
"status": "pass",
"note": "product JSON-LD 1"
},
{
"id": "2.22",
"status": "pass",
"note": "og:title, og:image, og:description"
},
{
"id": "2.21",
"status": "pass",
"note": "home yes · product yes"
},
{
"id": "2.7",
"status": "fail",
"note": "product FAQPage/QAPage"
},
{
"id": "2.8",
"status": "fail",
"note": "product BreadcrumbList"
},
{
"id": "2.13",
"status": "partial",
"note": "alt 4/8"
},
{
"id": "2.14",
"status": "fail",
"note": "/llms.txt missing"
},
{
"id": "2.23",
"status": "fail",
"note": "/AGENTS.md 404"
},
{
"id": "2.25",
"status": "fail",
"note": "/llms-full.txt 404"
},
{
"id": "4.4",
"status": "fail",
"note": "HTTP 404"
}
]
}
}Sık sorulanlar
Bu gerçek bir rapor mu?
Evet. Sayfadaki her sayı ve cümle, aşağıdaki JSON’da duran tarama çıktısından üretildi; elle düzeltilmedi. Tarih ve süre de o çıktıdan.
Neden bu mağaza?
Gerçek bir markanın sitesini izni olmadan örnek yapmak istemedik. Bu site, tarayıcıları denemek için herkese açık yayımlanmış bir deneme mağazası; hiçbir şeyi gizlemeden gösterebiliyoruz.
Testi yeniden çalıştırırsam aynı sonucu alır mıyım?
Kurallar aynıysa ve site değişmediyse evet: skor kural tabanlıdır, yapay zekâ puan vermez. Site değişirse ya da skor modeli güncellenirse sonuç da değişir; bu yüzden rapor tarih ve model sürümü taşır.