JSON-LD

JSON-LD, verilerin bağlı veriler (Linked Data/LD) kullanılarak aktarıldığı bir veri işaretleme yöntemidir.

Uyarı. Eklenti kullanarak mikro işaretlemeyi entegre ediyorsanız, buna ayrıca ayar yapmak gerekebilir. Bunun için eklenti geliştiricisine veya eklentiler ile ilgili tecrübesi bulunan başka bir uzmana başvurun.

İşaretleme kuralları

JSON-LD formatına göre veriler, virgülle ayrılmış anahtar-değer çiftleri kümesi olarak açıklanır. Bu format, açıklama bağlamının (context) belirlenebileceği veya objelerin birbiriyle farklı şekilde ilişkilendirilebileceği önceden ayrılmış anahtarları kullanır. Böylece örneğin @context, bu durumda Schema.org olan obje sözlüğünü, @type ise açıklanan öğe türünü belirler. Rezerve edilmiş anahtarların tam listesi için bkz. JSON-LD belgeleri.

Öğe, type="application/ld+json" veya type="ld+json" özelliğine sahip <script> etiketinde, { } parantezi içinde açıklanır. İşaretleme için Schema.org sözlüğünün kullanıldığını belirtin: "@context":"http://schema.org". @type anahtarı yardımıyla söz konusu öğeyi tanımlayan Schema.org sınıfını belirtin. Öğenin özelliklerini işaretlemek için belirlenen Schema.org sınıfının özelliklerini anahtar olarak kullanın.
Sayfadaki birden fazla öğeyi işaretlemek için kullanabilecekler:

Graph'ın her bir düğümü için açıklanmakta olan öğeyi içeren sayfa bölümüne yönlendiren bağlantı olan bir @id belirtin.

Aşağıdaki örnekte iki haber makalesi ("@type":"NewsArticle") açıklanmaktadır. Burada yazının kimlik belirleyicisi ( @id anahtarıyla), yayınlama tarihi (datePublished anahtarıyla) ve yazıyı hazırlayan kişilerin isimleri (author anahtarıyla) iki öğeden oluşan bir veri dizisiyle belirtilmiş görünür. Yazıyı hazırlayan kişilerin isimleri Person sınıfındaki gömülü öğelerle açıklanır.

<script type="application/ld+json">
{  
  "@context": "http://schema.org",
  "@graph" : [
    {
     "@type": "NewsArticle",
     "@id": "https://www.example-news.com/life/weather/moscow#cao",  
     "datePublished": "2018-12-11T08:56:49Z",
     "author": [{"@type":"Person", "name":"Иван Иванов"}, 
        {"@type":"Person", "name":"Петр Петров"}]
    },
    {
     "@type": "NewsArticle",
     "@id": "https://www.example-news.com/life/weather/moscow#zao",  
     "datePublished": "2018-12-11T09:56:49Z",
     "author": [{"@type":"Person", "name":"Иван Иванов"}, 
        {"@type":"Person", "name":"Алексей Алексеев"}]
    }
  ]
}
</script>

JSON-LD hakkında daha fazla bilgi için tıklayın.

İşaretlenebilen içerik türleri

Metrica, aşağıdaki materyallerin işaretlenmesini destekler:

Standart işaretlemeye sahip başka materyaller Metrica’nın raporlarına dahil edilmez.

Yazı içeriği nasıl işaretlenir?

Yandex.Metrica tarafından doğru işlenebilmesi için bilgileri aşağıdaki kurallara uygun olarak işaretleyin. Daha kapsamlı istatistikler alabilmek üzere içeriğin tüm öğelerini işaretlemenizi öneririz. Yine de kimlik belirleyici (ID), başlık ve asıl metin olmak üzere, yalnızca 3 öğenin işaretlenmesi zorunludur.

JSON-LD'yi zaten kullanıyorsanız lütfen sitenizde kullandığınız işaretlemenin bu koşullara uygunluğunu kontrol edin. Kurallarda belirtilen kod örnekleri, doğru olan çok sayıda farklı işaretleme şeklinden sadece bazılarıdır.

Siteye otomatik olarak işaretleme ekleyebilirsiniz. Örneğin, WordPress eklentileri yardımıyla. Seçtiğiniz eklentiyi çalıştırmadan önce gerekli olan tüm işaretleme öğelerini sayfa koduna yükleyebileceğinden lütfen emin olun.

Uyarı. Sayfa birden fazla farklı yazı içeriyorsa istatistiklerin doğru toplanması için bunların her biri ayrı olarak işaretlenmelidir.

Yazının aşağıdaki öğelerini işaretleyin (zorunlu öğeler yıldızla işaretlenmiştir):

Kimlik belirleyici (ID)*

Kimlik belirleyici özel ayrılmış @id anahtarıyla belirtilir. Bu özellik sayesinde Yandex.Metrica farklı yazıları birbirinden ayırt eder. Kimlik belirleyici, raporlarda görüntülenmez. Kimlik belirleyici görevini üstlenebilen öğeler, içeriğe yönlendiren web bağlantısı veya isteğe bağlı başka bir benzersiz değerdir.

"@id": "https://www.example-news.com/life/weather/moscow#сao"

@id anahtarı bulunamadığında sistem onu mainEntity veya mainEntityOfPage anahtarlarında gömülü öğeler içinde arar.

<script type="application/ld+json">
  {  
    "@context": "http://schema.org",  
    "@type": "NewsArticle",  
    "mainEntityOfPage": {
           "@type": "WebPage",
           "@id": "https://www.example-news.com/life/weather/moscow#сao"
        }
  }
  </script>

@id içeriği sayfanın sonuna kadar kaydırmalar ve sonuna kadar okumaları hesaplamak için kullanılabilir Belirleyici olarak şunlar varsa:

  • Makalenin URL'si belirtilmişse, Yandex.Metrica, parçacığı (fragment), # (#fragment) işaretinden sonra belirler. Ardından makalede, o parçacığın olduğu HTML öğesini arar (id="fragment"). Parçacık bulunursa göstergelerin hesaplanması başlar. Yazı URL'si de aynı şekilde işlenir.
  • Gelişigüzel bir değer seçilirse ve JSON-LD kodu head satırına yerleştirilirse sistem, göstergeleri body içerip içermediklerine göre sayar. body kodu, başka bir HTML öğesinin içine yerleştirilmişse, bu durumda öğe işaretlemesi bir üst öğeye göre kullanılır. Bu nedenle rapordaki veriler kesin olmayabilir. Yazı URL'sinde # işaretinden sonra parçacık belirtilmemişse, hesaplama gene bu şekilde gerçekleştirilir.
Başlık*
Yandex.Metrica raporlarında görüntülenen başlık, headline veya alternativeHeadline anahtarlarda belirtilebilir. Anahtarların ikisi bulunduğunda değerleri aralarına boşluk bırakılarak kaydedilir. Örneğin, başlıkların şu şekilde işaretlendiğini düşünelim:
"headline": "Moskova’da 1922 yılına ait hava sıcaklığı rekoru kırıldı", "alternativeHeadline": "Kasım'da hava sıcaklığı 12 °С'yi aştı"

raporda makale “Moskova'da 1922 yılına ait hava sıcaklığı rekoru kırıldı. Kasım'da hava sıcaklığı 12°C'yi aştı” şeklinde adlandırılacaktır.

Yukarıdaki anahtarlardan hiçbiri bulunamazsa, başlık olarak name veya itemReviewed (Review sınıfı için) anahtar değeri kullanılacaktır.

Metin*

Metin text anahtarına yerleştirilmelidir. Yazı büyüklüğünün belirlenmesi ve böylece sonuna kadar kaydırma ile sonuna kadar okuma metriklerinin doğru hesaplanması için metindeki karakter sayısı belirlenir.

"text": "6 Kasım Çarşamba günü Moskova’da 1922 yılında kaydedilen sıcaklık rekoru kırıldı. Fobos merkezinin aktardığına göre hava sıcaklığı artı 12,1 santigrat dereceyi buldu."
text anahtarı bulunamadığında metin olarak alınacak öğeler:
  • Konumu url veya @id anahtarında belirtilen öğenin içeriği:

     "@context" : "https://schema.org",
     "@type" : "Article",
     "url":"https://www.example-news.com/life/weather/moscow#cao"
  • Tanımlanan öğenin dahil edildiği düğümün içeriği (<head> olmamak kaydıyla),

  • Tüm diğer durumlarda sayfanın <body> içeriği.

Metin hacmi hesaplanırken etiketleri belirleyen karakterler dikkate alınmaz.

Not. İçerikle ilgili tam istatistik alabilmek için metin uzunluğu en az 500 karakter olmalıdır.
Hazırlayan kişi

Metni hazırlayan kişinin adı author anahtarıyla belirtilir. İçeriği birden fazla kişi hazırlamışsa bunları veri dizisinde sıralayın.

 "author": [    {"@type":"Person", "name":"Ivan Ivanov"},    {"@type":"Person", "name":"Pyotr Petrov"}   ]

Anahtar bulunamadıysa sistem onu mainEntity veya mainEntityOfPage anahtarlarında gömülü öğelerde arar.

<script type="application/ld+json">
{  
  "@context": "http://schema.org",  
  "@type": "NewsArticle", 
  "@id": "12345", 
  "mainEntityOfPage": {
         "@type": "WebPage",
         "author": {"@type":"Person", "name":"Иван Иванов"} 
      }
}
</script>

Bu veriler sayesinde farklı yazarlarla ilgili istatistiklere erişebilirsiniz.

Konu

Yazı konusu olarak örneğin anahtar sözcükler veya hashtag'ler işaretlenebilir. Konuları about anahtarında belirtin:

"about": [    {"@type": "Event", "name": "Aşırı sıcaklık"},    {"@type": "Event", "name": "Moskova"} ]

Tür (@type) aktarımı zorunlu değildir veya standartlar tarafından desteklenen herhangi biri belirtilebilir.

name anahtarı bulunamadığında sistem ilgili değerleri alternateName anahtarında arar.

Yayınlama ve düzenleme tarihleri

Yayınlama ve düzenleme tarihleri datePublished ve dateModified anahtarlarında belirtilir. Tarihler ISO 8.601 formatında yazılır.

"datePublished":"2018-12-11T08:56:49Z",
"dateModified":"2018-11-06T09:26:10+04:00"
Bulunduğu bölüm

Sitedeki yazılar genelikle konularına göre farklı site bölümlerinde yayınlanır. Bölümü belirtmek için BreadcrumbList anahtarını kullanın. Bu şekilde genellikle ilgili konuya adanan ve söz konusu yazıyla sonuçlanan sayfa zinciri (“bread crumbs”) belirlenir. BreadcrumbList'in içinde itemListElement anahtarında ListItem türünde birkaç öğe belirlenmelidir. Bu öğeler ilgili bölümün yanı sıra ilgili daha geniş bölümleri tanımlar.

Bölümün içiçelik düzeyi (bölümün hangi bölüme ait olduğu) position anahtarıyla belirlenir. Örneğin “Yaşam Tarzı” bölümü “Hava Durumu” ve “Doğal Afetler” adlarındaki alt bölümleri içerebilir. Değer "position":"1" olarak belirtildiğinde yazı en üst düzeye (“Yaşam Tarzı” bölümüne), "position":"2" olarak belirtildiğinde ise 2. düzeye (“Hava Durumu”'na) ilişkilendirilir.

Böylece position değeri en yüksek olan name anahtar değeri sitede yazının bulunduğu bölümü belirler.

Not. An itibarıyla istatistiklerde site bölümlerine yönelik olarak 2 içiçelik düzeyi yansıtılabilmektedir.
{  "@context":"http://schema.org",  "@type":"BreadcrumbList",  "itemListElement":[    {      "@type":"ListItem",      "position":1,           "item":{          "@id":"//ornek-haber.com.tr/yasam",          "name":"Yaşam"}    },    {      "@type":"ListItem",      "position":2,      "item":{          "@id":"//ornek-haber.com.tr/yasam/hava_durumu",          "name":"Hava Durumu"}    }]}
URL adresi

İçeriğin URL adresi url anahtarına yerleştirilmelidir. # işaretinden sonra URL parçacığı kullanılmasını tavsiye ediyoruz. Bu parçacık, göstergelerin özellikle hangi materyale göre hesaplama yapacağını sisteme gösterecektir. Daha fazla bilgi.

"url": "https://www.example-news.com/life/weather/moscow#сao"

Veri doğru işaretlenmiş ve Metrica sayacı doğru yüklenip çalıştırılmışsa yazıyla ilgili istatistikler bir süre sonra Yandex.Metrica'da toplanmaya başlar.

İşaretleme örneği

Aşağıdaki örnekte haber işaretleme kodlarını görebilirsiniz.

<script type="application/ld+json">{   "@context":"http://schema.org",   "@graph": [       {         "@type":"BreadcrumbList",         "itemListElement":[             {               "@type":"ListItem",               "position":1,                    "item":{                 "@id":"//ornek-haber.com.tr/yasam",                 "name":"Yaşam"                }              },              {                 "@type":"ListItem",                 "position":2,                 "item":{                     "@id":"//ornek-haber.com.tr/yasam/havadurumu",                     "name":"Hava Durumu"                 }               }            ]        },        {          "@type": "NewsArticle",          "@id": "https://www.ornek-haber.com/yasam/havadurumu/moskova#cao",          "headline": "Moskova'da 1922 yılına ait hava sıcaklığı rekoru kırıldı",          "alternativeHeadline": "Kasım'da hava sıcaklığı 12 °С'yi aştı",          "datePublished":"2018-12-11T08:56:49Z",          "dateModified":"2018-11-06T09:26:10+04:00",          "text": "6 Kasım Çarşamba günü Moskova'da 1922 yılında kaydedilen hava sıcaklığı rekoru kırıldı. Fobos merkezinin aktardığına göre hava sıcaklığı artı 12,1 santigrat dereceyi buldu.",          "author": [              {"@type":"Person", "name":"Ivan Ivanov"},              {"@type":"Person", "name":"Pyotr Petrov"}           ],          "about":{              "@type": "Event",              "name": "Moskova"          },          "url": "https://www.ornek-haber.com.tr/yasam/hava_durumu/moskova#cao"        }    ]}</script>