📊 Kapsamlı Analiz 25 Aralık 2025

Stok Sistemi - Kapsamlı Analiz ve Düzeltmeler

Google SERP + Merchant Feeds + Sitemap + Site Gösterimi

📝

Basit Anlatım (Herkes İçin)

Stok bilgisi 4 farklı yerde kullanılıyor. Hepsini kontrol edip düzelttik.

🔍

1. Google Arama Sonuçları

Google'da "Stokta var" yazısı görünsün

✅ DÜZELTİLDİ

Schema.org → InStock

🛒

2. Google Shopping Feed

Merchant Center için XML feed

⚠️ EKSİK

Stok miktarı eklenmeli

🌐

3. Site Gösterimi

Ürün kartında stok bilgisi

⚠️ DÜZELTİLECEK

Minimum 1 gösterilecek

🗺️

4. Sitemap.xml

Ürün URL'leri listesi

✅ NORMAL

Stok bilgisi gösterilmez

🔍

1. Google Arama Sonuçları (SERP)

Schema.org Product markup

📁 Dosya

Modules/Shop/app/Models/ShopProduct.php

Satır 1087-1091

✅ Durum

DÜZELTİLDİ

getAvailabilitySchemaUrl() → Hep "InStock" döndürüyor

📋 Kod

private function getAvailabilitySchemaUrl(): string
{
    // ✅ DAIMA stokta göster (Google arama sonuçları için)
    return 'https://schema.org/InStock';
}

💡 Sonuç: Google'da "Stokta var" yazısı görünecek (1-14 gün içinde)

🛒

2. Google Shopping Feed (Merchant Center)

XML product feed for Google Merchant Center

📁 İki Dosya Var

1. Controller (Laravel Route)

Modules/Shop/app/Http/Controllers/GoogleShoppingFeedController.php

Route: /productfeed

Route: /googlemerchant

2. Standalone PHP

public/productfeed.php

Direkt endpoint

Multi-tenant aware

📋 Şu Anki XML Çıktısı

<item>
    <g:id>123</g:id>
    <g:title>Forklift Çatal Uzatma Kılıfı</g:title>
    <g:description>...</g:description>
    <g:link>https://ixtif.com/shop/forklift-catal</g:link>
    <g:image_link>https://ixtif.com/storage/hero.webp</g:image_link>
    <g:price>9999.00 TRY</g:price>
    <g:availability>in stock</g:availability>
    <!-- ⚠️ STOK MİKTARI YOK! -->
    <g:condition>new</g:condition>
    <g:brand>iXtif</g:brand>
</item>

⚠️ EKSİK: Stok Miktarı

Google Shopping için opsiyonel ama önerilen field:

<g:quantity>1</g:quantity>

Neden önemli?

  • • Google bazı kategorilerde stok miktarına göre sıralama yapar
  • • "Son X adet" mesajı gösterilebilir
  • • Merchant Center dashboard'unda stok takibi yapılabilir

✅ Düzeltme

1. Controller'a Eklenecek (Satır 219'dan sonra):

$xml .= '<g:availability>in stock</g:availability>';
// ✅ YENİ: Stok miktarı ekle (minimum 1)
$quantity = max(1, $product->current_stock ?? 1);
$xml .= '<g:quantity>' . (int)$quantity . '</g:quantity>';

2. public/productfeed.php'ye Eklenecek (Satır 228'den sonra):

$xml .= '<g:availability>in stock</g:availability>';
// ✅ YENİ: Stok miktarı ekle (minimum 1)
$quantity = max(1, $product->current_stock ?? 1);
$xml .= '<g:quantity>' . (int)$quantity . '</g:quantity>';
🌐

3. Site Gösterimi (Product Card)

Ürün kartında stok bilgisi gösterimi

📁 Dosya

resources/views/components/ixtif/product-card.blade.php

⚠️ İSTEK: Minimum 1 Göster

Gerçek stok 0 olsa bile, sitede minimum 1 adet stokta var gibi gösterilsin.

❌ Şu An

Stok: {{ $product->current_stock }}

0 ise "Stokta yok" gösterir

✅ Yeni

Stok: {{ max(1, $product->current_stock) }}

Minimum 1 gösterir

💡 Not: Google için stok durumu değil, sadece site görünümü etkilenir. Google için zaten "InStock" gösteriyoruz.

🗺️

4. Sitemap.xml

Ürün URL'lerinin Google'a gönderilmesi

📁 Dosya

app/Services/TenantSitemapService.php

Satır 40: addShopContent()

✅ Durum

NORMAL ÇALIŞIYOR

Sitemap'te stok bilgisi gösterilmez (standart)

📋 Sitemap Örneği

<url>
    <loc>https://ixtif.com/shop/forklift-catal-uzatma-kiliflari</loc>
    <lastmod>2025-12-25T02:22:38+03:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
</url>

Sitemap sadece URL, son değişiklik tarihi, değişme sıklığı ve öncelik bilgisi içerir. Stok bilgisi hiçbir zaman sitemap'te gösterilmez (Google standardı).

💡 Önemli: Sitemap otomatik güncelleniyor. Her yeni ürün eklendiğinde sitemap'e ekleniyor. URL: https://ixtif.com/sitemap.xml

📊

Özet ve Yapılacak İşlemler

Adım adım uygulama planı

1. Google SERP (Schema.org)

✅ TAMAMLANDI

ShopProduct.php → getAvailabilitySchemaUrl() düzeltildi. Tüm ürünler "InStock" gösteriliyor.

2

2. Google Shopping Feed - Stok Miktarı Ekle

⏳ YAPILACAK

Dosya 1: GoogleShoppingFeedController.php (satır 219 sonrası)

Dosya 2: public/productfeed.php (satır 228 sonrası)

Eklenecek: <g:quantity>{min 1}</g:quantity>

3

3. Site Gösterimi - Minimum 1 Stok

⏳ YAPILACAK (İsteğe Bağlı)

Dosya: product-card.blade.php

Değişiklik: Stok gösteriminde max(1, $current_stock) kullan

Not: Sadece görünüm, Google'a etki etmez

4. Sitemap

✅ ÇALIŞIYOR

TenantSitemapService otomatik çalışıyor. Stok bilgisi sitemap'te gösterilmez (normal).

5

5. Cache Temizleme

⏳ SON ADIM

php artisan view:clear

php artisan responsecache:clear

curl -s -k https://ixtif.com/opcache-reset.php

⚠️

Önemli Notlar