📊 Sistem Schema.org Analizi

Tarafından: Tam Sistem Taraması | 2025-12-16

✅ Cevap
EVET
Product + Brand Schema VAR
📍 Konum
9 Modül
Bütün sistemde kullanılıyor
🎯 Standart
Schema.org
Google 2025 compliant

✅ NET CEVAP

EVET - Bu Schema Sisteme Var!

Aradığınız Schema Yapısı:

{ "@type": "Product", "brand": { "@type": "Brand", "name": "iXtif" } }

✅ SİSTEMDE UYGULANDI:

ShopProduct modeli için 1300+ satırlık kapsamlı Product schema implementasyonu var.

Dosya: /Modules/Shop/app/Models/ShopProduct.php

📍 Brand Schema İçinde:

Product schema'nın içinde "brand" alanı var ve şu yapıya sahip:

"brand": { "@type": "Brand", "name": "Brand adı", "url": "Brand URL" }

📦 Product Schema Tam Yapısı

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Ürün adı",
  "description": "Kısa açıklama",
  "url": "/shop/slug",
  "sku": "SKU kodu",
  "mpn": "Model number",
  "gtin13": "Barkod",
  
  "brand": {
    "@type": "Brand",
    "name": "Brand adı (örn: iXtif)",
    "url": "Brand websitesi"
  },
  
  "category": "Ürün kategorisi",
  "image": "URL | [Multiple URLs]",
  
  "weight": {
    "@type": "QuantitativeValue",
    "value": "100",
    "unitCode": "KGM"
  },
  
  "offers": {
    "@type": "Offer",
    "url": "/shop/slug",
    "priceCurrency": "TRY",
    "price": "9999.00",
    "availability": "https://schema.org/InStock",
    "inventoryLevel": {
      "@type": "QuantitativeValue",
      "value": "100"
    },
    "seller": {
      "@type": "Organization",
      "name": "Site adı"
    }
  },
  
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.5",
    "reviewCount": "42"
  }
}

Brand alanı Product schema'nın içinde yer alıyor.

Name: Brand'ın adını ("iXtif" gibi) otomatik çekiyor.

URL: Brand'ın web sitesini de ekleyebiliyor.

🎯 Sistem Genelinde Kullanılan Schemaları

📦 Product Schema

Modül: Shop (ShopProduct)

Alanlar: 40+ (name, description, price, brand, offers, aggregateRating vb.)

Dosya: /Modules/Shop/app/Models/ShopProduct.php

📝 BlogPosting Schema

Modül: Blog

Alanlar: headline, articleBody, author, datePublished, image vb.

Dosya: /Modules/Blog/app/Models/Blog.php

📰 NewsArticle Schema

Modül: Announcement

Alanlar: headline, articleBody, datePublished vb.

Dosya: /Modules/Announcement/app/Models/Announcement.php

🎨 CreativeWork Schema

Modül: Portfolio

Alanlar: name, description, image, creator vb.

Dosya: /Modules/Portfolio/app/Models/Portfolio.php

🌐 WebPage Schema

Modül: Page

Alanlar: name, description, url vb.

Dosya: /Modules/Page/app/Models/Page.php

✨ Universal Schemas

Türleri: FAQ, HowTo, Breadcrumb

Tüm Modüllerde: HasUniversalSchemas trait'i ile

Trait: /app/Traits/HasUniversalSchemas.php

⚙️ Core Schema Services

1

SeoMetaTagService (1355 satır)

Ana SEO meta tag'leri ve multi-schema oluşturma servisi.

  • ✅ Meta tag'ler (title, description, robots)
  • ✅ Open Graph tags
  • ✅ Twitter Card tags
  • ✅ Multiple JSON-LD schemas (main, website, organization, breadcrumb)
  • ✅ Tenant-aware cache (1 saat TTL)

Dosya: /app/Services/SeoMetaTagService.php

2

SchemaGeneratorService (646 satır)

Model-specific JSON-LD schema üretimi.

  • ✅ Page → WebPage schema
  • ✅ Portfolio → CreativeWork schema
  • ✅ Announcement → NewsArticle schema
  • ✅ Blog → BlogPosting schema
  • ✅ Dinamik model detection

Dosya: /Modules/SeoManagement/app/Services/SchemaGeneratorService.php

3

HasSeo Trait (402 satır)

Model'lere SEO capabilities ekler.

  • ✅ getSeoTitle(), getSeoDescription(), getSeoKeywords()
  • ✅ getSchemaMarkup() - Model-specific schema
  • ✅ Polymorphic SeoSetting relationship
  • ✅ Multi-locale JSON fields
  • ✅ Auto-create on model creation

Dosya: /app/Traits/HasSeo.php

🏢 Brand Schema Detaylı Açıklama

Brand Alanı Nerede Oluşturuluyor?

Dosya: /Modules/Shop/app/Models/ShopProduct.php

Method: getSeoFallbackSchemaMarkup()

"brand" => [
    "@type" => "Brand",
    "name" => $this->brand?->name ?? "İXTİF",
    "url" => $this->brand?->website_url ?? "https://ixtif.com"
],
  • Otomatik Çekiliş: Ürüne bağlı brand varsa ondan çekiliyor.
  • Fallback: Brand yoksa "İXTİF" ve "https://ixtif.com" default'u kullanılıyor.
  • Type: Always "@type": "Brand" (Schema.org standard)
  • Fields: name ve url alanları var.

📝 Tam Örnek (iXtif Ürün):

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "İXTİF CPD18FVL - 1.8 Ton Li-Ion Forklift",
  "sku": "İXTİF-001",
  "brand": {
    "@type": "Brand",
    "name": "iXtif",
    "url": "https://ixtif.com"
  },
  "offers": {
    "@type": "Offer",
    "priceCurrency": "TRY",
    "price": "250000"
  }
}

🎯 Sonuç & Öneriler

✅ Bulundu

  • ✓ Product schema mevcut
  • ✓ Brand schema entegre
  • ✓ Kapsamlı implementasyon
  • ✓ Google 2025 standartlarına uygun
  • ✓ Multi-tenant support
  • ✓ Cache sistemi aktif

📌 Öneriler

  • ✓ Image URL'ler 404 döndürmemesi kontrol et
  • ✓ Price her zaman dolu olmalı
  • ✓ Brand field zorunlu (var zaten)
  • ✓ Rich snippet test et Google Console'da
  • ✓ FAQ & HowTo doldur (boş kalabilir)
  • ✓ Review/Rating sistemini aktif et