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 | İçerik | E-ticaret | Kurumsal | Hibrit |
|---|---|---|---|---|
/agents.md | Ajanlar için yönlendirici rehber: kurallar, politikalar, kaynak adresleri | ✓ | ✓ | ✓ |
/llms.txt | llmstxt.org biçiminde kısa indeks | ✓ | ✓ | ✓ |
/llms-full.txt | Tüm bağlamın birleşik metni | ✓ | ✓ | ✓ |
/ai/knowledge.json | Bilgi merkezi: marka, politikalar, SSS, kurallar (şema 2) | ✓ | ✓ | ✓ |
/ai/content.json | Sayfa + CMS içerik dizini ve hizmetler | — | ✓ | ✓ |
/ai/catalog.json | Aktif ürünler, fiyat, stok, UTM’li ödeme bağlantısı | ✓ | — | ✓ |
/ai/collections.json | Kategori ağacı | ✓ | — | ✓ |
/ai/products/<slug>.json | Tek ü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ür | Ne zaman | Yayınlanan |
|---|---|---|
ecommerce | Mağaza ürün tipi e-ticaret (varsayılan) | Katalog, koleksiyonlar, satış politikaları |
website | Ürün tipi kurumsal ya da panelde açıkça seçildi | Sayfalar, içerik dizini, hizmetler, iletişim; satış dosyaları yok |
hybrid | Yalnı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#
{
"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)#
{
"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:
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
404döner; proxy açık bir röleye dönüşmez. agents.md,llms.txtvellms-full.txtaynı kalıplaapp/<dosya>/route.tsaltında proxy’lenir (30 dk önbellek).GET /api/store/merchant-infoyanıtındakiai: { 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.txtve/ai/*rotalarını proxy’liyor. -
robots.txtAI 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_agentile izleniyor.