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. 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. 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. Cache Temizleme
⏳ SON ADIM
php artisan view:clear
php artisan responsecache:clear
curl -s -k https://ixtif.com/opcache-reset.php
Önemli Notlar
- • Google Shopping Feed URL: https://ixtif.com/productfeed veya https://ixtif.com/googlemerchant
- • Feed güncelleme: Ürün değişikliği yapınca feed otomatik güncellenir
- • Merchant Center: Feed URL'sini Merchant Center'a ekleyince otomatik tarama başlar (günde 1 kez)
- • Stok 0 olan ürünler: Hem feed hem sitede minimum 1 gösterilecek
- • Schema.org: Google SERP için "InStock" gösterimi zaten aktif ✅