WooCommerce mağazanızda ürünleri listelediniz, ödeme altyapısını bağladınız; sıra müşterinin sepette doğru kargo ücretini görmesine geldi. WooCommerce kargo konusunu üç parçayla çözer: kargo bölgeleri (nereye gönderiyorsunuz), kargo yöntemleri (sabit ücret, ücretsiz kargo, mağazadan teslim) ve kargo sınıfları (hangi ürün grubu ne kadar tutar). Bu üçü doğru kurulduğunda İstanbul içine farklı, Türkiye geneline farklı ücret almak ya da belirli bir sepet tutarının üzerinde kargoyu ücretsiz yapmak birkaç dakikalık iştir.
Bu rehberde ayarları WooCommerce'in güncel belgelerine dayanarak adım adım kuracağız, ardından kargo firması entegrasyonlarının genel olarak nasıl çalıştığını ve takip numarasını müşteriye nasıl ileteceğinizi anlatacağız. Menü yollarını WooCommerce belgelerindeki İngilizce adlarıyla veriyoruz; Türkçe arayüzde aynı menüler Türkçe karşılıklarıyla görünür. WooCommerce henüz kurulu değilse önce WooCommerce kurulumu yazısıyla başlayın.
WooCommerce'te kargo nasıl çalışır?

WooCommerce, müşterinin teslimat adresine bakar ve bu adresin eşleştiği ilk kargo bölgesini bulur. Müşteri yalnızca o bölgeye eklediğiniz yöntemleri görür. Her müşteri tek bir bölgeyle eşleşir. Kargo sınıfları ise doğrudan ücret göstermez; ürünleri gruplar ve sabit ücret gibi bir yöntemin içinde sınıfa özel ücret tanımlamanızı sağlar.
| Kavram | Ne işe yarar | Nerede ayarlanır |
|---|---|---|
| Kargo bölgesi (Shipping zone) | Gönderim yaptığınız coğrafi alan: ülke, il veya posta kodu | WooCommerce > Settings > Shipping > Shipping zones |
| Kargo yöntemi (Shipping method) | Müşterinin sepette ve ödeme sayfasında gördüğü seçenek | Bölgenin içinde, Add shipping method ile |
| Kargo sınıfı (Shipping class) | Ağır, hacimli veya küçük ürünleri gruplamak | WooCommerce > Settings > Shipping > Classes |
WooCommerce çekirdeğinde üç yerleşik yöntem vardır: Flat Rate (sabit ücret), Free Shipping (ücretsiz kargo) ve Local Pickup (mağazadan teslim). Kargo firmasının canlı fiyatını çeken veya gönderiyi firmada otomatik açan özellikler çekirdekte yoktur; bunlar eklentiyle ya da özel kodla gelir.
Başlamadan önce: gönderim konumu ve ürün bilgileri
- Gönderim konumlarını kontrol edin. WooCommerce belgeleri, bölge kurmadan önce
WooCommerce > Settings > Generalaltındaki Shipping location(s) ayarının doğru olduğundan emin olmanızı ister. Yalnızca Türkiye'ye satış yapacaksanız bu ayarı buna göre seçin. Para birimi ve mağaza adresi gibi diğer Türkiye ayarları için WooCommerce Türkiye ayarları yazısına bakın. - Ürünlere ağırlık ve ölçü girin. Ürün düzenleme ekranındaki Shipping sekmesinde ağırlık ve boyut alanları bulunur. WooCommerce'in yerleşik yöntemleri desiyle hesap yapmaz, ancak kargo firması entegrasyonları ve gönderi kaydı bu bilgilere ihtiyaç duyar. Desi hesabının mantığını kargo entegrasyonu rehberi anlatıyor.
- Kargo firmanızla ücret tablonuzu netleştirin. Müşteriye yansıtacağınız ücreti, firmayla yaptığınız anlaşmaya göre siz belirlersiniz. Bu yazıdaki tutarlar yalnızca ayarın nasıl çalıştığını göstermek içindir.
Adım 1: Kargo bölgelerini oluşturun
WooCommerce, Türkiye'nin 81 ilini "eyalet/il" listesinde tanır (kaynak kodda TR01 Adana'dan başlayan kodlarla). Bu sayede ülke geneli için bir bölge, belirli iller için ayrı bir bölge kurabilirsiniz. Bölge eklemek için:
- 1.
WooCommerce > Settings > Shipping > Shipping zonessayfasına gidin ve üstteki Add zone düğmesine tıklayın. - 2. Zone name alanına açıklayıcı bir ad yazın; örneğin "İstanbul içi".
- 3. Zone regions alanında ülke, il veya kıta seçin. İsterseniz Limit to specific zip/postcodes ile posta kodlarına göre daraltın; her satıra bir kod yazılır, aralık (34000...34999 gibi) ve joker karakter (34* gibi) desteklenir.
- 4. Bölgeye kargo yöntemlerini ekleyin (sonraki adımlar) ve Save changes ile kaydedin.
Aşağıdaki gibi bir yapı küçük bir Türk mağazası için iyi bir başlangıçtır:
| Sıra | Bölge adı | Bölge kapsamı | Yöntemler |
|---|---|---|---|
| 1 | İstanbul içi | Türkiye, İstanbul ili | Mağazadan teslim + sabit ücret |
| 2 | Türkiye geneli | Türkiye | Sabit ücret + belirli tutar üzerinde ücretsiz kargo |
| 3 | Rest of the world | Diğer tüm adresler | Yöntem eklenmez |
Varsayılan Rest of the world bölgesi, başka hiçbir bölgeyle eşleşmeyen adresler içindir; taşınamaz, yeniden adlandırılamaz ve silinemez. Buraya yöntem eklemek isteğe bağlıdır. Yöntemsiz bir bölgeyle eşleşen müşteriye gönderim olmadığı bildirilir; yurt dışına satış yapmıyorsanız bu davranış işinize yarar.
Adım 2: Sabit ücret (Flat Rate) ekleyin

- 1. Bölgenin yanındaki Edit bağlantısına tıklayın, ardından Add shipping method ile Flat rate seçip Continue deyin.
- 2. Name: Müşterinin sepette göreceği ad, örneğin "Standart Kargo".
- 3. Tax status: Kargo ücretine vergi uygulanıp uygulanmayacağı. KDV ayarlarının genel mantığı Türkiye ayarları yazısında.
- 4. Cost: Sepetin tamamına uygulanacak ücret. Bu alana formül de yazabilirsiniz.
- 5. Save zone and method ile kaydedin.
Cost alanı basit formülleri destekler. [qty] sepetteki ürün adedini, [fee percent="10"] ürün tutarının yüzde onunu verir; yüzdeli hesapta min_fee ve max_fee ile alt ve üst sınır koyabilirsiniz. Örnekler (tutarlar temsilîdir):
# Sabit 60 + her ürün için 10
60 + ( 10 * [qty] )
# Sabit 50 + sepet tutarının %5'i
50 + [fee percent="5"]
# Sepet tutarının %8'i, en az 40, en fazla 200
[fee percent="8" min_fee="40" max_fee="200"]Adım 3: Kargo sınıflarıyla ağır ve hacimli ürünleri ayırın
Mobilya ile kolye aynı ücretle gönderilmez. Kargo sınıfları bu farkı yönetmenin çekirdekteki yoludur:
- 1.
WooCommerce > Settings > Shipping > Classessayfasında Add shipping class deyin; ad (ör. "Hacimli"), isteğe bağlı slug ve açıklama girip Create ile kaydedin. - 2. Ürünü düzenleyin, Shipping sekmesindeki Shipping class açılır menüsünden sınıfı seçin. Değişken ürünlerde her varyasyona ayrı sınıf verebilirsiniz. Bir ürünün yalnızca bir sınıfı olabilir.
- 3. Çok sayıda ürünü birlikte güncellemek için Products > All Products listesinde ürünleri işaretleyip Bulk actions menüsünden Edit seçin ve sınıfı toplu atayın.
- 4. Sınıf tanımlandıktan sonra Flat Rate ayar penceresinde her sınıf için ayrı bir ücret alanı ve sınıfsız ürünler için No shipping class cost alanı belirir.
Sepette farklı sınıflardan ürün varsa en alttaki Calculation type seçimi belirleyicidir:
| Hesaplama türü | Mantık | Örnek: Hacimli 150 + Küçük 30 |
|---|---|---|
| Per class | Her sınıfın ücreti ayrı ayrı toplanır | 150 + 30 = 180 |
| Per order | Yalnızca en pahalı sınıfın ücreti alınır | 150 |
Adım 4: Ücretsiz kargo eşiği tanımlayın
"500 TL ve üzeri kargo bedava" gibi bir kampanya için aynı bölgeye Free shipping yöntemini ekleyin ve Free shipping requires menüsünden koşulu seçin:
| Seçenek | Ücretsiz kargo ne zaman çıkar? |
|---|---|
| No requirement | Bölgedeki herkes için her zaman |
| A valid free shipping coupon | Müşteri ücretsiz kargo veren bir kupon kullanırsa |
| A minimum order amount | Sepet belirlediğiniz tutara ulaşırsa (Minimum order amount alanı) |
| A minimum order amount OR a coupon | Tutar aşılırsa veya kupon kullanılırsa |
| A minimum order amount AND a coupon | Hem tutar aşılır hem kupon kullanılırsa |
Tutar seçeneklerinde Apply minimum order rule before coupon discount kutusu çıkar. Kutu işaretsizse eşik kontrolü indirimden sonraki tutara göre yapılır: 520 TL'lik sepete 50 TL kupon uygulanırsa 470 TL esas alınır ve 500 TL eşiği aşılmamış sayılır. Kutu işaretliyse indirimsiz 520 TL esas alınır.
Ücretsiz kargo kuponu oluşturmak için Marketing > Coupons sayfasında Add coupon deyin, Allow free shipping kutusunu işaretleyip yayımlayın.
Kargo ücretinin ve ücretsiz kargo kampanyasının sitede nasıl gösterilmesi gerektiğine dair kurallar için e-ticarette indirim ve fiyat gösterimi kuralları yazısına bakın.
Mağazadan teslim (Local Pickup)
Fiziksel bir dükkânınız veya deponuz varsa ilgili bölgeye Local pickup ekleyebilirsiniz. Ad, vergi durumu ve isteğe bağlı bir ücret girersiniz. WooCommerce belgelerine göre bu yöntem seçildiğinde vergi, müşterinin adresi yerine mağaza adresine göre hesaplanır. Blok tabanlı ödeme sayfası (Checkout block) kullanıyorsanız mağazadan teslim ayarları ayrı bir ekranda yapılır; klasik ve blok ödeme sayfası farkı için kurulum rehberine bakın.
Kargo firması entegrasyonu nasıl çalışır?

Buraya kadar kurduğunuz yapı müşteriden alınacak ücreti hesaplar; gönderiyi kargo firmasında açmaz, barkod üretmez, takip numarası almaz. Bunun için kargo firmasının web servisine bağlanan bir eklenti ya da özel kod gerekir. Genel akış şöyledir:
- 1. Sipariş ödenir ve Processing (Hazırlanıyor) durumuna geçer. WooCommerce belgelerine göre bu durum "ödeme alındı, gönderim bekleniyor" anlamına gelir.
- 2. Eklenti veya kodunuz alıcı adı, adres, telefon, desi ve tahsilat bilgisini kargo firmasının API'sine gönderir ve gönderi kaydı açar.
- 3. Firmadan dönen barkod ile etiket yazdırılır, paket şubeye verilir veya kuryeye teslim edilir.
- 4. Takip numarası siparişe kaydedilir ve müşteriye iletilir.
- 5. Paketi gönderdiğinizde siparişi Completed (Tamamlandı) yaparsınız; WooCommerce bu geçişi otomatik yapmaz.
Türkiye'deki kargo firmalarının çoğu ayrıntılı geliştirici belgesini herkese açık yayımlamıyor; web servis bilgileri sözleşmeli müşteri olduktan sonra veriliyor. Firmaların servis türleri, test ortamları ve desteklenen işlemler kargo entegrasyonu rehberinde, firma bazında ayrıntılar Aras Kargo ve Yurtiçi Kargo entegrasyon yazılarında. Pazaryeri siparişlerinde takip numarası pazaryerinin kendi API'sinden gelir; bunun için pazaryeri entegrasyonu rehberine bakın.
Bir kargo eklentisi seçerken şunlara dikkat edin:
- Eklentiyi yalnızca wordpress.org eklenti dizininden, kargo firmasının kendi sitesinden ya da sözleşme yaptığınız entegratörden alın. Nulled (kırılmış) eklentiler güvenlik açığı demektir.
- WooCommerce yeni kurulumlarda siparişleri HPOS (High-Performance Order Storage) tablolarında saklar. Uyumsuz eklentiler
WooCommerce > Settings > Advanced > Featuresekranında listelenir; eklentinin HPOS uyumlu olduğunu kurmadan önce sorun. - Eklentinin canlı fiyat mı çektiğini, yalnızca gönderi mi açtığını, yoksa ikisini birden mi yaptığını netleştirin. Canlı fiyat çekmeyen bir entegrasyonda ücreti yine yukarıdaki bölge ve yöntem ayarları belirler.
- Önce firmanın test ortamında deneyin, sonra canlı bilgilere geçin.
Takip numarasını müşteriye iletmek
Yol 1: Müşteriye not (ek eklenti gerekmez)
Sipariş düzenleme ekranındaki Order notes panelinde üç tür not vardır: sistem notları, özel notlar ve müşteri notları. Müşteri notu yazdığınızda WooCommerce bunu hemen e-postayla gönderir ve not, müşterinin My account sayfasındaki sipariş ayrıntılarında da görünür. WooCommerce belgeleri bu özelliğin takip numarası iletmek için kullanılabileceğini örnek olarak verir.
- 1.
WooCommerce > Orderslistesinden siparişi açın. - 2. Order notes alanına takip numarasını ve firmanın takip sayfasının bağlantısını yazın.
- 3. Görünürlük olarak müşteriye açık notu seçin (Public note to customer) ve Send note to customer ile gönderin.
Yol 2: Shipment Tracking eklentisi
WooCommerce.com'da satılan resmi Shipment Tracking eklentisi siparişe kargo firması, takip numarası, takip bağlantısı ve gönderim tarihi alanları ekler. Listede olmayan bir firma için Custom Provider seçip firma adını ve tam takip adresini girersiniz. Belgeye göre takip bilgisini kaydetmek tek başına e-posta göndermez; sipariş Completed durumuna alındığında giden "Completed Order" e-postası kayıtlı takip bilgisini içerir ve bilgi My account sipariş sayfasında da görünür. Kargo firmasının entegrasyon eklentisi takip numarasını kendisi yazıyorsa bu adım otomatikleşir.
Sık yapılan hatalar
| Belirti | Muhtemel neden | Çözüm |
|---|---|---|
| İstanbullu müşteri Türkiye geneli ücretini görüyor | Bölge sırası yanlış | İl bölgesini ülke bölgesinin üstüne taşıyın |
| "Gönderim seçeneği yok" mesajı | Adres, yöntemi olmayan bir bölgeyle eşleşiyor | Bölgeye yöntem ekleyin veya kapsamı kontrol edin |
| Ücretsiz kargo kuponla birlikte kayboluyor | Eşik indirim sonrası tutara göre hesaplanıyor | "Apply minimum order rule before coupon discount" kutusunu değerlendirin |
| Hacimli ürün ucuza gidiyor | Ürüne kargo sınıfı atanmamış | Ürünün Shipping sekmesinden sınıfı seçin |
| Sipariş Processing'de bekliyor | Bu durum otomatik ilerlemez | Gönderimden sonra siparişi Completed yapın |
Sık Sorulan Sorular
WooCommerce kargo ücretini desiye göre hesaplayabilir mi?
Çekirdekteki yöntemler desi veya ağırlıkla hesap yapmaz; sabit ücret, adet ve yüzde formülleri ile kargo sınıflarını kullanır. Ağırlık veya desi tabanlı tablolar için ek eklenti ya da kargo firmasının canlı fiyat sunan entegrasyonu gerekir.
Kapıda ödeme ile kargo ayarları ilişkili mi?
Kapıda ödeme bir ödeme yöntemidir, kargo yöntemi değildir. Tahsilatlı gönderi (kargo firmasının kapıda tahsil etmesi) ise kargo firmasıyla yapılan anlaşma ve entegrasyon tarafında tanımlanır. Ödeme eklentileri için iyzico ve PayTR eklenti kurulumu yazısına bakın.
İade kargosu nasıl yönetilir?
WooCommerce çekirdeği iade kargo kodu üretmez; bazı kargo firmalarının web servislerinde iade kodu işlemi bulunur ve entegrasyon eklentisi bunu sunabilir. Cayma ve iadeyle ilgili yasal çerçeve için cayma hakkı ve iade kuralları yazısına bakın.
Sepette kargo seçeneklerinin doğru göründüğünü nasıl test ederim?
Farklı il ve posta kodlarıyla sepet sayfasında kargo hesaplamayı deneyin ve her bölgenin beklediğiniz yöntemi gösterdiğini kontrol edin. Ödeme sayfasında beklenmedik hatalar alıyorsanız WooCommerce ödeme sayfası hataları yazısı teşhis adımlarını anlatıyor.
Yazılım, eklenti ve hizmet adları sahiplerine aittir. Bu yazı bağımsız bir teknik rehberdir; adı geçen şirketlerle bayilik veya ortaklık ilişkisi bulunduğu anlamına gelmez.
İlgili içerikler: WooCommerce kurulumu · WooCommerce Türkiye ayarları · iyzico ve PayTR eklentileri · Ödeme sayfası hataları · Kargo entegrasyonu rehberi · Aras Kargo entegrasyonu · Yurtiçi Kargo entegrasyonu