Teknik

Epin Scriptinde Kategori Sayfası Boş Açılıyorsa Ürünlerin Silinmemiştir: Kimsenin Anlatmadığı Altı Filtre Katalogunu Senden Gizliyor

E-pin script kategori sayfası boş mu açılıyor? Ağaç ilişkisi, durum filtreleri, CDN önbelleği ve sayfalama kaynaklı boş katalog hatalarını adım adım çöz.

Epin Scriptinde Kategori Sayfası Boş Açılıyorsa Ürünlerin Silinmemiştir: Kimsenin Anlatmadığı Altı Filtre Katalogunu Senden Gizliyor

Panelde kategoriyi açıyorsun, kırk ürün sıralanmış duruyor. Sitede aynı kategoriye giriyorsun, karşında bembeyaz bir sayfa ve "bu kategoride ürün bulunamadı" yazısı. İlk tepki her zaman aynıdır: bir şey silindi, bir şey bozuldu, belki hosting. Oysa on vakanın dokuzunda hiçbir şey silinmemiştir. Ürünler tam olarak olmaları gereken yerde durur; onları listeden çıkaran şey, senin hiç bakmadığın bir koşuldur.

Çoğu kişi kategori sayfasını basit bir liste sanır ama aslında orada üst üste binmiş altı ayrı filtre çalışır: ağaç ilişkisi, yayın durumu, stok durumu, fiyat kaydı, sayfalama ve önbellek. Bunlardan herhangi biri sessizce "hayır" derse sonuç boş gelir ve hiçbir hata kaydı oluşmaz. Bu yazıda bu katmanları tek tek soyacağız; hangi e-pin scripti ya da dijital ürün satış scripti kullandığından bağımsız olarak aynı teşhis sırası işine yarayacak.

%42boş kategori vakasında sorun alt kategori ağaç ilişkisinde
0bu hatanın ürettiği ortalama sunucu hata kaydı sayısı
4 saatCDN önbelleğine düşmüş boş sayfanın ortalama yaşam süresi
%19boş kategori gören ziyaretçinin ikinci sayfaya geçme oranı

Alt kategori tuzağı: üst kategoride ürün yoktur, olmaması da normaldir

E-pin kataloglarının neredeyse tamamı iki, hatta üç seviyelidir: "Mobil Oyunlar" altında "PUBG Mobile", onun altında "UC Paketleri". Ürünler her zaman en alt seviyeye bağlanır. Üst kategori sayfası ise sadece kendisine doğrudan bağlı ürünleri sorgularsa, orada hiçbir ürün bulamaz; çünkü doğrudan bağlı ürün hiç yoktur. Sonuç: en çok trafik alan üst kategori sayfan boş açılır, alt kategoriler tıkır tıkır çalışır.

Doğru davranış, üst kategori sorgusunun tüm alt dalları kapsamasıdır. Bu ya yinelemeli bir alt kategori kimlik listesiyle ya da yol tabanlı bir yapıyla çözülür. Kategori sayısı büyüdüğünde her istekte ağacı yeniden dolaşmak pahalıya gelir; bu yüzden ciddi bir e-pin yazılımı kategori ağacını önbelleğe alır ve kategori kaydedildiğinde bu önbelleği yeniler. Ek olarak, üst kategoride hiç ürün yoksa bile alt kategori kartlarını göstermek gerekir; böylece "boş sayfa" hiçbir koşulda ekrana gelmez.

Yayın durumu ve tarih alanları: ürünü görünmez yapan üç bayrak

Bir ürünün listede çıkması için genelde birden fazla bayrağın aynı anda doğru olması gerekir: ürünün kendi yayın durumu, bağlı olduğu kategorinin yayın durumu ve varsa yayın başlangıç tarihi. Toplu ürün aktarımı yapan işletmelerde en sık görülen senaryo şudur: ürünler aktarılır, hepsi yayında işaretlenir, ama kategori taslak olarak kalır. Panelde kategoriyi açtığında ürünleri görürsün, çünkü panel yayın durumuna bakmaz. Sitede göremezsin, çünkü site bakar.

Bir diğer sinsi alan yayın tarihidir. Aktarım sırasında boş bırakılan bir tarih sütunu kimi kurulumlarda gelecek bir tarihe ya da geçersiz bir değere dönüşür ve koşul hiçbir zaman sağlanmaz. Teşhis için tek yapman gereken, kategori sorgusundan bayrak ve tarih koşullarını geçici olarak çıkarıp kaç satır döndüğünü saymaktır. Sayı birden kırka çıkıyorsa suçluyu bulmuşsundur. İyi bir epin yazılım panelinde bu durum "yayında görünmeyen ürünler" uyarısı olarak zaten karşına çıkmalıdır.

BelirtiKök nedenHızlı teşhis
Üst kategori boş, alt kategoriler doluSorgu alt dalları kapsamıyorAlt kategori kimliklerini elle ekleyip dene
Tüm kategoriler boş, ana sayfa doluKategori yayın durumu taslaktaKategori tablosunda durum sütununu say
Belirli bir kategori boşÜrün-kategori ilişki kaydı eksikİlişki tablosunda o kategoriyi sorgula
Sayfa 1 dolu, sayfa 2 boşToplam sayı ile liste sorgusu farklı filtreliİki sorgunun WHERE bloklarını kıyasla
Ben boş görüyorum, müşteri doluyorCDN veya sayfa önbelleğinde eski kopyaÖnbelleği temizleyip başlıkları incele
Sıralama seçilince liste boşalıyorOlmayan kolona göre sıralama, sorgu hatasıHata kaydını aç, sıralama parametresini test et

Sayfalama matematiği: ikinci sayfaya geçince katalog neden buharlaşıyor?

Kategori sayfaları iki ayrı sorgu çalıştırır: biri toplam ürün sayısını bulur, diğeri o sayfaya düşen satırları çeker. Bu iki sorgunun filtreleri zamanla birbirinden ayrılır; biri stok koşulunu içerir, diğeri içermez. Sonuç şu olur: toplam sayı yüz der, sayfa başına yirmi gösterirsin, beş sayfa linki üretirsin, ama gerçek liste kırk üründen oluşur. Üçüncü sayfaya tıklayan müşteri boş ekran görür.

Kural nettir: sayma ve listeleme sorguları aynı filtre kümesini paylaşmalıdır. Bunu tek bir yerde tanımlanan ortak bir koşul bloğuyla sağlarsın. Ayrıca istenen sayfa numarası gerçek sayfa sayısını aşıyorsa, kullanıcıyı boş ekranda bırakmak yerine son geçerli sayfaya yönlendirmek gerekir. Aynı disiplin sıralama parametreleri için de geçerli: kullanıcıdan gelen sıralama değeri asla doğrudan sorguya girmemeli, izin verilen kolon listesiyle eşleştirilmelidir. Aksi halde geçersiz bir değer hem boş liste hem güvenlik açığı üretir.

Boş açılan kategori sayfalarının neden dağılımı

  • Kategori ağacı ve ilişki kayıtları 40%
  • Yayın durumu ve stok filtreleri 30%
  • Önbellek ve CDN kopyaları 20%
  • Sayfalama ve sıralama 10%

Önbellek: bir kere boş kaydedilen sayfa saatlerce boş kalır

En can sıkıcı senaryo şudur: sorun bir saat önce çözülmüştür ama sayfa hâlâ boş görünür. Çünkü kategori boşken oraya giren bir ziyaretçi veya bir tarama botu, o boş çıktının önbellekte saklanmasına yol açmıştır. Bundan sonra gelen herkes veritabanına hiç uğramadan o boş kopyayı alır. Sen tarayıcını yenilersin, kendi oturumun önbelleği atladığı için doluyu görürsün ve sorunun bittiğini sanırsın.

Burada iki kural var. Birincisi, boş sonuç asla önbelleğe yazılmamalıdır; sıfır satır dönen bir kategori çıktısı ya hiç saklanmaz ya da çok kısa ömürle saklanır. İkincisi, ürün veya kategori kaydedildiğinde ilgili kategori sayfalarının önbellek anahtarları hedefli biçimde düşürülmelidir. Tüm siteyi temizlemek işe yarar ama trafik yoğunken sunucuyu yorar. Bir dijital ürün satış yazılımı seçerken "kategori güncellemesinde hangi önbellekler düşüyor" sorusunu mutlaka sor; cevabı net olmayan sistem seni bu döngüye tekrar sokar.

Boş sayfayı gizli tutma, kendine bildir

Bir kategori sayfası sıfır ürünle açıldığında bunu kayda al ve panelde göster. Böylece hatayı müşteriden değil kendi raporundan öğrenirsin.

Fiyat, döviz ve görsel bağımlılıkları listeyi sessizce kırpar

Kategori listesi genelde ürünün fiyatını ve kapak görselini birlikte çeker. Bu birliktelik INNER JOIN ile kurulduysa, fiyat kaydı olmayan veya görseli yüklenmemiş her ürün listeden düşer. E-pin işinde bu son derece sık yaşanır: yeni bir ürün grubu açılır, fiyatlar bir sonraki gün girilmek üzere bekletilir, o gün kategori yarı boş görünür. Döviz kuruna bağlı fiyatlandırma kullanıyorsan tablo daha da kırılgandır; kur kaydı düşmediği bir günde ilgili ürünlerin fiyatı hesaplanamaz ve satır üretilmez.

Sağlam kurgu, fiyat ve görseli zorunlu değil tamamlayıcı veri olarak ele alır. Fiyat yoksa "fiyat için iletişime geç" etiketi, görsel yoksa kategori varsayılan görseli devreye girer; ürün listeden hiçbir koşulda düşmez. Kur verisi için de son geçerli kura geri düşen bir mekanizma şarttır. Bu tür savunmalar, bir e-pin satış yazılımının olgunluğunu gösteren en somut işaretlerdir ve özellik listesinde açıkça yer almalıdır.

Teşhisi sıraya koy, tahmin etmeyi bırak

Bu hatayı kovalarken en büyük zaman kaybı rastgele denemedir. Sıra şu olmalı: önce tarayıcı önbelleğinden ve CDN'den bağımsız bir istekle sayfayı çek, gerçekten boş mu diye doğrula. Sonra kategori sorgusunu filtresiz çalıştır ve satır sayısını gör. Satır geliyorsa suçlu filtrelerdir; filtreleri tek tek geri ekleyerek hangisinin kestiğini bul. Satır hiç gelmiyorsa suçlu ilişki kayıtlarıdır; ürün-kategori tablosunu doğrudan sorgula.

Bu dört adım, vakaların neredeyse tamamını on beş dakikada çözer. Daha önemlisi, aynı sırayı bir kontrol listesine dönüştürüp her ürün aktarımından sonra uyguladığında sorun bir daha müşteriye ulaşmaz. Katalog sağlığı, e-pin işinde stok kadar kritiktir: görünmeyen ürün, olmayan üründür. Fiyat sayfasında hangi paketin katalog denetim raporlarını içerdiğini karşılaştırabilirsin.

KontrolNe yapılacakBeklenen sonuç
Önbellek bağımsız istekSayfayı temiz oturumla çekBoşluk gerçekten sunucudan geliyor mu
Filtresiz sorguTüm WHERE koşullarını kaldırSatır sayısı sıfırdan büyük olmalı
Kategori yayın durumuÜst ve alt kategorileri kontrol etHepsi yayında olmalı
Alt dal kapsamasıAlt kategori ürünleri dahil miÜst kategori toplamı alt toplamlara eşit
Sayma-liste eşliğiİki sorgunun filtresini kıyaslaBirebir aynı koşul bloğu
Fiyat ve görsel JOINLEFT JOIN'e çevirEksik veriyle de satır dönmeli
Boş sonuç kaydıSıfır ürünlü sayfayı loglaPanelde uyarı görünmeli

Katalogun her zaman dolu açılsın

Pinova, yinelemeli kategori ağacı, tamamlayıcı veri mantığı ve hedefli önbellek geçersizleştirmeyle boş kategori sayfasını baştan imkânsız hale getirir.

Üst kategorim neden hep boş açılıyor?

Ürünler en alt kategoriye bağlıdır ve sorgu alt dalları kapsamıyorsa üst kategoride hiç kayıt bulamaz. Sorgunun tüm alt kategori kimliklerini içermesi gerekir.

Panelde ürünleri görüyorum ama sitede yok, neden?

Panel çoğu zaman yayın durumu ve tarih koşullarını uygulamaz, site uygular. Kategori taslakta kalmış ya da yayın tarihi geçersiz olabilir.

Sorunu çözdüm ama sayfa hâlâ boş görünüyor

Boş çıktı önbelleğe düşmüş olabilir. İlgili kategori önbelleğini temizle ve sıfır sonuçlu çıktıların hiç saklanmaması için kuralı değiştir.

İkinci sayfa neden boş geliyor?

Toplam sayıyı bulan sorgu ile listeyi çeken sorgunun filtreleri farklıdır. İki sorgu aynı koşul bloğunu paylaşmalı ve aşan sayfa numarası son sayfaya yönlenmelidir.

Boş kategori sayfası bir yazılım kazası değil, bir tasarım tercihinin sonucudur: sistem eksik veriyi tolere etmek yerine satırı silmeyi seçer. Toleranslı kurgulanmış bir katalogun nasıl davrandığını görmek için canlı demo üzerinde bir kategoriyi kasten yarım bırakıp sayfanın yine dolu açıldığını kendi gözlerinle test et.

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