Sunucu Taraflı Render
İçeriği HTML içinde yayınlama, arama motoru görünürlüğü
Zenginleştirme içeriğini tarayıcıda değil, kendi sunucunuzda oluşturabilirsiniz. İçerik o zaman sayfanın HTML'inin içinde doğar; widget onu tanır, bir daha basmaz ve yalnızca gösterim ile tıklama ölçümünü devralır.
Bu, arama motoru görünürlüğü için önemli bir farktır.
Panelde nerede
Product Enrichment → kural → Yerleşim sekmesi. Orada iki alan var: Nerede oluşturulur ve Yuva adı.
Neden gerekli
Selwise'ın normal yolu şudur: sayfa yüklenir, widget yapılandırmayı çeker, zenginleştirme parçasını indirir, içeriği ister, sonra sayfaya yazar. Dört ardışık ağ adımı. Bir alışverişçi bunu fark etmez — yer önceden rezerve edildiği için sayfa da kaymaz.
Bir tarayıcı botu için tablo farklıdır:
| İstemci | JavaScript çalıştırır mı | İçeriği görür mü |
|---|---|---|
| Googlebot | Evet, ama ikinci bir geçişte | Genelde evet, gecikmeli |
| Bingbot, Yandex | Kısıtlı | Güvenilmez |
| GPTBot, ClaudeBot, PerplexityBot | Hayır | Hayır |
| WhatsApp, Slack, Facebook önizleme | Hayır | Hayır |
Zenginleştirmenin ürünü tam olarak ürün sayfasındaki okunabilir metin. O metnin JavaScript arkasında kalması, alt üç satırdaki istemciler için hiç var olmaması demek — ve ürün bilgisinin yapay zekâ cevaplarına girmesi organik trafikle yarışan bir kanal hâline geldi.
İkinci, daha küçük kazanç: içerik ilk boyamada geldiği için blok içindeki görsel de daha erken istenir.
Nerede oluşturulur — üç seçenek
| Seçenek | Ne yapar | Ne zaman |
|---|---|---|
| Yalnızca tarayıcı | Bugünkü davranış. Varsayılan ve mevcut tüm kurallar böyle. | Sunucu tarafında geliştirme yapamıyorsanız veya kural segment hedefliyse |
| Sunucu, tarayıcı yedekli | Şablonunuz isterse sunucuda, istemezse tarayıcıda. | Önerilen. Sunucu çağrısı başarısız olsa bile içerik yine görünür |
| Yalnızca sunucu | Kural widget açılış paketinden tamamen çıkar. | Yalnızca widget script'ini hiç yüklemeyen bir kurulumda |
Sunucu, tarayıcı yedekli ile başlayın
Bu seçenek bir güvenlik ağı bırakır: sunucu çağrınız zaman aşımına uğrarsa, hata verirse veya şablonunuz o yuvayı henüz basmıyorsa widget yuvayı eskisi gibi doldurur. Yalnızca sunucu seçeneğinde böyle bir yedek yoktur — şablonunuz basmazsa içerik hiçbir yerde görünmez.
Yuva adı
Sunucu tarafında hedef bir CSS seçici değil, sizin verdiğiniz bir addır.
Bunun sebebi basit: sunucunuzun bir DOM'u yok, bir seçiciyi çözemez. Şablonu siz yazıyorsunuz, yuvayı siz koyuyorsunuz — orada isim, seçiciden hem daha sağlam hem daha okunur. Tema güncellemesi bir sınıf adını değiştirdiğinde yuva adı yerinde kalır.
Ad kuralı: küçük harf, rakam ve tek tire. urun-aciklama-alti, sepet-ustu, beden-tablosu-alani. Büyük harf, boşluk veya alt çizgi yazarsanız panel bunları katlar ve kaydedeceği hâli size gösterir — şablonunuza yazacağınız ad o katlanmış hâldir.
Kural iki adres taşır
Sunucu tarafı açık bir kural CSS seçicisini de korur. Seçici tarayıcı yolunun adresi, yuva adı sunucu yolunun adresi. İkisi aynı kuralın iki adresidir; biri diğerinin yerine geçmez.
Kurulum
- Kuralı hazırlayın. Yerleşim sekmesinde bir yuva adı verin ve Sunucu, tarayıcı yedekli seçin. Panel, şablonunuza yazacağınız satırı alanın altında gösterir.
- API anahtarı alın. Kanallar ekranında kanalınızın kartındaki anahtar simgesine tıklayın, Kullanım amacı olarak Sunucu taraflı render seçin ve anahtarı oluşturun. Anahtar
swpk_live_ile başlar ve yalnızca bir kez gösterilir. - Şablonunuza ekleyin. Yığınınıza göre hazır parça: Akinon entegrasyon kiti. Ham HTTP sözleşmesi: Sunucu Taraflı Render API.
- Doğrulayın. JavaScript çalıştırmayan bir istemciyle sayfayı çekip metni arayın:
curl -s https://magazaniz.com/urun/abc-1 | grep -c "data-selwise-ssr"
Sonuç sıfırdan büyükse içerik HTML'in içinde.
API anahtarı tarayıcıya çıkmaz
Bu çağrı sunucudan sunucuya yapılır. Anahtarı bir şablona, bir script bloğuna veya NEXT_PUBLIC_ önekli bir değişkene yazmayın. Sızan bir anahtarı aynı ekrandan döndürebilirsiniz; eski anahtar anında geçersiz olur.
Segment hedefli kurallar sunucuda oluşturulmaz
Bir segmentle hedeflenmiş kural, kişiye göre değişen bir cevaptır. Sunucuda oluşturulmuş sayfa ise genelde bir önbelleğe girer ve o önbellek herkese servis edilir — yani bir ziyaretçinin segmenti bütün ziyaretçilere yapıştırılır. Satın alma geçmişine dayalı bir segmentte bu yalnızca hata değil, veri sızıntısıdır.
Bu yüzden panel, segment hedefli bir kuralda sunucu seçeneklerini kabul etmez. Aynı şekilde test modundaki kurallar da sunucu yanıtına girmez: bir önbelleğe donan test içeriği herkese gider ve mağazadaki test bayrağı hiç sorulmaz.
Kural düzenlediğinizde ne oluyor
Sizin sayfa önbelleğiniz bizim erişimimizde değil. Bir CDN sayfayı bir gün tutuyorsa, bu sabah düzenlediğiniz bloğun eski hâlini servis etmeye devam eder.
Selwise bunu şöyle kapatır: sunucuda oluşturulan her blok, oluşturulduğu andaki içerik sürümünü de taşır. Widget sayfaya geldiğinde bu sürümü kendi çektiği güncel sürümle karşılaştırır; uyuşmuyorsa bayat bloğu sayfadan kaldırır ve güncel içeriği kendisi basar. Yani en kötü durumda içerik istemci tarafında görünür, hiçbir zaman yanlış görünmez.
Yine de kendi önbelleğinizi makul tutun: bir tarayıcı botu widget'ı çalıştırmadığı için bu düzeltmeyi görmez.
Tek sayfa uygulamalarında (SPA) bilinen sınır
Mağazanız sayfa yenilemeden gezinen bir uygulamaysa (PZ Next gibi), widget her URL değişiminde önceki ürünün içeriğini sayfadan temizler — çünkü sunucuda oluşturulmuş blok o eski ürüne aittir. Ardından yeni ürünün içeriğini normal yoldan basar.
Sunucu, tarayıcı yedekli seçeneğinde bu görünmez: içerik tarayıcı yolundan gelir. Yalnızca sunucu seçeneğinde ise kuralın tarayıcı yolu yoktur, dolayısıyla içerik bir sonraki tam sayfa yüklemesine kadar görünmez.
Arama motoru tarafında bir kayıp yok: tarayıcı botları uygulama içi gezinme yapmaz, her adresi baştan yükler. Yine de bir SPA'da Yalnızca sunucu seçeneğini kullanmayın.
Ölçüm
Gösterim ve tıklama sayıları değişmez. Widget sunucuda oluşturulmuş bloğu tanır, yeniden basmaz ama görünürlük gözlemcisini ve tıklama dinleyicisini ona bağlar — rapor eskisi gibi akar.
Tek istisna, widget script'ini hiç yüklemeyen bir kurulum. Orada tarayıcıda çalışan hiçbir şey olmadığı için gösterim de gelmez; içerik canlıdır, panel 0 gösterir.
Sorun giderme
| Belirti | Sebep |
|---|---|
curl çıktısında data-selwise-ssr yok | Şablon yuvayı basmıyor, ad uyuşmuyor, anahtar yok veya çağrı zaman aşımına uğruyor. Parçalar fail-open yazıldı: hata sayfayı bozmaz, sessizce boş döner |
| İçerik iki kez görünüyor | Dönen HTML'i kendi sanitizer'ınızdan geçirmiş olabilirsiniz. Genel amaçlı bir sanitizer data-selwise nitelikleri siler; widget bloğu tanıyamaz ve ikinci bir kopya basar |
| Sunucuda hiç, tarayıcıda var | Kural segment hedefli veya test modunda. İkisi de sunucu yanıtına bilinçli olarak girmez |
| Stil uygulanmamış | Yanıtın CSS'i ayrı bir alanda gelir ve sayfaya bir kez basılması gerekir. Hazır parçalar bunu kendisi yapar |
Son güncelleme: 10 Eylül 2026