# Boost Kuralları

Ürün öne çıkarma ve gömme
Kaynak: https://selwise.com/docs/search/boost-rules

Arama, hangi ürünün önce geleceğine kendi alaka puanına göre karar verir. Sıralama kuralı, sizin daha iyi bildiğiniz yerde bu kararı değiştirir: ürünleri yükseltir, aşağı iter veya belirli bir sıraya sabitler.

## Panelde nerede

**Kişiselleştirme → Arama → Content → Search ranking rules** (Personalization → Search) (TR: Arama sıralama kuralları; Overview sekmesindeki **Boost Rules** kartı da aynı ekrana gider). Sağ üstteki **New rule** (Yeni kural) düğmesi yeni kural açar. Üstte kuralın "x / sınır" sayacı, listede kural adlarına ve desenlere göre arama kutusu bulunur.

## Bir kural üç soruyu yanıtlar

Kural editörü üç adımdan oluşur; bir de kuralın adı ve gelişmiş ayarlar vardır.

| Adım | Soru |
|---|---|
| 1 — **When should this rule run?** | Her aramada mı, belirli aramalarda mı? |
| 2 — **What should it do?** | Hangi ürünler yükselsin, aşağı insin veya sabitlensin? |
| 3 — **Does it work?** | Gerçek bir arama kelimesiyle deneyin |

**Rule name** (Kural adı) yalnızca sizin içindir (en fazla 100 karakter); listede tanıyacağınız bir ad verin. Üçüncü adım isteğe bağlı değil, kuralı yazarken bakmanız gereken yerdir — bkz. aşağıdaki [Kuralı denemek](#kuralı-denemek).

## Ne zaman çalışsın

- **Every search** (Her aramada): müşteri ne yazarsa yazsın kural uygulanır. Genel kurallar içindir: "stokta olmayanlar hep altta kalsın" gibi.
- **Certain searches** (Belirli aramalarda): **Search term** (arama kelimesi, en fazla 255 karakter) yazarsınız ve **Matching** ile eşleşmeyi seçersiniz: **Contains the term** (kelimeyi içeren; `ruj` yazarsanız "kırmızı ruj" da eşleşir) ya da **Exactly the term** (tam olarak o kelime). Düzenli ifade (**Regular expression (advanced)**) yalnızca **Advanced settings** açıkken seçilebilir; ihtiyacınız yoksa açmayın.

Eşleşme, aramanın küçük harfe çevrilmiş hâline göre yapılır ve büyük/küçük harf fark etmez. Kuralın ne dediği, deseninizin altında yazılı bir cümleyle özetlenir.

## Üç işlem tipi

Bir kural en fazla **20 işlem** içerebilir (hepsinin toplamı); sınıra gelince ekleme düğmeleri kapanır ve nedeni yazılır. Bir işlemi **Raise** / **Push down** / **Pin** seçicisiyle değiştirebilirsiniz; her işlemin altında ne yaptığı bir cümleyle okunur.

### Yükselt (Raise)

Bir koşula uyan ürünlerin sıralama puanını çarpanla artırır.

```
Brand  is  Kiko  →  Medium (2×)
```

Kiko ürünleri diğerlerine göre daha üstte çıkar; ama alakasız bir ürün yine de üste çıkmaz. Yükseltme sıralamayı **etkiler**, dayatmaz.

Güç üç hazır seçenekle gelir: **Light** (1,5×), **Medium** (2×), **Strong** (3×). Kendi çarpanınızı yazmak için **Custom** seçin; 1,01× ile 10× arasında olmalıdır.

### Aşağı it (Push down)

Yükseltmenin tersi. Ürünleri sonuçların altına iter ama tamamen gizlemez.

```
In stock  is  No  →  Strong (0.2×)
```

Tükenen ürünler, düşük marjlı kategoriler veya sezon dışı ürünler için kullanılır. Güç: **Light** (0,7×), **Medium** (0,5×), **Strong** (0,2×); **Custom** 0,01× ile 0,99× arasında.

### Sabitle (Pin)

Belirli bir ürünü belirli bir sıraya yerleştirir. **Choose a product** (Ürün seç) düğmesi ürün seçicisini açar; kuralın bir arama kelimesi varsa seçici o kelimenin ürünleriyle açılır, ürün adı, ürün kodu ya da SKU ile de arayabilirsiniz. Seçilen ürün satırda görseli, adı, kodu ve fiyatıyla görünür; **Change** (Değiştir) ile başka bir ürün seçersiniz. Kural ürünün mağaza kodunu (SKU'su, yoksa ürün kodu) saklar. **Position** (sıra) 1 ya da daha büyük bir tam sayıdır; 1 ilk sıradır.

Sabitleme bir **öne çıkarmadır**: ürün, o aramanın sonuçlarında hiç olmasa bile kural çalıştığında istediğiniz sıraya konur. Örneğin "oslo" aramasına başka bir markanın makinesini 1. sıraya sabitleyebilirsiniz. Tek sınır müşterinin süzgeçleridir: müşteri bir fiyat aralığı, stok ya da kategori seçtiyse ve sabitlenen ürün buna uymuyorsa ürün eklenmez; kanalda stokta olmayanları gizleme açıksa stokta olmayan ürün de eklenmez. Arama kelimesinin ürünlerinden biri değilse sonuç sayısı bir artar.

> **Every search ile sabitleme her aramaya ekler**
>
> **Every search** (Her aramada) kapsamıyla bir ürünü sabitlerseniz, ürün müşterinin yazdığı **her** aramada o sırada çıkar, ilgisiz aramalar dahil. Bir ürünü öne çıkarmak istediğiniz aramalar belliyse kuralı **Certain searches** ile o kelimelere sınırlayın. Sırayı **Does it work?** adımında deneyin: sabitlenen ürün orada **pinned** etiketiyle görünür, aramanın kendi bulmadığı bir ürünse **new** yazar.

Kataloğunuzda artık olmayan bir ürün sabitlenmişse satır bunu söyler; o sabitleme hiçbir aramada çalışmaz.

## Birden fazla kural aynı aramaya uyarsa

Bir aramaya uyan **tüm** kuralların işlemleri birlikte uygulanır; biri diğerini iptal etmez.

- **Yükseltme ve aşağı itme çarpılır.** Bir ürün hem **Medium** (2×) bir yükseltmeye hem **Light** (1,5×) bir yükseltmeye uyarsa puanı 3× olur; bir yükseltme ve bir aşağı itmeye birlikte uyarsa çarpanlar birbiriyle çarpılır. Sıralamada önemli olan çarpanların sırası değil toplam çarpandır.
- **Sabitlemeler** çarpanlardan sonra, küçük sıradan büyüğe uygulanır; böylece bir sabitleme bir öncekini yerinden kaydırmaz. İki kural aynı sıraya farklı ürün sabitlerse o sırayı yüksek öncelikli kuralın ürünü alır, diğeri bir alta iner.
- **Priority** (Öncelik; **Advanced settings** altında) yalnızca aynı sıraya düşen sabitlemelerden hangisinin o sırada kalacağını belirler. Çarpanların sonucunu değiştirmez. Kurallarınız çakışmıyorsa 0 bırakın. Liste de önceliğe (yüksek önce), sonra eklenme tarihine göre sıralanır; sıfırdan farklı bir öncelik kartta rozet olarak görünür.

Hangi ürünlerin kurala uyduğunu ve hangi alanlara göre kural yazılabileceğini [Sıralama Kuralı Alanları](/docs/search/boost-rule-fields) sayfasında bulursunuz.

## Kuralı denemek

Üçüncü adımda bir **arama kelimesi** yazıp **Test** (Dene) ile kuralınızı gerçek kataloğunuz üzerinde, müşterinin kullandığı aramanın aynısıyla çalıştırırsınız. İki liste yan yana görünür:

- **Without the rule** (Kural olmadan): aramanın hiçbir sıralama kuralı olmadan ilk 10 sonucu.
- **With the rule** (Kural ile): aynı sorgu, yalnızca **bu taslak kuralın** işlemleriyle. Her ürünün yanında nedeni (**raised**, **pushed down**, **pinned**) ve sırasının kaç basamak değiştiği (`moved 3 places`) ya da yeni girdiyse **new** yazar.

Özet cümlesi "Kural 4 ürüne dokunuyor; 3 tanesinin sırası değişti" gibi okunur. **Kural hiçbir ürüne uymuyorsa** bunu açıkça söyler ("This rule matches no product in these results"): çoğunlukla değerin beslemenizdeki yazımla aynı olmadığı anlamına gelir.

Bilmeniz gerekenler:

- Deneme **hiçbir şey kaydetmez** ve ölçüme (arama sayısı, sonuçsuz arama listesi) yazılmaz.
- Karşılaştırma yalnızca **bu taslak kuralı** gösterir; kayıtlı diğer sıralama kurallarınız ikisinde de uygulanmaz. Yani başka kurallarla birleştiklerinde sıralamanın nasıl olacağını göstermez.
- Deneme yalnızca işlemleri uygular; kuralın arama kapsamını (**Search term**) denemez. Test kelimesi desenden farklı olsa da işlemler uygulanır, o yüzden kutuya kuralın kapsayacağı gerçek bir aramayı yazın (kutu, deseninizle hazır dolu gelir).
- Yarım kalmış bir işlem varsa deneme çalışmaz ve hangi işlemin düzeltilmesi gerektiğini söyler.
- Denediğiniz terim bir [yönlendirmeye](/docs/search/redirects) uyuyorsa sonuç listesi boş gelir (yönlendirme aramadan önce çalışır).
- Arama motoru yanıt veremezse bu ayrıca belirtilir; bu, kuralınız hakkında bir şey söylemez.

## Bir kartta ne görünür

Kaydedilmiş her kural bir cümle olarak okunur: kapsamı ("Applies to every search" ya da "Searches containing “ruj”"), her işlemin ne yaptığı ve bir **Active** onay kutusu. **Duplicate** (Kopyala) kuralın kopyasını yeni bir kural olarak açar; **Edit** ve **Delete** (silince kapsadığı aramalarda sıralama normale döner). Pasif kural soluk görünür ve **Paused** (Duraklatıldı) yazar.

Üç uyarı mümkündür:

- "This rule has no action, so it changes nothing": işlemi olmayan kural; bir işlem ekleyin.
- "None of this rule's actions can run" / "N of this rule's actions cannot run and are ignored": bir işlem artık var olmayan bir ürün özelliğine bakıyor. Bu ekrandan önce yazılmış kurallar çalışmaya devam eder; uyarıyı gören kuralı düzenleyip özelliği yeniden seçmeniz yeterlidir.

## Tipik kurallar

| Amaç | Kural |
|---|---|
| Stokta olmayanları aşağı it | **Push down**: **In stock** **is** **No**, **Strong** |
| İndirimli ürünleri öne çıkar | **Raise**: **Discount (%)** **at least** 20, **Light** |
| Çok satanları öne çıkar | **Raise**: **Bestseller** **is** **Yes**, **Medium** |
| Bir markayı öne çıkar | **Raise**: **Brand** **is** Nike, **Medium** |
| Marka aramasında o markanın amiral ürünü | **Certain searches**, **Contains the term** "nike"; **Pin**: SKU-X, **Position** 1 |

Liste boşsa ekran üç hazır örnek sunar (**Push out-of-stock products down**, **Raise discounted products**, **Raise one brand**); biri editörü işlemi hazır dolu olarak açar. **Overview** sekmesindeki **Low-Result Action Center**'dan "Boost query" bağlantısı, editörü o sorguya tam eşleşecek biçimde hazır açar.

## Sıralama kuralları yalnızca ilk adayları yeniden dizer

Arama, kuralların çalışması için sonuç sayısının beş katı kadar aday ürün alır (en fazla 500); yükseltme ve aşağı itme yalnızca bu adaylar arasında işler. Sabitleme bunun dışındadır: sabitlenen ürün adaylarda yoksa ayrıca getirilir. Alakası düşük bir ürün kuralınız ne kadar güçlü olursa olsun öne çıkmaz. Ayrıntı: [Alaka ve Eşleşme](/docs/search/relevance).

## Ölçmek

Her kartın altında kuralın etkisi tıklama oranı olarak yazılır (`2.1% → 3.4%` gibi): kuralın kapsadığı aramaların kural oluşturulmadan önceki 30 güne karşı sonraki 30 gündeki tıklama oranı. Kapsam **Every search** ise tüm aramalar ölçülür. Yeterli arama yoksa "no data" yazar. Bu bir göstergedir; aynı dönemde başka bir şey de değişmiş olabilir. Sıralama müdahalesi her zaman iyileştirmez; ölçmeden bırakmayın. Ayrıntı için [Arama Analitiği](/docs/search/analytics) sayfasına bakın.

## Hatalar ve yetki

| Durum | Sonuç |
|---|---|
| Kural adı boş ya da 100 karakterden uzun, desen boş ya da 255 karakterden uzun | Editör alanın altında yazar; API `400` |
| Geçersiz düzenli ifade | `400` `SEARCH_REGEX_INVALID` |
| Çarpan aralık dışı (yükseltme 1,01–10, aşağı itme 0,01–0,99) | `400` |
| Sabitleme sırası 1'den küçük ya da tam sayı değil | `400` |
| 20'den fazla işlem | `400` |
| Sözleşme sınırına ulaşıldı | `409` `LIMIT_REACHED`; **New rule** kapanır ve bir uyarı bandı çıkar |
| `search:manage_boosts` yetkisi yok | `403` (yalnızca Admin rolünde vardır) |
