Bir e-ticaret sitesinde arama kutusu, ürün sayfası kadar ciddiye alınmayan ama ürün sayfasından daha keskin bir dönüşüm noktasıdır. Ziyaretçi kategori gezdiğinde size ne istediğini söylemez; arama kutusuna yazdığında tam olarak söyler. STools AI Arama modülü bu noktayı, Türkçe için doğru çalışan bir eşleştirme ve sıralama katmanıyla değerlendirmek üzere geliştirildi.
Bu sayfa, modülün ne yaptığını pazarlama cümleleriyle değil, çözdüğü problemleri tek tek anlatarak açıklıyor. Özellikle Türkçeye özgü bölüm önemli: İngilizce için hazır gelen arama çözümlerinin Türkçe kataloglarda neden sessizce bozulduğunu ve modülün her bir kırılma noktasında ne yaptığını göreceksiniz.
Arama kutusuna yazan ziyaretçi neden daha değerlidir?
Kategori sayfasında gezen ziyaretçi keşif modundadır: bakıyor, karşılaştırıyor, henüz karar vermemiş olabilir. Arama kutusuna siyah deri bilgisayar çantası yazan ziyaretçi ise niyetini cümleye dökmüştür. Ürün tipini, rengini ve malzemesini kendisi belirtmiştir; tek beklentisi o ürünü görmektir.
Bu davranış farkının pratik sonucu şudur: arama sonuç sayfası, sitenizde niyeti en yüksek trafiğin indiği ekrandır. Ve bu ekran kötü çalıştığında kimse size şikâyet etmez. Kullanıcı ürünü bulamadığında form doldurmaz, destek hattını aramaz; sekmeyi kapatır ve büyük ihtimalle rakip sitede aynı sorguyu yazar. Kayıp, analytics ekranında çıkış oranı olarak görünür ama sebebi orada yazmaz.
Modülün ilk işlevi bu yüzden ölçmektir: hangi sorgular yazılıyor, hangileri sonuç döndürmüyor, hangi sorguda kullanıcı sonuçlara tıklayıp sepete ekliyor. Bu veri olmadan arama iyileştirmesi tahmin yürütmekten ibarettir.
Klasik LIKE araması nerede kırılıyor?
Çoğu sitede arama, veritabanında tek bir sorgudur: WHERE urun_adi LIKE '%kelime%'. Bu yaklaşımın altı ayrı kırılma noktası vardır ve hepsi Türkçe katalogda daha erken tetiklenir.
- Alaka düzeyi kavramı yoktur. Sorgu ya eşleşir ya eşleşmez. Kelimenin ürün adında mı yoksa açıklamanın ortasında mı geçtiği fark etmez; sonuçlar genellikle kayıt sırasına göre listelenir.
- Çok kelimeli sorgu çöker. Kullanıcı siyah deri ceket yazar, katalogdaki ad Deri Ceket - Siyah'tır. Tam ifade geçmediği için sonuç sıfırdır, oysa ürün oradadır.
- Tek harflik hata affedilmez. parfum yazan kullanıcı parfüm ürünlerini göremez.
- Ekler eşleşmez. ayakkabılar, ayakkabıyı, ayakkabının ve ayakkabı veritabanı için dört ayrı metindir.
- İndeks devre dışı kalır. Baştan joker karakterli bir LIKE, klasik B-tree indeksini kullanamaz ve tablo taramasına düşer. Katalog büyüdükçe en çok istek alan uç nokta en yavaş uç nokta hâline gelir.
- Türkçe küçük harf dönüşümü yanlıştır. Bir sonraki bölümün ilk maddesi.
Hazır altyapılarda durum daha iyidir ama tam değildir. Örneğin Shopify'ın öngörülü arama uç noktası (/search/suggest.json) belgelerinde tanımlandığı üzere bir harflik yazım toleransı ve önek eşleşmesi sunar, kaynak başına en fazla on sonuç döndürür. Bu, sweate yazınca sweater bulmak için yeterlidir; ancak Türkçe ek zincirleri, halk dilindeki eş anlamlılar ve marka yazım varyantları için tasarlanmamıştır.
Türkçe arama neden İngilizceye göre daha zor?
Arama motoru literatürünün büyük kısmı İngilizce üzerine kuruludur: kelimeler kısa, çekim ekleri az, alfabe aksansızdır. Türkçe bu varsayımların hepsini bozar. Modülün en çok mühendislik harcanan tarafı da burasıdır.
1. i / I problemi: en sinsi hata
Türkçe, i harfinin büyüğünün İ, I harfinin küçüğünün ı olduğu ender dillerden biridir. Programlama dillerinin varsayılan küçültme fonksiyonları bu kuralı bilmez. IPHONE.toLowerCase() sonucu iphone verirken, Türkçe yerel ayarıyla çalıştırıldığında ıphone verir. Aynı ayrım veritabanı tarafında da vardır: uygun bir Türkçe karşılaştırma kuralı tanımlanmadığında LOWER() beklediğiniz sonucu üretmez.
Sonuç, hata mesajı üretmeyen bir eşleşmezliktir. Ürün adı bir kuralla, kullanıcı sorgusu başka bir kuralla küçültülür ve arama sessizce boş döner. STools AI Arama bu problemi yerel ayara güvenerek değil, hem indeksleme hem sorgu tarafında aynı deterministik normalizasyonu uygulayarak çözer: iki metin de aynı sadeleştirilmiş harf uzayına taşınır, karşılaştırma orada yapılır.
2. Şapkalı ve aksanlı harfler
â, î, û karakterleri Türkçe kataloglarda tutarsız kullanılır. Aynı mağazada kâğıt ve kağıt, rüzgâr ve rüzgar yazımlarının ikisi birden bulunabilir. Kullanıcı ise neredeyse her zaman şapkasız yazar. Modül, ürün metinlerini indekslerken aksan katlaması uygular; böylece iki yazım da aynı anahtara düşer.
3. Türkçe klavye kullanmayan kullanıcı
Mobilde ve iş bilgisayarlarında Türkçe karakter yazmak zahmetlidir. Kullanıcı çanta yerine canta, gömlek yerine gomlek, şarj yerine sarj yazar. Bu bir yazım hatası değildir; bilinçli bir kısayoldur ve Türkçe e-ticarette sorguların ciddi bir bölümünü oluşturur. ASCII katlaması yapan bir indeks bu sorguları ek bir çaba olmadan yakalar; yapmayan indeks için bunların hepsi sıfır sonuçtur.
4. Sondan eklemeli yapı
Türkçe eklemeli bir dildir. Tek kökten onlarca yüzey formu türer: çanta, çantalar, çantası, çantasını, çantalarda, çantalık. Kullanıcı bunlardan herhangi birini yazabilir, katalogda ise genellikle yalın hâli geçer. Tam kelime eşleştiren bir motor bu formların hiçbirini birbirine bağlayamaz.
Modül burada iki yöntemi birlikte kullanır: ek ayıklama ile kelimeyi yaklaşık köküne indirger, ardından önek eşleşmesi ile aynı kökten türeyen formları aynı kovada toplar. Kural tabanlı kök bulmanın Türkçede tek başına yetersiz kaldığı yerler vardır (ünlü uyumu, ünsüz yumuşaması, kökün kendisiyle biten kelimeler), bu yüzden ayıklama agresif değil temkinli yapılır ve üstüne bulanık eşleştirme katmanı eklenir.
5. Eş anlamlılar ve halk dili
Katalog dili ile müşteri dili aynı değildir. Ürün adı bilgisayar çantası'dır, müşteri laptop çantası yazar. Ürün şarj aleti'dir, müşteri adaptör, şarj kablosu veya doğrudan şarz yazar. Ürün mont'tur, müşteri kaban arar. Bunların hiçbiri yazım hatası değildir; kelime dağarcığı farkıdır ve fuzzy eşleştirme ile çözülemez, çünkü kelimeler harf düzeyinde birbirine benzemez.
Çözüm, mağazaya özel bir eş anlamlı sözlüğüdür. Modül genel bir Türkçe e-ticaret sözlüğüyle gelir, ancak asıl değeri mağazanızın kendi verisinden büyüyen kısmıdır: sıfır sonuç raporunda tekrar eden sorgular, sözlüğe eklenmesi gereken terimlerin listesidir. Bu döngü kurulduğunda arama motoru zamanla mağazanın sektörünü öğrenmiş olur.
6. Marka yazım varyantları
Yabancı marka adları Türkçe klavyede serbestçe deforme olur: Xiaomi için ksiaomi, şaomi, xiomi; Huawei için huaway, hawei; Levi's için levis, livays; Nescafé için neskafe. Bu varyantlar okunuşa dayalıdır, harf mesafesi bazen ikiden büyüktür ve genel bir yazım denetleyicisiyle düzeltilemez. Modül marka alanını ayrı bir varyant tablosuyla eşler; katalogdaki marka listesi senkronize edilirken bilinen okunuş varyantları da bu tabloya bağlanır.
7. Ölçü, beden ve teknik format farkları
Kullanıcı 42 numara yazar, katalogda 42 vardır. 1.5 litre yazar, katalogda 1,5 lt geçer. iphone 15 pro max kılıf yazar, ürün adı Apple iPhone 15 Pro Max Silikon Kılıf'tır. Sayı, birim ve model numarası içeren sorgular kelime tabanlı eşleştirmede sıklıkla kaybolur; ondalık ayırıcı, birim kısaltması ve boşluk kullanımı normalize edilmediğinde her varyant ayrı bir metin olur.
| Türkçe problem | Kullanıcı ne yazıyor | Katalogda ne var | LIKE sonucu | Modülün katmanı |
|---|---|---|---|---|
| i / I dönüşümü | İPHONE | iPhone | Yerel ayara göre boş dönebilir | Deterministik normalizasyon |
| Türkçe karakter yazmama | canta | Çanta | Sonuç yok | ASCII katlaması |
| Şapkalı harf | kagit | Kâğıt | Sonuç yok | Aksan katlaması |
| Çekim eki | ayakkabıları | Ayakkabı | Sonuç yok | Ek ayıklama + önek eşleşmesi |
| Yazım hatası | parfum | Parfüm | Sonuç yok | Bulanık (fuzzy) eşleştirme |
| Eş anlamlı | laptop çantası | Bilgisayar çantası | Sonuç yok | Eş anlamlı sözlüğü |
| Marka varyantı | şaomi | Xiaomi | Sonuç yok | Marka varyant tablosu |
| Kelime sırası | siyah deri ceket | Deri Ceket - Siyah | Sonuç yok | Token bazlı skorlama |
| Kavramsal sorgu | yağmurda giyilecek mont | Su geçirmez parka | Sonuç yok | Anlamsal (vektör) arama |
STools AI Arama nasıl çalışıyor?
Modül tek bir teknikle değil, sıralı katmanlarla çalışır. Alttaki katmanlar ucuz ve hızlıdır, üsttekiler pahalı ama esnektir. Bir sorgu alt katmanda yeterli sonucu buluyorsa üst katmanlar devreye girmez; bu hem hızı hem maliyeti kontrol altında tutar.
- Normalizasyon: Küçültme, aksan ve ASCII katlaması, noktalama temizliği, sayı ve birim düzenlemesi. Hem ürün metinlerine hem sorguya birebir aynı işlem uygulanır.
- Tokenizasyon ve ek ayıklama: Sorgu kelimelere ayrılır, temkinli kök bulma uygulanır, önek eşleşmesiyle aynı kökten türeyen formlar birleştirilir.
- Sözlük genişletme: Eş anlamlılar ve marka varyantları sorguya alternatif olarak eklenir. Bu katman mağazaya özeldir ve panelden düzenlenir.
- Bulanık eşleştirme: Belirli bir düzenleme mesafesindeki (tipik olarak 1-2 harf) kelimeler kabul edilir. Kısa kelimelerde tolerans düşürülür, aksi hâlde kot ile kod birbirine karışır.
- Anlamsal arama: Kelime örtüşmesi olmayan sorgular için ürün metinleri vektöre çevrilir ve sorgu vektörüyle benzerlik hesaplanır. Kışın üşütmeyen ayakkabı gibi tarif tipi sorgular bu katmanda karşılanır.
| Yöntem | Yazım hatası | Çekim eki | Eş anlamlı | Kavramsal sorgu | Hız |
|---|---|---|---|---|---|
| LIKE / ILIKE | Hayır | Hayır | Hayır | Hayır | Katalog büyüdükçe düşer |
| Tam metin arama (full-text) | Hayır | Kısmen | Sözlük tanımlanırsa | Hayır | Yüksek |
| Trigram / bulanık eşleştirme | Evet | Kısmen | Hayır | Hayır | Yüksek |
| Vektör (anlamsal) arama | Kısmen | Evet | Evet | Evet | Orta, indeksleme maliyetli |
| STools AI Arama (hibrit) | Evet | Evet | Evet | Evet | Alt katmanlar önce çalıştığı için yüksek |
Katman sırası bilinçlidir. Anlamsal aramayı tek başına kullanmak cazip görünür ama iki sorunu vardır: model, birbirine yakın ama farklı ürünleri (14 numara ile 41 numara, 128 GB ile 256 GB) aynı bulmaya eğilimlidir ve her sorguda vektör hesabı ek gecikme getirir. Kural tabanlı katmanlar tipik bir katalogda sorguların büyük kısmını zaten çözer; anlamsal katman uzun kuyruk için vardır.
Sıfır sonuç sayfası: kaybı gelire çeviren ekran
Sıfır sonuç, arama motorunun en dürüst metriğidir. Aradığınız ürün bulunamadı yazan boş bir sayfa ise en pahalı ekranıdır, çünkü ziyaretçiye çıkıştan başka bir seçenek sunmaz.
Modül sıfır sonuç durumunu üç aşamada ele alır. Önce sorguyu kurtarmaya çalışır: yazım düzeltmesi önerir, eş anlamlı karşılığı dener, sorguyu kelimelerine bölerek en ayırt edici terimle tekrar arar. Kurtarma başarısız olursa sayfa boş bırakılmaz; aynı kategoriye ait popüler ürünler, ilgili kategori bağlantıları ve iletişim kanalı gösterilir. Üçüncü aşama rapordur: sorgu, tarih ve tekrar sayısıyla birlikte sıfır sonuç listesine düşer.
Bu listenin operasyonel karşılığı nettir. Tekrar eden bir sıfır sonuç sorgusu ya kataloğunuzda olmayan bir talebi, ya ürün adlandırmanızdaki bir eksiği, ya da sözlüğe eklenmesi gereken bir terimi işaret eder. Üçü de aksiyon alınabilir bilgidir.
Sıralama sinyalleri: alaka tek başına yeterli değil
Doğru ürünleri bulmak işin yarısıdır; hangisinin ilk sırada duracağı diğer yarısıdır. Modül alaka skorunu taban alır, üzerine iş sinyallerini çarpan olarak uygular:
- Stok durumu: Tükenmiş ürün ilk sıralarda yer almaz. Tamamen gizlemek yerine aşağı çekmek tercih edilir; tekrar gelecek ürünlerde talep sinyali korunmuş olur.
- Popülerlik ve satış hızı: Son dönemde çok satan ürün öne çıkar. Ağırlığı sınırlıdır, aksi hâlde yeni ürünler hiç görünmez.
- Sorgu bazlı tıklanma: Aynı sorguda tıklanan ve sepete eklenen ürünler yükselir. Bu, mağazanızın kendi verisinden beslenen en güçlü sinyaldir.
- Kâr marjı: Alaka düzeyi eşit olan ürünler arasında marjı yüksek olan öne alınabilir. Bunun kritik kuralı şudur: marj ağırlığı hiçbir zaman alaka sıralamasını ters çevirecek kadar yükseltilmemelidir.
- İade oranı: Sürekli iade edilen ürünler aşağı çekilir; düşük hacimli üründe bu sinyal istatistiksel olarak güvenilmez olduğundan eşik uygulanır.
Sıralamayı ticari sinyallerle fazla zorlamak kısa vadede sepet tutarını artırabilir, uzun vadede arama kutusunu işlevsiz hâle getirir. Kullanıcı aradığını ilk ekranda göremediğinde bir daha aramaz.
Arama verisinden hangi kararlar çıkar?
Arama kayıtları, ziyaretçilerinizin kendi kelimeleriyle yazdığı bir talep listesidir. Modülün raporları bu listeyi dört başlıkta kullanılabilir hâle getirir:
- Ürün kararı: Kataloğunuzda olmayan ama düzenli aranan ürünler, tedarik listenizin ilk sırasıdır. Talep zaten kanıtlanmıştır.
- Adlandırma kararı: Ürününüz var ama sorgu onu bulamıyorsa problem katalogda değil, ürün adında veya etiketlerindedir. Müşterinin kullandığı terimi ürün adına taşımak hem aramayı hem SEO tarafını düzeltir.
- Kampanya kararı: Arama hacmi yükselen terimler, sezon dönüşünü satış rakamlarından önce haber verir.
- İçerik kararı: Tarif tipi sorgular (hangi beden almalıyım, makinede yıkanır mı) blog ve ürün açıklaması ihtiyacını gösterir.
Bu yaklaşımın teorik tarafını ve platformdan bağımsız uygulama detaylarını site içi arama optimizasyonu rehberinde ayrıntılı olarak bulabilirsiniz.
Hangi altyapılarda çalışır, katalog nasıl senkronize edilir?
Modül, her platformun kendi resmî API'si üzerinden katalog verisini çeker ve arama indeksini bu veriden oluşturur. Sitenizin teması ile arama katmanı birbirinden bağımsızdır; tema güncellemesi indeksi bozmaz.
| Altyapı | Bağlantı yöntemi | İndekslenen alanlar |
|---|---|---|
| Ikas | Ikas API (client id ve client secret ile yetkilendirme) | Ürün adı, açıklama, marka, kategori, varyant, stok, fiyat |
| Shopify | Shopify Admin API (özel uygulama erişim anahtarı) | Ürün adı, açıklama, ürün tipi, satıcı, etiketler, varyant, stok, fiyat |
| Ticimax | Ticimax SOAP web servisleri (mağaza token'ı) | Ürün adı, açıklama, marka, kategori, varyant, stok, fiyat |
| T-Soft | T-Soft REST API (erişim anahtarı) | Ürün adı, açıklama, marka, kategori, varyant, stok, fiyat |
Senkron iki modda çalışır: tam senkron tüm kataloğu yeniden okur, artımlı senkron yalnızca değişen kayıtları günceller. Sıklık mağaza bazında ayarlanır; tipik yapılandırma günde bir tam senkron ve gün içinde stok ile fiyat için artımlı güncellemedir. Kampanya dönemlerinde veya hızlı tükenen kataloglarda artımlı senkron sıklığı artırılır. Doğru kurulmuş bir arama katmanının değişmez kuralı şudur: katalog değişip indeks değişmiyorsa kullanıcı olmayan ürünü görür, olan ürünü göremez.
Ön yüz tarafında modül, sitenize eklenen tek bir script etiketiyle çalışır. Mevcut arama kutunuzu devralır; ayrı bir arama sayfası tasarlamanız veya tema dosyalarınızı elden geçirmeniz gerekmez. Script asenkron yüklendiği için sayfa açılış hızını etkilemez; bu konuyu mağaza hızlandırma rehberinde ayrıca ele alıyoruz.
Modülün yapmadıkları
Bir ürün sayfasının en faydalı bölümü genelde budur. STools AI Arama bir arama ve sıralama katmanıdır; kataloğunuzu düzeltmez. Ürün adları tutarsız, kategori yapısı karışık, varyant bilgileri eksikse arama motoru bu eksikleri gizler ama gidermez. Modül ayrıca ürün açıklaması yazmaz, fiyatlandırma önerisi vermez ve stok yönetimi yapmaz.
Anlamsal katman da sihirli değildir: mağazanızda olmayan bir ürünü var gibi göstermez ve teknik olarak birbirine çok yakın ürünleri (aynı modelin farklı hafıza seçenekleri gibi) ayırt etmek için doğru yapılandırılmış varyant verisine ihtiyaç duyar. Kataloğu düzenli tutmak, aramanın ne kadar iyi çalışacağını belirleyen ilk faktördür.