İçeriğe geç
Docs

GEO: AI Storefront

Üretken yapay zekâ görünürlüğü (GEO) için AI Storefront — mağaza kökündeki agents.md, llms.txt, llms-full.txt ve /ai/*.json dosyaları, site türleri (kurumsal, e-ticaret, hibrit), bilgi merkezi, tema proxy’si, WebMCP ve UTM takibi.

Son güncelleme:

Arama giderek ChatGPT, Gemini, Claude ve Perplexity gibi yanıt motorlarına kayıyor. GEO (generative engine optimization), bu motorların mağazanızı doğru anlaması, doğru alıntılaması ve ziyaretçiyi doğru sayfaya göndermesi için yapılan çalışmadır. Tecof bunu AI Storefront ile sunar: panelden açıldığında mağazanın kökünde standart, makine-okunur dosyalar yayınlanır.

Yayınlanan dosyalar#

Dosyalar backend’de (/api/store/ai/*, vitrin anahtarıyla) üretilir ve tema kökünden proxy’lenir; AI tarayıcıları başlık gönderemediği için anahtarı sunucu tarafında tema ekler.

DosyaİçerikE-ticaretKurumsalHibrit
/agents.mdAjanlar için yönlendirici rehber: kurallar, politikalar, kaynak adresleri✓✓✓
/llms.txtllmstxt.org biçiminde kısa indeks✓✓✓
/llms-full.txtTüm bağlamın birleşik metni✓✓✓
/ai/knowledge.jsonBilgi merkezi: marka, politikalar, SSS, kurallar (şema 2)✓✓✓
/ai/content.jsonSayfa + CMS içerik dizini ve hizmetler—✓✓
/ai/catalog.jsonAktif ürünler, fiyat, stok, UTM’li ödeme bağlantısı✓—✓
/ai/collections.jsonKategori ağacı✓—✓
/ai/products/<slug>.jsonTek ürün✓—✓

Uygulanmayan uç 404 ve messageCode: "not-applicable" döner. AI Storefront kapalıysa dosyalar 404’tür. Değişiklikler önbellekler nedeniyle en geç ~30 dakikada görünür.

Site türü#

Dosyaların içeriği mağazanın türüne göre değişir; kurumsal bir siteye ürün kataloğu ya da uydurma kargo/iade metni yazılmaz.

TürNe zamanYayınlanan
ecommerceMağaza ürün tipi e-ticaret (varsayılan)Katalog, koleksiyonlar, satış politikaları
websiteÜrün tipi kurumsal ya da panelde açıkça seçildiSayfalar, içerik dizini, hizmetler, iletişim; satış dosyaları yok
hybridYalnız panelde açık seçimleİkisi birden

Bilgi merkezinde (panel → Ayarlar → SEO → AI Storefront) hizmetler, hizmet bölgesi, çalışma saatleri, iletişim kanalları, randevu/teklif süreci, fiyatlandırma yaklaşımı ve referanslar tutulur; uygulanmayan alanlar “Uygulanmaz” işaretlenir ve “bu işletme için geçerli değil” olarak yayınlanır. AI ile doldur yayındaki sayfa, CMS ve ürünlerden taslak üretir (kaydetmez; içerik yoksa kredi düşmez).

Örnek: catalog.json#

JSON
{
  "store": { "name": "Örnek Mağaza", "currency": "TRY", "language": "tr", "domain": "https://ornek.com" },
  "products": [
    {
      "id": "60c72b2f9b1d8e001c888888",
      "title": "Minimalist deri cüzdan",
      "price": 850,
      "compareAtPrice": 1200,
      "currency": "TRY",
      "availability": "in_stock",
      "url": "https://ornek.com/products/minimalist-deri-cuzdan",
      "checkout_url": "https://ornek.com/checkout?variant=…&utm_source=ai_agent&utm_medium=agentic&utm_campaign=ai_storefront",
      "slug": "minimalist-deri-cuzdan"
    }
  ],
  "total": 1,
  "generated_at": "2026-10-11T02:00:00.000Z"
}

checkout_url adresleri utm_source=ai_agent, utm_medium=agentic, utm_campaign=ai_storefront taşır; AI ajanlarından gelen ziyaret ve dönüşümler analitikte ayrıca görünür.

Örnek: knowledge.json (şema 2)#

JSON
{
  "schemaVersion": 2,
  "siteMode": "website",
  "store": { "name": "Örnek Mimarlık", "url": "https://ornek.com/tr", "language": "tr" },
  "brand": { "about": "…", "tone": "kurumsal" },
  "commerce": null,
  "business": { "services": [{ "name": "İç mimari", "summary": "…", "path": "/tr/hizmetler/ic-mimari" }], "serviceArea": "İstanbul" },
  "notApplicable": [],
  "faq": [{ "question": "Keşif ücretli mi?", "answer": "…" }],
  "aiRules": ["Fiyat sorulursa teklif formuna yönlendir."],
  "generated_at": "2026-10-11T02:00:00.000Z"
}

Yayınlanmayan alan null döner. E-ticaret modunda eski üst düzey policies, sizeChart, usageTips alanları geriye uyum için korunur.

Tema tarafı#

Tecof çekirdek teması ve türevleri dosyaları kök rotalardan proxy’ler; özel tema yazıyorsanız aynı rotaları koruyun:

app/ai/[...path]/route.ts (özet)
const ALLOWED = /^(catalog\.json|collections\.json|knowledge\.json|content\.json|products\/[a-z0-9-]+\.json)$/;

export async function GET(req: NextRequest, { params }: { params: Promise<{ path: string[] }> }) {
  const joined = (await params).path.join("/");
  if (!ALLOWED.test(joined)) return Response.json({ error: "not-found" }, { status: 404 });
  const res = await fetch(`${process.env.NEXT_PUBLIC_BASE_URL}/api/store/ai/${joined}${req.nextUrl.search}`, {
    headers: { "x-secret-key": process.env.NEXT_PUBLIC_MERCHANT_SECRET_KEY! },
    next: { revalidate: 600 },
  });
  return new Response(await res.text(), {
    status: res.status,
    headers: { "Content-Type": res.headers.get("content-type") || "application/json; charset=utf-8" },
  });
}
  • İzin listesi dışındaki yollar 404 döner; proxy açık bir röleye dönüşmez.
  • agents.md, llms.txt ve llms-full.txt aynı kalıpla app/<dosya>/route.ts altında proxy’lenir (30 dk önbellek).
  • GET /api/store/merchant-info yanıtındaki ai: { enabled, mode } temanın AI özelliklerini açıp kapatması içindir.

WebMCP#

Tecof temaları tarayıcıdaki ajanlara WebMCP araçları da sunabilir: site araçları /ai/content.json ve /ai/knowledge.json’u bir kez okuyup istemcide arama yapar; e-ticaret araçları vitrin API’lerini kullanır. Site araçları ai.enabled açıkken kaydedilir. Kaynak: çekirdek temada lib/webmcp/.

GEO kontrol listesi#

  • Panelde AI Storefront açık ve site türü doğru (kurumsal sitede website).
  • Bilgi merkezinde marka özeti, SSS ve uygulanan politikalar dolu; uygulanmayanlar işaretli.
  • Tema /agents.md, /llms.txt, /llms-full.txt ve /ai/* rotalarını proxy’liyor.
  • robots.txt AI tarayıcılarını engellemiyor (Tema SEO’su).
  • Ürün ve sayfa meta açıklamaları dolu; AI yanıtları çoğunlukla bunları alıntılar.
  • Ajan kaynaklı dönüşümler utm_source=ai_agent ile izleniyor.