JSON-LD
JSON-LD, verilerin bağlı veriler (Linked Data/LD) kullanılarak aktarıldığı bir veri işaretleme yöntemidir.
Dikkat
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. Ö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, { } 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">
JSON-LD hakkında daha fazla bilgi için tıklayın.
İşaretlenebilen içerik türleri
Yandex Metrica, aşağıdaki materyallerin işaretlenmesini destekler:
- Gazete yazısı:
Article
, haber yazısı:NewsArticle
, blog yazısı:BlogPosting
, - Film açıklaması: (
Movie
), - İnceleme veya yorum:
Review
, - Yemek tarifi (
Recipe
) - Soru ve cevap: (
Question
veyaQAPage
).
Standart işaretlemeye sahip başka materyaller Yandex 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.
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 bunun gerekli olan tüm işaretleme öğelerini sayfa koduna yükleyebileceğinden lütfen emin olun.
Dikkat
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*
-
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 onumainEntity
veyamainEntityOfPage
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. Tanımlayıcı olarak,- 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östergeleribody
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.
- Makalenin URL'si belirtilmişse, Yandex Metrica, parçacığı (fragment), # (
Başlık*
-
Yandex Metrica raporlarında görüntülenen başlık.
headline
veyaalternativeHeadline
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ımda hava sıcaklığı 12 °C'yi aştı"
Bu durumda raporda makalenin adı şöyle görünür: “Moskova'da 1922 Yılının Sıcaklık Rekoru Kırıldı Kasımda hava sıcaklığı 12°C'yi aştı”.
Yukarıdaki anahtarlardan hiçbiri bulunamazsa, başlık olarak
name
veyaitemReviewed
(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": "Moskova’da 1922’de kayıtlara geçen sıcaklık rekoru 6 Kasım Çarşamba günü kırıldı.
Fobos Merkezi’nin paylaştığı habere göre hava sıcaklığı 12,1 santigrat derece
olarak ölçüldü."
```
`text` anahtarı bulunamadığında metin olarak alınacak öğeler:
- Konumu `url` veya `@id` anahtarında belirtilen öğenin içeriği:
```json
"@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.
{% note info %}
Metinle ilgili tam istatistik alabilmek için metnin uzunluğu 500 karakterden fazla olmalıdır.
{% endnote %}
-
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 Keser"} ]
Anahtar bulunamadıysa sistem onu
mainEntity
veyamainEntityOfPage
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"}
}
}
```
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ğerlerialternateName
anahtarında arar.
Yayınlama ve düzenleme tarihleri
-
Yayınlama ve düzenleme tarihleri
datePublished
vedateModified
anahtarlarında belirtilir. Tarihler ISO 8601 formatında girilir."datePublished": "2018-12-11T08:56:49Z", "dateModified": "2018-11-06T09:26:10+04:00"
Kategori
-
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 ("ekmek kırıntıları" anlamındaki "bread crumbs") belirlenir.BreadcrumbList
'in içindeitemListElement
anahtarındaListItem
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 ikinci düzeye (Hava Durumu’na) ilişkilendirilir.Böylece
position
değeri en yüksek olanname
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" } },{ "@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. # 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 Yandex 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": "//example-news.ru/life",
"name": "Yaşam"
}
},
{
"@type": "ListItem",
"position": 2,
"item": {
"@id": "//example-news.ru/life/weather",
"name": "Hava Durumu"
}
}
]
},
{
"@type": "NewsArticle",
"@id": "https://www.example-news.com/life/weather/moscow#cao",
"headline": "Moskova’da 1922 yılına ait hava sıcaklığı rekoru kırıldı",
"alternativeHeadline": "Kasımda hava sıcaklığı 12 °C'yi aştı",
"datePublished": "2018-12-11T08:56:49Z",
"dateModified": "2018-11-06T09:26:10+04:00",
"text": "Çarşamba günü, 6 Kasım'da Moskova'da 1922 yılında kaydedilen
sıcaklık rekoru kırıldı. Hava sıcaklığı 12,1 santigrat derece olarak ölçüldü,
Fobos merkezinin bildirdiğine göre",
"author": [
{"@type": "Person", "name": "Ali Örnek"},
{"@type": "Person", "name": "Ayşe Keser"}
],
"about": {
"@type": "Event",
+04 "name": "Moskova"
},
"url": "https://www.example-news.com/life/weather/moscow#cao"
}
]
}
</script>
Daha fazla bilgi edinin
Faydalı bağlantılar |
Çevrimiçi eğitim |
itemprop |
Özellik açıklaması |
Sınıflar: |
|
|
Kimlik belirleyicisi Kimlik belirleyici sayesinde Yandex Metrica farklı yazıları birbirinden ayırt eder. Fakat bu öğe raporlarda görüntülenmez.
|
|
Kimlik belirleyicisi
|
Tür: |
Başlık Başlık,
Bu durumda raporda makalenin adı şöyle görünür: “Moskova'da 1922 Yılının Sıcaklık Rekoru Kırıldı Kasımda hava sıcaklığı 12°C'yi aştı”. Yukarıdaki özelliklerden hiçbiri bulunamıyorsa |
Tür: |
Başlık Başlık,
Bu durumda raporda makalenin adı şöyle görünür: “Moskova'da 1922 Yılının Sıcaklık Rekoru Kırıldı Kasımda hava sıcaklığı 12°C'yi aştı”. Yukarıdaki özelliklerden hiçbiri bulunamıyorsa |
Tür: |
Yazı metni Metinde karakter sayısı belirlenir. Bu, materyalin hacmini belirlemek için gereklidir. Sadece etiketlerin içine yerleştirilen karakter dizisi metin sayılır, etiketlerin kendilerini oluşturan karakterler hesaba katılmaz. Metni işaretlerken reklam banner'ları veya yorum blokları gibi gereksiz öğeleri asıl metinden hariç tutmaya lütfen özen gösterin. Aksi takdirde yazının büyüklüğü ve ilgili istatistikler yanlış hesaplanabilir.
Yukarıda sözü edilen hiçbir özellik bulunamıyorsa etiket içeriğinin Not Metinle ilgili tam istatistik alabilmek için metnin uzunluğu 500 karakterden fazla olmalıdır. |
Tür: veya |
Hazırlayan kişi Yazıyı hazırlayan kişi
İlgili değer ayrıca;
Bu veriler sayesinde Yandex Metrica'da farklı yazarlarla ilgili istatistiklere erişebilirsiniz. |
Tür: |
Konu Yazı konusu olarak örneğin anahtar sözcükler veya hashtag'ler işaretlenebilir. Bu amaçla her konu için
|
Tür: |
Yayın tarihi Yayınlama
Ayrıca, bu bilgilerin
|
|
Düzenleme tarihi Yayınlama
Ayrıca, bu bilgilerin
|
Sınıf: |
|
Tür: veya |
Kategori Sitedeki yazılar genelikle konularına göre farklı site bölümlerinde yayınlanır. Bölümü belirtmek için Bölümlerin içiçelik (veya yuvalama) düzeyleri (hangi bölümün daha geniş olan hangi bölümün bir parçası olduğu) Böylece Not An itibarıyla istatistiklerde site bölümlerine yönelik olarak 2 içiçelik düzeyi yansıtılabilmektedir.
|
Diğer |
|
Kanonik web bağlantısı Yazının URL'si
Bulunan değer, yazının kimlik belirleyicisini oluştururken kullanılabilir. |
Özellik açıklaması
Kimlik belirleyicisi
Kimlik belirleyici sayesinde Yandex Metrica farklı yazıları birbirinden ayırt eder. Fakat bu öğe raporlarda görüntülenmez.
<meta itemprop="identifier" content="12345">
Özellik açıklaması
Başlık
Başlık, headline
veya alternativeHeadline
özelliği yardımıyla belirtilerek Yandex Metrica raporlarında görüntülenir. Özelliklerin ikisi de belirtilmişse değerler aralarına boşluk bırakılarak yazılır. Örneğin, başlıkların şu şekilde işaretlendiğini düşünelim:
<h1 itemprop="headline">Moskova’da 1922 yılına ait hava sıcaklığı rekoru kırıldı</h1>
<h2 itemprop="alternativeHeadline">Kasımda sıcaklık 12 °C’yi aştı</h2>
Bu durumda raporda makalenin adı şöyle görünür: “Moskova'da 1922 Yılının Sıcaklık Rekoru Kırıldı Kasımda hava sıcaklığı 12°C'yi aştı”.
Yukarıdaki özelliklerden hiçbiri bulunamıyorsa name
özellik değeri başlık olarak kullanılır.
Özellik açıklaması
Başlık
Başlık, headline
veya alternativeHeadline
özelliği yardımıyla belirtilerek Yandex Metrica raporlarında görüntülenir. Özelliklerin ikisi de belirtilmişse değerler aralarına boşluk bırakılarak yazılır. Örneğin, başlıkların şu şekilde işaretlendiğini düşünelim:
<h1 itemprop="headline">Moskova’da 1922 yılına ait hava sıcaklığı rekoru kırıldı</h1>
<h2 itemprop="alternativeHeadline">Kasımda sıcaklık 12 °C’yi aştı</h2>
Bu durumda raporda makalenin adı şöyle görünür: “Moskova'da 1922 Yılının Sıcaklık Rekoru Kırıldı Kasımda hava sıcaklığı 12°C'yi aştı”.
Yukarıdaki özelliklerden hiçbiri bulunamıyorsa name
özellik değeri başlık olarak kullanılır.
Özellik açıklaması
Yayın tarihi
Yayınlama datePublished
ve düzenleme dateModified
tarihleri ISO 8.601 formatında kaydedilir.
html <meta itemprop="datePublished" content="2018-12-11T08:56:49Z" />
Ayrıca, bu bilgilerin time
etiketinin datetime
özelliğinde belirtilmesi de mümkün.
<time itemprop="dateModified" datetime="2018-12-11T07:30:00Z”>10.30, 11 Aralık 2018 </time>
Özellik açıklaması
Düzenleme tarihi
Yayınlama datePublished
ve düzenleme dateModified
tarihleri ISO 8.601 formatında kaydedilir.
html <meta itemprop="datePublished" content="2018-12-11T08:56:49Z" />
Ayrıca, bu bilgilerin time
etiketinin datetime
özelliğinde belirtilmesi de mümkün.
<time itemprop="dateModified" datetime="2018-12-11T07:30:00Z”>10.30, 11 Aralık 2018 </time>
Özellik açıklaması
Kategori
Sitedeki yazılar genelikle konularına göre farklı site bölümlerinde yayınlanır. Bölümü belirtmek için BreadcrumbList
sınıfını kullanın. Bu şekilde genellikle ilgili konuya adanan ve söz konusu yazıyla sonuçlanan sayfa zinciri ("ekmek kırıntıları" anlamındaki "bread crumbs") belirlenir. BreadcrumbList
'in içinde ListItem
türünde ve itemListElement
özelliğine sahip birkaç öğe belirlenmelidir. Bu öğeler ilgili bölümün yanı sıra ayrıca ilgili daha geniş bölümler belirleyip açıklar.
Bölümlerin içiçelik (veya yuvalama) düzeyleri (hangi bölümün daha geniş olan hangi bölümün bir parçası olduğu) ListItem
sınıfının position
özelliği ile 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 ikinci düzeye (Hava Durumu’na) ilişkilendirilir.
Böylece Listİtem
öğesinde position
değeri en yüksek olan name
özelliği 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.
<ol itemscope itemtype="http://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope
itemtype="http://schema.org/ListItem">
<a itemprop="item" href="//example-news.ru/life">
<span itemprop="name">Yaşam</span></a>
<meta itemprop="position" content="1" />
</li>
<li itemprop="itemListElement" itemscope
itemtype="http://schema.org/ListItem">
<a itemprop="item" href="//example-news.ru/life/weather">
<span itemprop="name">Hava Durumu</span></a>
<meta itemprop="position" content="2" />
</li>
</ol>
Özellik açıklaması
Hazırlayan kişi
Yazıyı hazırlayan kişi author
özelliğiyle belirtilir. İçeriği birkaç kişi hazırladıysa bunları farklı etiketlerde belirtin.
html <div itemprop="author">Ali Örnek</div>
İlgili değer ayrıca;
-
Person
sınıfınınname
özelliği<div itemprop="author" itemscope itemtype="http://schema.org/Person"> <span itemprop="name">Ali Örnek</span> </div>
-
veya
href
bağlantı özelliği ile sağlanabilir.<link itemprop='author' href="/example/authors/ali_ornek.html"/>
Bu veriler sayesinde Yandex Metrica'da farklı yazarlarla ilgili istatistiklere erişebilirsiniz.
Özellik açıklaması
Konu
Yazı konusu olarak örneğin anahtar sözcükler veya hashtag'ler işaretlenebilir. Bu amaçla her konu için about
özelliğini özel olarak belirlemeniz gerekir. Değer herhangi bir sınıf name
özelliğinden alınabilir:
<div itemprop="about">Aşırı sıcaklık</div>
<div itemprop="about" itemscope itemtype="https://schema.org/Thing">
<span itemprop="name">Moskova</span>
</div>
Özellik açıklaması
Kanonik web bağlantısı
Yazının URL'si url
özelliğiyle belirtilir.
<a itemprop="url" href="https://www.example-news.com/life/weather/moscow">example-news.com</a>
url
özelliği bulunmadığında ilgili kanonik bağlantı aranır. Söz konusu sayfa sitedeki ana sayfanın bir kopyasıysa "kanonik" bağlantı ilgili orijinal yazıya yönlendirir. Kanonik bağlantı şöyle bir özellik ile işaretlenir: rel = "canonical"
. Örneğin, yazı http://www.example-news.com/page
sayfasının bir kopyasıysa özellik <link rel="canonical" href="http://www.example-news.com/page"/>
şeklinde belirtilir. Böylece kanonik bağlantıdaki href
özelliğinin değeri yazının URL'si olarak kullanılır.
Bulunan değer, yazının kimlik belirleyicisini oluştururken kullanılabilir.