Teknik

Epin Satış Paneli Etiket ve Filtre Sistemi: Binlerce Ürünü Saniyede Bulduran Gizli Mimariyi ve Çoğu Panelin Neden Yavaşladığını Açıklıyorum

Epin satış panelinde etiket ve filtre mimarisi: etiket-kategori farkı, çoklu seçim, indeks stratejisi, sorgu performansı ve yönetilebilir taksonomi rehberi.

Epin Satış Paneli Etiket ve Filtre Sistemi: Binlerce Ürünü Saniyede Bulduran Gizli Mimariyi ve Çoğu Panelin Neden Yavaşladığını Açıklıyorum

Çoğu kişi filtreyi kullanıcı arayüzünün süsü sanır. Sol tarafa birkaç kutucuk koy, fiyat aralığı ekle, bitti. Oysa filtre bir arayüz bileşeni değil, veri modelinin dışa vuran yüzüdür. Panelinde ürünleri nasıl etiketlediğin, kullanıcının neyi ne kadar hızlı bulabileceğini ve sunucunun bu işi kaç milisaniyede yapacağını doğrudan belirler. Yüzlerce ürüne kadar hiçbir sorun görünmez; iki bin ürünü geçtiğinde ise aynı kod aniden yavaşlar, sayfa saniyelerce beklenir ve kimse nedenini anlayamaz.

Gerçek şu ki yavaşlama bir sunucu problemi değil, bir taksonomi problemidir. Etiket sistemini yanlış kurduğunda her filtre tıklaması veritabanında dev bir birleştirme sorgusuna dönüşür. Doğru kurduğunda ise aynı sorgu tek bir indeks taramasıyla biter. Bu yazıda bir e-pin satış scripti içinde etiket ve filtre mimarisini nasıl kuracağını, hangi ayrımların mutlaka yapılması gerektiğini ve performansı ölçerken nereye bakacağını teknik ama anlaşılır biçimde anlatacağım.

200 msFiltre sonucunun dönmesi gereken üst sınır
4-6Aynı anda gösterilecek ideal filtre grubu sayısı
%48Filtre kullanan ziyaretçilerin dönüşüm avantajı
2.000+Ürün sayısı: naif sorgunun çöktüğü eşik

Etiket ile kategori arasındaki fark tam olarak nedir?

Bu ayrım yapılmadığında her şey bulanıklaşır. Kategori hiyerarşiktir, tekildir ve ürünün ne olduğunu söyler; bir ürün ağaçta bir yere aittir. Etiket ise düzdür, çoğuldur ve ürünün nasıl olduğunu söyler: bölge kısıtı, teslimat tipi, platform uyumu, kampanya durumu, hedef kitle. Bir ürün tek bir kategoriye ait olabilir ama on etiket taşıyabilir. Bu ayrımı yapmayanlar her nitelik için yeni kategori açar; ağaç şişer, her kategori zayıflar, yönetim imkânsızlaşır. Pratik kural şudur: bir nitelik iki farklı kategori altındaki ürünlerde aynı anda geçerliyse, o bir kategori değil etikettir. "Anında teslimat" hem oyun bakiyesinde hem abonelikte geçerlidir; demek ki etikettir.

Etiketleri kim ve nasıl tanımlamalı?

Serbest metin etiket, kısa vadede hızlıdır ve uzun vadede felakettir. Üç ay sonra panelinde "anında teslim", "Anında Teslimat", "otomatik teslimat" diye üç ayrı etiket olur ve filtre hiçbirini doğru toplamaz. Çözüm, etiketleri gruplara bağlı sözlükler olarak tanımlamaktır. Önce etiket grubu açılır (örneğin "Teslimat Tipi"), sonra o grubun izin verilen değerleri belirlenir (Otomatik, Manuel, Ön Sipariş). Ürün eklerken kullanıcı serbest yazmaz, listeden seçer. Bu yapı hem tutarlılığı garanti eder hem de filtre arayüzünü otomatik üretmeni sağlar: her grup bir filtre bloğu, her değer bir seçenek olur. Ayrıca yeni bir nitelik eklemek istediğinde koda dokunmadan yalnızca sözlüğe satır eklersin.

Etiket GrubuÖrnek DeğerlerSeçim TipiFiltrede Gösterim
Teslimat tipiOtomatik, Manuel, Ön siparişÇokluKutucuk listesi
BölgeTR, Global, EU, NAÇokluKutucuk listesi
PlatformPC, Mobil, KonsolÇokluRozet grubu
Stok durumuStokta, TükendiTekliAnahtar
Fiyat aralığıSayısalAralıkKaydırıcı
Kampanyaİndirimli, Yeni, Çok satanÇokluHızlı filtre çipi

Filtre sorgusu neden yavaşlar ve nasıl hızlanır?

Klasik kurulumda ürün ile etiket arasında bir ara tablo bulunur. Kullanıcı üç farklı gruptan filtre seçtiğinde naif çözüm bu ara tabloyu üç kez birleştirmektir. Ürün sayısı arttıkça birleştirme maliyeti çarpan etkisiyle büyür. İlk çözüm, ara tabloda doğru bileşik indeksi kurmaktır: etiket kimliği ve ürün kimliği birlikte indekslendiğinde tarama dramatik biçimde küçülür. İkinci çözüm, VE mantığıyla çalışan çoklu filtrelerde birleştirme yerine gruplama ve sayma yaklaşımını kullanmaktır; seçilen etiketlerin tamamını taşıyan ürünleri tek geçişte bulursun. Üçüncü ve en etkili çözüm, sık kullanılan filtre kombinasyonlarının sonucunu önbelleğe almaktır. Kullanıcıların yüzde sekseni aynı beş-altı kombinasyonu kullanır; bunları hafızada tutmak veritabanı yükünün büyük kısmını sıfırlar.

Filtre sorgusunda geçen sürenin dağılımı

  • Etiket birleştirme sorgusu 50%
  • Sonuç sayacı hesabı 25%
  • Sıralama ve sayfalama 15%
  • Arayüz oluşturma 10%

Sonuç sayaçları gerçekten gerekli mi?

Filtre seçeneklerinin yanında kaç ürün olduğunu gösteren sayaçlar kullanıcı deneyimi açısından değerlidir; boş sonuç hayal kırıklığını önler. Ama teknik olarak en pahalı parçadır, çünkü her seçenek için ayrı bir sayım gerekir. Burada iki pratik yaklaşım var. Birincisi, sayaçları yalnızca ilk yüklemede hesaplamak ve kullanıcı filtre değiştirdiğinde güncellememek; tutarlılık biraz düşer ama hız korunur. İkincisi ve daha doğru olanı, sayaçları asenkron hesaplamaktır: liste hemen gelir, sayaçlar birkaç yüz milisaniye sonra yerine oturur. Üçüncü seçenek ise sayacı tamamen kaldırıp bunun yerine sonuç vermeyecek seçenekleri pasifleştirmektir; çoğu kullanıcı için bu yeterlidir ve maliyeti çok daha düşüktür.

Filtre adreslerini indekse kapatmayı unutma

Her filtre kombinasyonu benzersiz bir adres üretir. Bunlar açık bırakılırsa arama motoru binlerce neredeyse aynı sayfayı tarar ve tarama bütçen gerçek ürün sayfalarına yetmez. Yalnızca kalıcı olarak hedeflediğin kırılımlar indekse açık kalmalıdır.

Yönetici tarafında etiketleme yükü nasıl azalır?

Teknik mimari kusursuz olsa bile, her ürünü elle etiketlemek zorundaysan sistem çalışmaz. Dört yüz ürünlük bir katalogda tek tek etiket atamak günler alır ve tutarsızlık üretir. Bu yüzden panelde üç yetenek şarttır: toplu seçimle etiket atama, kurala bağlı otomatik etiketleme (örneğin belirli bir tedarikçiden gelen tüm ürünlere teslimat tipi otomatik atanır) ve içe aktarma sırasında sütun eşleme. Bunlara ek olarak etiket birleştirme özelliği hayat kurtarır: yanlışlıkla oluşmuş iki benzer etiketi tek etikete birleştirip ürün bağlarını otomatik taşırsın. Bir dijital ürün satış yazılımı değerlendirirken bu dört maddeyi mutlaka sor; çoğu panelde filtre arayüzü vardır ama yönetim tarafı zayıftır ve asıl maliyet oradadır.

Kontrol MaddesiNeden ÖnemliTest YöntemiHedef
Etiketler sözlükten mi seçiliyor?Yazım tutarsızlığını önlerÜrün ekleme ekranını inceleZorunlu
Ara tabloda bileşik indeks var mı?Sorgu süresini belirlerSorgu planını inceleZorunlu
Çoklu filtre 200 ms altında mı?Kullanıcı algısı eşiği3 grup seçip süre ölçZorunlu
Filtre adresleri indekse kapalı mı?Tarama bütçesi korunurRobot kurallarını doğrulaZorunlu
Toplu etiket atama var mı?Operasyon süresini kısaltır50 ürün seçip deneYüksek
Etiket birleştirme mümkün mü?Kirlenmiş veriyi temizlerİki etiketi birleştirmeyi deneYüksek
Mobilde filtre paneli kullanılabilir mi?Trafiğin çoğu mobilGerçek cihazda testYüksek

Pinova bu mimariyi nasıl ele alıyor?

Pinova e-pin satmaz; e-pin ve dijital ürün satan işletmelerin kullandığı lisanslı bir yazılımdır. Bu yüzden etiket sistemi bir görsel özellik olarak değil, veri katmanının parçası olarak kurgulanmıştır: gruplara bağlı etiket sözlüğü, çoklu seçim mantığı, indekslenmiş ilişki tablosu ve yönetici tarafında toplu işlem araçları birlikte gelir. Sen yalnızca hangi niteliklerin filtre olarak görüneceğine karar verirsin; arayüz bu tanımlardan otomatik üretilir. Yeni bir etiket grubu eklediğinde şablon dosyasına dokunman gerekmez. Modüllerin tam listesini özellikler bölümünde, lisans paketlerini ise fiyat tablosunda görebilir, satın alma adımına panel sayfasından geçebilirsin.

Filtren hızlıysa kataloğun büyüyebilir

Sözlük tabanlı etiketleme, indekslenmiş ilişki yapısı ve toplu yönetim araçlarıyla binlerce ürünü rahatça taşı.

Etiket sayısının bir üst sınırı var mı?

Teknik bir sınır yoktur ama yönetilebilirlik açısından grup başına on beş değeri aşmamak iyidir. Daha fazlası olduğunda filtre arayüzü kullanılamaz hale gelir ve arama kutusu daha verimli olur.

Filtreler VE mi VEYA mı çalışmalı?

Aynı grup içindeki seçimler VEYA, farklı gruplar arası seçimler VE mantığıyla çalışmalıdır. Kullanıcı beklentisi budur; tersi kurulduğunda sonuç listesi mantıksız görünür.

Filtre sonuçlarını önbelleğe alırsam stok yanlış görünür mü?

Önbelleği ürün listesi seviyesinde tutup stok bilgisini ayrı ve taze çekersen sorun olmaz. Kısa süreli önbellek süresi de bu riski büyük ölçüde kapatır.

Mevcut ürünlerimi toplu etiketleyebilir miyim?

Evet. Toplu seçim, kurala bağlı otomatik atama ve içe aktarma sırasında sütun eşleme ile yüzlerce ürün tek seferde etiketlenebilir.

Etiket ve filtre sistemi, dışarıdan bakınca küçük bir arayüz detayı gibi durur ama aslında kataloğunun ne kadar büyüyebileceğini belirleyen tavandır. İyi kurulmuş bir e-pin satış scripti bu tavanı yukarı taşır; kötü kurulmuş olan seni beş yüz üründe sıkıştırır. Anlattığım grup-sözlük yapısının ve çoklu filtre davranışının gerçek panelde nasıl çalıştığını denemek için canlı demo üzerinden birkaç filtreyi üst üste seçip sonuç hızını kendin ölçebilirsin.

Daha Fazlasını Keşfedin

Dijital ürün satışı ve otomasyon üzerine güncel rehberlere göz atın.

Tüm Yazıları Gör →
Bu yazıyı paylaşın
Bu yazıyı beğendiniz mi?
Teşekkürler!
← Tüm yazılar