Blog

SEO 7 dk okuma

JSON-LD yapılandırılmış verileri: kullanıma hazır örnekler ve bir PHP oluşturucu

JSON-LD, Google'ın yapılandırılmış veriler için önerdiği biçimdir. Bu kılavuz neyin işaretleneceğini açıklar, en kullanışlı schema.org türleri için kopyalamaya hazır örnekleri gösterir ve JSON'u elle yazmaya gerek kalmadan her sayfada geçerli işaretleme oluşturmak için kullandığımız küçük PHP modelini gösterir.

Kapak görseli: JSON-LD yapılandırılmış verileri: kullanıma hazır örnekler ve bir PHP oluşturucu

Kısaca

  • JSON-LD, sayfadaki schema.org kelime dağarcığını kullanarak onu makinelere açıklayan bir <script type="application/ld+json"> bloğudur.
  • Yalnızca kullanıcıların sayfada görebileceklerini işaretleyin. İçerikle eşleşmeyen işaretleme, manuel işlem yapma riskini taşır ve hiçbir şey kazandırmaz.
  • Organization, BreadcrumbList ve Article veya Product ile başlayın; uygun oldukları yere FAQPage, Service veya LocalBusiness ekleyin.
  • PHP'de json_encode içeren dizilerden, sayfa başına bir @graph ve kararlı @id değerlerine sahip JSON oluşturun.
  • Rich Results Test ve Schema Markup Validator ile şablonları doğrulayın ve Search Console geliştirme raporlarını izleyin.

JSON-LD yapılandırılmış verileri, arama motorlarına makine tarafından okunabilir bir biçimde bir sayfanın ne olduğunu söylemenin bir yoludur: bir makale, fiyatı olan bir ürün, iletişim ayrıntılarıyla birlikte bir şirket, soru ve yanıt listesi. Ziyaretçiler tarafından görülmez, iyi içeriğin yerini almaz ve tek başına sıralamayı yükseltmez. Yaptığı şey, bir sayfayı zengin sonuçlara uygun hale getirmek, motorların sayfalarınızı doğru varlığa bağlamasına yardımcı olmak ve yapay zeka tabanlı aramaya okunacak daha temiz bir kaynak sağlamaktır. Bunu integrono.com'un ve diğer sitelerimizin her sayfasında oluşturuyoruz ve bu kılavuz, bu çalışmanın pratik versiyonudur.

JSON-LD Microdata ve RDFa Karşı

Schema.org sözlüğü üç sözdizimine yerleştirilebilir. Microdata ve RDFa HTML etiketlerinize nitelikler yerleştirir ve bu da işaretlemeyi şablonlarla karıştırır. JSON-LD düzenden ayrı olarak tek bir komut dosyası bloğunda bulunur; bu nedenle oluşturulması, test edilmesi ve değiştirilmesi daha kolaydır. Google, JSON-LD önerdiğini ve her yerde kullandığımız şeyin bu olduğunu belirtiyor.

Örneklerden önce ilkeler

  • Görünür içeriği tanımlayın. Fiyat, derecelendirme veya SSS sayfada yoksa işaretlemeye koymayın.
  • Mutlak URL'leri ve sayfanın standart URL'sini kullanın.
  • Gerekli özellikleri eksiksiz olarak belirtin ve gerçek verileriniz olduğunda önerilenleri ekleyin.
  • Varlıkları bağlamak için @id kullanın. Makalenin yazarı, her seferinde yeni bir kopya değil, @id ile bir kez tanımlanan kuruluştur.
  • ISO 8601'deki (2026-10-28 veya saat ve dilimli) tarihleri kullanın.
  • İncelemeleri veya derecelendirmeleri icat etmeyin. Sahte AggregateRating verileri, manuel işlemlerin yaygın bir nedenidir.

Örnek 1. Organizasyon (ve Web Sitesi)

Bunu ana sayfaya veya site genelindeki bir grafiğe koyun. Diğer işaretlemenin başvurduğu varlığı tanımlar.

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://example.com/#organization",
  "name": "Example Studio",
  "url": "https://example.com/",
  "logo": "https://example.com/images/logo.png",
  "email": "[email protected]",
  "sameAs": [
    "https://github.com/example",
    "https://www.linkedin.com/company/example"
  ]
}

Örnek 2. BreadcrumbList

Breadcrumb işaretlemesi, Google'ın sonuçlarda ham URL yerine sayfa yolunu göstermesine olanak tanır. Görünür kırıntılarla eşleşmelidir.

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {"@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com/"},
    {"@type": "ListItem", "position": 2, "name": "Blog", "item": "https://example.com/blog"},
    {"@type": "ListItem", "position": 3, "name": "JSON-LD guide", "item": "https://example.com/blog/json-ld-guide"}
  ]
}

Örnek 3. Makale

Blog yazıları ve kılavuzlar için. Önemli olan özellikler: başlık, tarihler, yazar, yayıncı, resim ve sayfa URL'si.

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "JSON-LD structured data: examples",
  "description": "Short summary of the article.",
  "url": "https://example.com/blog/json-ld-guide",
  "mainEntityOfPage": "https://example.com/blog/json-ld-guide",
  "inLanguage": "en",
  "datePublished": "2026-08-23",
  "dateModified": "2026-10-28",
  "author": {"@id": "https://example.com/#organization"},
  "publisher": {"@id": "https://example.com/#organization"},
  "image": {"@type": "ImageObject", "url": "https://example.com/images/blog/json-ld.webp", "width": 1200, "height": 630}
}

dateModified yalnızca içerik gerçekten değiştiğinde değiştirin. Her konuşlandırmada onu çarpmak, güveni kaybetmenin sessiz bir yoludur.

Örnek 4. Teklifli Ürün

Görünür fiyatı olan ürün sayfaları için. Kullanılabilirliği ve para birimini ekleyin; aggregateRating ekleyin veya yalnızca sayfada gerçek incelemeler gösteriliyorsa review.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Example product",
  "description": "What it is and who it is for.",
  "image": ["https://example.com/images/product.webp"],
  "sku": "EX-001",
  "brand": {"@type": "Brand", "name": "Example"},
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/product/ex-001",
    "priceCurrency": "EUR",
    "price": "49.00",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition"
  }
}

Örnek 5. Teklifli Hizmet

Sabit fiyatlı denetim veya saatlik danışmanlık gibi ücretli hizmetler için. Bu modeli kendi hizmet sayfalarımızda kullanıyoruz.

{
  "@context": "https://schema.org",
  "@type": "Service",
  "name": "Architecture review",
  "serviceType": "Software architecture analysis",
  "provider": {"@id": "https://example.com/#organization"},
  "areaServed": "Worldwide",
  "offers": {
    "@type": "Offer",
    "price": "200",
    "priceCurrency": "EUR",
    "url": "https://example.com/services/architecture-review"
  }
}

Örnek 6. SSS Sayfası

SSS işaretlemesi, sayfada görünen soru ve yanıtların listesini açıklar. Google'ın 2023'ten beri SSS zengin sonuçlarını yalnızca sınırlı sayıda yetkili site için gösterdiğini, dolayısıyla sonuçlarda genişletilebilir yanıtlar beklemeyin. İşaretleme hala geçerlidir, diğer arama motorları ve yapay zeka sistemleri tarafından hala okunabilir ve SSS'nin makinelerin alıntı yapabileceği şekilde yapılandırılmış olmasını sağlar.

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Do I need structured data to rank?",
      "acceptedAnswer": {"@type": "Answer", "text": "No. It is not a ranking requirement, but it can make pages eligible for rich results."}
    }
  ]
}

Her şeyi tek bir @grafikte birleştirin

Bir sayfanın nadiren tek bir varlığı vardır. @graph kullanarak hepsini tek bir komut dosyasına yerleştirin ve paylaşılan varlıklara @id ile bakın:

{
  "@context": "https://schema.org",
  "@graph": [
    {"@type": "Organization", "@id": "https://example.com/#organization", "name": "Example Studio"},
    {"@type": "Article", "headline": "...", "author": {"@id": "https://example.com/#organization"}},
    {"@type": "BreadcrumbList", "itemListElement": []},
    {"@type": "FAQPage", "mainEntity": []}
  ]
}

PHP'de JSON-LD güvenli bir şekilde oluşturma

JSON'u elle birleştirmeyin. Başlıktaki bir alıntı tüm metni bozar ve arama motoru bunu sessizce görmezden gelir. Bir PHP dizisi oluşturun ve onu kodlayın. İki bayrak önemlidir: Unicode'u okunabilir tutun ve eğik çizgilerden ve etiketlerden kaçınarak HTML içeriğini koruyun.

function jsonLdScript(array $graph): string
{
    $data = ['@context' => 'https://schema.org', '@graph' => $graph];
    $json = json_encode(
        $data,
        JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_HEX_TAG | JSON_HEX_AMP | JSON_THROW_ON_ERROR
    );
    return '<script type="application/ld+json">' . $json . '</script>';
}

$graph = [
    ['@type' => 'Organization', '@id' => $site . '/#organization', 'name' => 'Example Studio', 'url' => $site . '/'],
    [
        '@type'         => 'Article',
        'headline'      => $title,
        'url'           => $canonical,
        'datePublished' => $published,
        'dateModified'  => $modified,
        'author'        => ['@id' => $site . '/#organization'],
    ],
];
echo jsonLdScript($graph);

JSON_HEX_TAG < ve > yi kaçış dizilerine dönüştürür, böylece kullanıcı içeriği hiçbir zaman komut dosyası etiketini erken kapatamaz. Oluşturucuyu sayfayı oluşturan aynı verilerden (başlık, fiyat, tarihler) besleyin, böylece işaretleme ve görünür içerik birbirinden ayrılamaz. Çok dilli bir sitede, metin alanlarını çevirin ve inLanguage yerel ayara göre ayarlayın; bu blogun makaleleri ve SSS işaretlemesi bu şekilde oluşturulmuştur.

Doğrulayın ve izleyin

  1. Google'ın zengin sonuç türlerinin uygunluğuna ilişkin Rich Results Test.
  2. Her türden genel schema.org sözdizimi için Schema Markup Validator.
  3. Google sayfalarınızı taradıktan sonra geniş ölçekte hatalar ve uyarılar için Search Console geliştirme raporları (kırıntılar, ürünler, SSS vb.).
  4. Her şablonu işleyen ve JSON-LD ayrıştırıp gerekli anahtarları içerdiğini kontrol eden bir birim testi, yeniden düzenleme sonrasında regresyonları önler.

Size pahalıya mal olan hatalar

  • Sayfada yer almayan içerik için işaretleme (gizli SSS, icat edilmiş derecelendirmeler, görünen fiyattan farklı fiyatlar).
  • Bir eklentiden ve bir şablondan gelen, her biri farklı bir Organization sahip olan birkaç çakışan blok.
  • Göreli URL'ler, yanlış tarihler veya eksik @id.
  • Manuel dize oluşturma ve çıkış yapılmamış tırnak işaretleri nedeniyle bozuk JSON.
  • Şemayı bir sıralama hilesi olarak ele almak. Bu bir netlik aracıdır; sayfanın hala sıralamayı hak etmesi gerekiyor.

Nasıl yardımcı olabiliriz?

Yapılandırılmış veriler, teknik SEO çalışmamızın bir parçasıdır: şablonlarınız için şema tasarlıyoruz, oluşturucuyu yığınınıza uyguluyoruz ve sürümlerden sonra doğru kalması için doğrulamayı ayarlıyoruz. Sitenizde neyin yanlış olduğuna dair genel bir bakış istiyorsanız, teknik SEO denetim kontrol listemizle başlayın veya bir danışmanlık randevusu alın.

Sık sorulan sorular

JSON-LD yapılandırılmış verileri nedir?

JSON-LD bir sayfanın içeriğini (örneğin bir makale, ürün, kuruluş veya SSS) arama motorlarına açıklayan, JSON formatında schema.org verilerini içeren bir komut dosyası bloğudur.

Yapılandırılmış veriler sıralamaları iyileştirir mi?

Doğrudan değil. Arama motorlarının sayfayı anlamasına yardımcı olur ve zengin sonuçlara uygun hale getirebilir, bu da tıklama oranını artırabilir, ancak bu bir sıralama gerekliliği değildir.

JSON-LD betiğini nereye koyacağım?

Sayfanın HTML başlığında veya gövdesinde herhangi bir yer; çoğu site bunu kafaya koyar. Google'ın getirdiği işlenmiş HTML'de mevcut olması gerekir; dolayısıyla sunucu tarafı oluşturma en güvenli yaklaşımdır.

FAQPage işaretlemesi hâlâ eklenmeye değer mi?

Google artık yalnızca sınırlı sayıda site için SSS zengin sonuçlarını gösteriyor, ancak geçerli SSS işaretlemesi diğer arama motorları ve yapay zeka sistemleri tarafından okunmaya devam ediyor. Yalnızca sayfada görünen soru ve yanıtlar için ekleyin.

Yapılandırılmış verileri nasıl test ederim?

Uygun zengin sonuçlar için Google'ın Rich Results Test, genel sözdizimi için Schema Markup Validator ve sitenin tamamındaki hataları izlemek için Search Console geliştirme raporlarını kullanın.

Ücretsiz keşif görüşmesi

Dağınık bir yığın veya takılmış bir entegrasyon getirin - Integrono en akıllı ilk adımı haritalar.

Bütçe tuzakları, bağımlılıklar ve satın al / yapıştır / inşa kararında kıdemli bir bakış alırsınız - ücretli iş başlamadan. CEO döngüde kalır.