Script Sayfa Hedefleme

Hangi sayfalarda çalışacak

Bir script'in hangi sayfalarda çalışacağını yol kuralları belirler. Kural yalnızca sayfanın yoluna bakar; cihaz, ülke, segment ya da davranış hedeflemesi özel scriptlerde yoktur (bunlar kampanyalardadır — bkz. Kampanya Hedefleme).

Panelde nerede

Script'i kaydettikten sonra Kanallar → Özel Scriptler (Channels → Custom Scripts) listesinde script kartındaki Add to Site (Siteye Ekle) düğmesi. Eklenmiş kurallar listenin üstündeki Active Scripts bölümünde durur. Adımlar için Script Ekleme.

Alanlar

AlanAçıklama
Path Pattern (Yol Deseni)Karşılaştırılacak yol; en fazla 255 karakter. Varsayılan /.
Match Type (Eşleşme Tipi)Üç seçenek: aşağıda. Varsayılan Prefix Match.
Active / InactiveKuralı kodu silmeden açıp kapatır. Hem kuralın hem script'in kendisinin etkin olması gerekir.

Eşleşme tipi

Karşılaştırılan değer, sayfa yüklendiği andaki location.pathname'dir: https://magaza.com/tr/kadin/ayakkabi?renk=siyah#liste için /tr/kadin/ayakkabi. Sorgu dizesi (?…) ve #… hiçbir zaman dahil edilmez; dil öneki (/tr) dahildir.

TipDavranışÖrnek
Exact Match (exact)Yol desenle birebir aynı olmalı (büyük/küçük harf duyarlı; sondaki / önemlidir)./sepet → /sepet eşleşir, /sepet/ eşleşmez
Prefix Match (prefix, varsayılan)Yol bu değerle başlıyorsa. Desenin sonundaki tek bir * yok sayılır, yani /urun/* ile /urun/ aynıdır./urun → /urun/abc ve /urunler
Regular Expression (regex)Desen JavaScript düzenli ifadesi olarak yolla denenir (test; bayrak yok, bağlı değil).^/tr/urun/

prefix beklediğinizden geniş yakalar

/urun öneki /urunler yolunu da yakalar. Sınırı netleştirmek için sondaki bölü işaretini ekleyin: /urun/. Düzenli ifadeler bağlı değildir: /sepet deseni /odeme/sepet-ozeti yolunu da eşleştirir; başlangıcı ve sonu ^ ve $ ile sabitleyin.

Geçersiz bir düzenli ifade kaydedilmez (SCRIPT_PATH_REGEX_INVALID); panel de "This is not a valid regular expression, so the script would never run on any page" uyarısı verir. Bir kural kaydedildikten sonra tipi regexe çevrilirse yol deseni yeniden denetlenir.

Tüm sayfalar

Her sayfada çalışması için prefix tipiyle / deseni kullanın. Her sayfada çalışan script, her sayfada (ödeme dahil) hata verme potansiyeli taşır; kodunuzu try/catch içinde tutun.

Birden fazla kural

Bir script'i aynı kanala farklı desenlerle birden fazla kez ekleyebilirsiniz; herhangi biri eşleşirse çalışır. Ama:

Çakışan kurallar scripti iki kez çalıştırır

İki kural aynı sayfayla eşleşirse (örneğin prefix /urun/ ve regex ^/urun/) script o sayfada iki kez enjekte edilir. Kuralları birbirini kapsamayacak şekilde kurun; kodunuzu da "iki kez çalışmaya karşı" korumalı yazın.

Scriptlerin kendi aralarındaki çalışma sırası tanımlı değildir. Birbirine bağımlı iki script yazmayın; tek script yazın.

Tek sayfa uygulamaları

Sitenizde sayfa geçişleri tam sayfa yenilemesi yapmıyorsa (Next.js, ikas, Akinon Omnife Next gibi React tabanlı storefront'lar), yol kuralı yalnızca sayfanın ilk açıldığı yola bakar. Yol değiştiğinde Selwise script'i yeniden çalıştırmaz ve enjekte ettiği <script>/<style> öğelerini kaldırır (CSS dahil). Bu durumda:

  • Kodun içinde yol değişimini kendiniz dinleyin (history.pushState/replaceState sarmalayıp popstate ile birleştirin ya da MutationObserver kullanın) ve işi idempotent yeniden uygulayın; ya da
  • CSS'in kalıcı olması gerekiyorsa stili script içinde document.head'e kendiniz ekleyin (Selwise'in eklediği <style> kaldırılır).

Hangi yoldan açıldığınız önemlidir: ürün sayfasına doğrudan bağlantıyla gelen ziyaretçide /urun/ kuralı çalışır; ana sayfadan tıklayarak gelende çalışmaz.

Doğrulama

Script'in doğru sayfada çalıştığını konsola bir işaret basarak test edin:

(function () {
  console.log('[script] çalıştı', location.pathname);
})();

Konsolda görmüyorsanız: kural Active mi, script Active mi, domain doğrulanmış mı, sitenizin CSP'si satır içi scripti engelliyor mu? Ağ sekmesinde scripts?path=… isteğine bakın: yanıtta script varsa kural eşleşmiştir. Doğruladıktan sonra işareti kaldırın. Ayrıntı: Özel Script Sorunları.

Son güncelleme: 22 Ekim 2026