Blog içeriği
November 25, 2025

Shopify’da Sepete Ürün Ekleme İşlemini Tamamen Engelleme Rehberi

Shopify mağazanızda sepete ürün eklemeyi tamamen engellemek mi istiyorsunuz? Global fetch, XHR ve form intercept yöntemleriyle bloklayacağınız anlatıyoruz.

Shopify'da sepete ürün eklemeyi tamamen engellemek için “Sepete Ekle” butonunu gizlemek yetmez, /cart/add isteklerinin kendisi durdurulmalıdır. En güvenilir sonuç iki katmandan gelir: fetch, XMLHttpRequest ve form isteklerini tarayıcıda yakalayan bir Global Guard script'i ile Track Quantity açık, stoğu 0 ve stokta yokken satışı kapalı ürünler. Bu durumda Shopify isteği sunucu tarafında reddeder.

Shopify mağazalarında bazı durumlarda kullanıcıların sepete ürün eklemesini tamamen engellemek gerekebilir. Örneğin özel bir ürün tipi, yalnızca vitrin amaçlı sergilenen bir SKU, ön siparişe kapalı ürünler veya mağaza kurgusuyla çakışan üçüncü parti uygulamalar buna sebep olabilir. Ancak yalnızca “Sepete Ekle” butonunu kaldırmak çoğu zaman yeterli değildir; çünkü Shopify’ın /cart/add endpoint’i farklı yollarla tetiklenebilir. Bu rehberde, Shopify’da sepete ekleme davranışını global seviyede nasıl engelleyebileceğinizi detaylı bir şekilde ele alıyoruz.

Yalnızca "Sepete Ekle" butonunu gizlemek bir engelleme değil, bir kozmetik değişikliktir; buton olmasa bile /cart/add endpoint'i tarayıcı konsolundan, üçüncü parti bir uygulamadan veya bir script'ten doğrudan çağrılabilir.

Neden Shopify’da /cart/add Bloklaması Yapmak Gerekiyor?

Shopify’daki sepete ekleme işlemi tema dosyalarıyla sınırlı bir davranış değildir. Kullanıcılar veya uygulamalar farklı yöntemlerle sepete ekleme isteği gönderebilir: tarayıcı konsolu üzerinden manuel fetch çağrısı, üçüncü parti uygulamaların otomatik /cart/add tetiklemesi, script’ler veya embed edilen widget’lar, AJAX tabanlı formlar veya özel butonlar. Dolayısıyla gerçek bir engelleme için yalnızca front-end bileşenlere müdahale etmek yeterli olmaz. Asıl hedef, tarayıcıda kaynağı ne olursa olsun tüm /cart/add çağrılarını yakalamak olmalıdır.

İki Yöntem Karşılaştırması

YöntemNasıl ÇalışırZayıf Noktası
Global Guard (tarayıcı tarafı)fetch, XMLHttpRequest ve form submit isteklerini tarayıcıda intercept edip /cart/add içeren istekleri durdururTeknik bilgisi olan biri tarafından teorik olarak baypas edilebilir
Track Quantity + Sıfır StokÜrün stoğu 0'da tutulur ve "stokta yokken satmaya devam et" kapalı kalır; Shopify /cart/add isteğini sunucu tarafında reddederButonun görünümü ve "stokta yok" etiketi için tema tarafında ayrı bir kod düzenlemesi gerekir

En güvenilir sonuç, ikisini birlikte kullanmaktan gelir: Global Guard çoğu senaryoyu tarayıcı seviyesinde durdururken, Track Quantity + sıfır stok, guard aşılsa bile sepete ekleme isteğini sunucu tarafında reddederek son bir engel oluşturur.

Shopify’da /cart/add İsteklerini Global Olarak Yakalama Mantığı

Sepete ekleme davranışını tam kontrol altına almak istiyorsanız, tarayıcı tarafında gelen tüm istek tiplerini kapsayan bir guard (koruma katmanı) oluşturmanız gerekir. Bu guard’ın amacı, her türlü fetch çağrısını, XMLHttpRequest tabanlı istekleri ve form submit yoluyla gönderilen POST isteklerini global olarak intercept etmek ve /cart/add içeren tüm URL’leri durdurmaktır. Bu üç seviyeyi yakalayan küçük bir script ile tema kaynaklı istekler, üçüncü parti uygulama istekleri, kullanıcı konsolundan manuel yapılan fetch() çağrıları ve arka planda çalışan widget veya snippet’ler tek noktada engellenebilir.

Global Guard Nasıl Çalışır?

Oluşturulan guard, tarayıcıdaki istek akışını dinler. Bir kullanıcı veya uygulama şu işlemi çalıştırsa bile:

fetch('/cart/add.js', { method: 'POST', body: {...} })

istek engellenir ve sizin belirlediğiniz özel bir response döner. Bu sayede hem kullanıcı deneyimi kontrol altında tutulur hem de sitenizin mantığıyla çakışan uygulamaların beklenmedik işlemler yapmasının önüne geçmiş olursunuz. Örneğin favorilere ekleme uygulaması yanlışlıkla sepete ekleme tetikliyorsa engellenir, promosyon uygulamaları otomatik sepet manipülasyonu yapamaz, konsoldan sepete ürün eklemeyi deneyen biri sonuç alamaz. Bu yöntem özellikle Shopify Plus olmayan mağazalarda backend kontrolü sınırlı olduğundan oldukça faydalıdır.

Kritik Not: Global bloklama tek başına yeterli değildir. Teknik bilgiye sahip bir kişi, guard'ı teorik olarak baypas edebilir. Bu nedenle ikinci bir güvenlik katmanı olarak Shopify'ın kendi stok kontrol mekanizmasını kullanmak gerekir.

Alternatif Güvenlik: Track Quantity + Sıfır Stok Mantığı

Sepete eklenmemesi gereken ürünlerde Track Quantity seçeneğini açarak, stok miktarını 0'da tutarak ve “stokta yokken satmaya devam et” seçeneğini kapalı bırakarak sepete eklemeyi sunucu tarafında engelleyebilirsiniz. Shopify bu durumda /cart/add isteğini reddeder; stoğu negatife çekmek gerekmez. Bu yöntem, guard’ı aşmayı başaran bir isteği de durdurur. Tema tarafındaki düzenleme yalnız butonun görünümü ve “stokta yok” etiketi içindir.

Shopify ürün envanterinde Track quantity açık, stok 0 ve stokta yokken satmaya devam et kapalı

İlgili Senaryo: Vitrin Amaçlı Ürünler

Sepete eklenmesini engellemek istediğiniz bir ürün aslında tamamen görünmez olmalıysa (yalnızca özel bir bağlantıyla erişilmeli, herkese vitrin olarak dahi gösterilmemeli), bu farklı bir senaryodur ve Shopify'ın unlisted ürün statüsü daha uygun bir çözüm olabilir; bu konuyu unlisted ürün statüsü rehberimizde ayrıntılı ele aldık.

Nodus Works Olarak Bu Tür Özel Kısıtlamaları Nasıl Kuruyoruz?

Sepete ekleme kısıtlaması gibi standart bir uygulamanın kapsamadığı özel davranış değişiklikleri, genellikle mağazanın kendine özgü bir iş kuralından (B2B fiyat listesi, ön sipariş, vitrin ürünü) kaynaklanır. Bu tür özel mantığı kod seviyesinde, mevcut tema ve uygulamalarla çakışmadan kurmak isteyen mağazalar için Shopify entegrasyon çözümleri ve özel app geliştirme hizmetimiz bu geliştirmeyi üstlenir.

SSS

"Sepete Ekle" butonunu kaldırmak yeterli mi? Hayır. Buton kaldırılsa bile /cart/add endpoint'i tarayıcı konsolundan, bir script'ten veya üçüncü parti bir uygulamadan doğrudan çağrılabilir; gerçek bir engelleme için global seviyede istek yakalama gerekir.

Global Guard baypas edilebilir mi? Teknik bilgisi olan biri tarafından teorik olarak baypas edilebilir. Bu yüzden Track Quantity + sıfır stok yöntemiyle birlikte kullanılması önerilir; ikisi birlikte çok daha güvenilir bir sonuç verir.

Track Quantity yöntemi tek başına yeterli mi? Track Quantity yöntemi sepete eklemeyi sunucu tarafında engeller: stok 0 ve "stokta yokken satmaya devam et" kapalıysa /cart/add isteği reddedilir. Tema tarafındaki düzenleme yalnız butonun görünümü ve "stokta yok" etiketi içindir; kullanıcı deneyimi açısından Global Guard ile birlikte kullanılması daha tutarlı bir sonuç verir.

Bu yöntem Shopify Plus gerektirir mi? Hayır, tam tersine bu yöntem özellikle Plus olmayan mağazalarda backend kontrolü sınırlı olduğu için faydalıdır; Plus'ın checkout özelleştirme araçları olmadan da uygulanabilir.

Sonuç

Shopify’da sepete ürün eklemeyi tamamen engellemek istiyorsanız tek bir yöntem yeterli olmaz. Tarayıcı tabanlı global guard ile Track Quantity + stok yönetimi birlikte kullanıldığında güçlü ve güvenilir bir çözüm ortaya çıkar: üçüncü parti uygulamaları kontrol altında tutar, manuel /cart/add çağrılarını durdurur, sepete alınmasını istemediğiniz ürünleri tamamen korur ve sepete ekleme aşamasında Shopify’ın sunucu tarafı stok kontrolüyle ek önlem sağlar.

Mağazanıza özel bu tür kısıtlamaları kod seviyesinde kurmak isterseniz entegrasyon hizmetimize başvurabilirsiniz.