JSON-LD

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

İş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. Önceden ayrılmış anahtarların tam listesi JSON-LD belge setinde bulunur.

Öğe, type="application/ld+json" veya type="ld+json" özelliğine sahip <script> etiketinde { } şeklindeki parantez 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 @graph'ı kullanabilirsiniz. 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":"Ali Örnek"}, 
        {"@type":"Person", "name":"Ayşe Özkan"}]
    },
    {
     "@type": "NewsArticle",
     "@id": "https://www.example-news.com/life/weather/moscow#zao",  
     "datePublished": "2018-12-11T09:56:49Z",
     "author": [{"@type":"Person", "name":"Ali Örnek"}, 
        {"@type":"Person", "name":"Ayşe Özkan"}]
    }
  ]
}
</script>

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

İşaretlenebilen içerik türleri

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.

Site sayfalarının işaretlenmesi, WordPress eklentileri gibi otomatik araçlar yardımıyla da yapılabilir. 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ı bulamadığında sistem onu mainEntity veya mainEntityOfPage anahtarlarında gömülü öğelerde 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>
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": "İstanbul'da 1922 Yılının Hava Sıcaklığı Rekoru Kırıldı",
"alternativeHeadline": "Kasım ayında hava sıcaklığının 42°С'yi aştığı bildiriliyor"

Bu durumda raporda makalenin adı şöyle görünür: “İstanbul'da 1922 Yılının Hava Sıcaklığı Rekoru Kırıldı Kasımda hava sıcaklığının 42°C'yi aştığı bildiriliyor”.

Yukarıdaki anahtarların hiçbiri bulunamadığında name anahtarının veya Review sınıfı için itemReviewed anahtarının değeri başlık olarak kullanılı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ü İstanbul'da 1922 yılına ait eski hava sıcaklığı rekoru kırıldı. Fobos Hava Durumu Tahmini Merkezi, İstanbul'da hava sıcaklığının 42,1 dereceye ulaştığını bildiriyor."
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. Metinle ilgili tam istatistik alabilmek için metnin uzunluğu 500 karakterden fazla olmalıdır. Daha kısa yazılar yalnızca sitedeki dahili trafik payı göstergesinde hesaplanı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":"Ali Örnek"}, 
    {"@type":"Person", "name":"Ayşe Özkan"}
  ]

Anahtar bulamadığında 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":"Ali Örnek"} 
      }
}
</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":["Doğal afetler", "İstanbul"]

about anahtarı bulunamadığında sistem ilgili değerleri name veya alternateName anahtarlarda 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":"//example-news.ru/life",
          "name":"Yaşam Tarzı"}
    },
    {
      "@type":"ListItem",
      "position":2,
      "item":{
          "@id":"//example-news.ru/life/weather",
          "name":"Hava Durumu"}
    }]
}
URL adresi

İçeriğin URL adresi url anahtarına yerleştirilmelidir.

"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.