Kitap

Kitap işlemleri, Google Arama'yı, kitapları ve yazarları keşfetmek için bir giriş noktası haline getirir. Böylece, Arama kullanıcıları buldukları kitapları doğrudan Arama sonuçlarından satın alabilir veya ödünç alabilir. Örneğin, Charlotte'un Sevgi Ağı'nı arayan bir kullanıcıya kitabı satın alma veya ödünç alma imkanı sunan sonuçlar gösterilebilir. Bir kitap sağlayıcısı olarak, buradaki yapılandırılmış veri şemasını kullanarak Google'a bir veri feed'i sağlayabilirsiniz. Spesifikasyonumuz, kullanıcılara kitap satın almak için ReadAction, kitap ödünç almak içinse BorrowAction işlemini sağlar.

Arama sonuçlarında kitap işlemi

Panellere dahil edilen okuma işlemleri ve ödünç işlemleri, kitabı satın alma veya ödünç alma seçeneklerini görüntüler. Sağladığınız bağlantılar yoluyla, okuma işlemleri ve ödünç alma işlemleri kullanıcıları bilgi panelinden ve diğer Google yüzeylerinden doğruca web sitenizdeki veya uygulamanızdaki bir kitap sayfasına gönderir.

Bilgi panelindeki sağlayıcıların sıralaması her kullanıcıya göre kişiselleştirilir ve dinamik olarak sunulur. Bu da farklı kullanıcıların farklı sıralamalar gördüğü ve aynı kullanıcının farklı zamanlarda farklı sıralamalar görebileceği anlamına gelir. Belirli bir sıralamayı etkileyen çeşitli faktörler vardır. Örneğin, bir kullanıcı bilgi panelindeki belirli bir sağlayıcının bağlantısını sık sık tıklarsa o sağlayıcının sıralamanın daha üst noktalarında yer alma ihtimali artar. Sıralamayı kontrol etmenin bir yolu yoktur.

Başlayın

Kitap işlemlerini başarılı bir şekilde uygulamak için feed'inizi Kitap işlemleri yapılandırılmış veri türü tanımlarına göre oluşturmanız gerekir. Fakat önce aşağıdaki bölümleri inceleyin:

Yönergeler

Kitaplarınızın Arama'da güvenilir bir şekilde gösterilmesini sağlamak için bazı önemli ayrıntılara ve temel kavramlara aşina olmanız önemlidir. Ayrıca feed'inizin bazı standart biçim özelliklerine uygun olması gerekir.

Genel yapılandırılmış veri yönergelerine ve web yöneticisi yönergelerine ek olarak burada açıklanan yönergeleri uygulamanız size bu konuda yardımcı olacaktır. Yönergeler aşağıdaki gibidir:

Eserler ve sürümler

Bu belgede, bir kitaptan bahsederken iki farklı terim kullanırız:

  • Eser: Soyut olarak kitap kavramını ifade eder. Özellikle başlık, yazar ve orijinal dil gibi meta veriler bir eserin özellikleridir.
  • Sürüm: Kitabın somut bir kopyasını ifade eder. Özellikle yayın yılı, baskının adı ve Uluslararası Standart Kitap Numarası (ISBN) gibi meta veriler sürümün özellikleridir.

Örneğin, Charlotte'un Sevgi Ağı bir eserdir, ancak onun her versiyonu bir sürümdür. Bu durumda, Charlotte'un Sevgi Ağı'nın ilk sürümü, ikinci sürümü, kısaltılmış sürümü, Fransızca çeviri sürümü vb. olabilir.

Bu ayrım, özellikle feed'de hemen görülemeyebileceği durumlarda önemlidir. İki Book varlık vardır:

  • Book (Work) "üst düzey" Book varlığıdır:
    • workExample, Work varlığının bir özelliği olup Book (Edition) varlığının yalnızca tek bir örneğini belirtir.
    • Her Work için en az bir workExample olmalıdır.
  • Book (Edition), "alt düzey" Book varlığıdır.

Bir eserin birden fazla sürümünün olabileceğini unutmayın. Bu sürümleri mümkün olduğunca gruplandırmanızı öneririz. Bu, Google sistemlerinin bir kitapla ilgili tüm bilgilerden yararlanarak kitabı Arama'da göstermesine yardımcı olur. Gerekirse bunları birden fazla eser kaydına bölebilirsiniz, ancak her eser kaydının aşağıdakilere sahip olması gerekir:

  • Başka bir @id.
  • ISBN'ye veya başka bir desteklenen tanımlayıcıya sahip en az bir sürüm.

Kitaplık sistemleri ve kitaplık üyeleri

Library entity, "üst düzey" Library varlık türüdür. Bu, bir LibrarySystem varlığından ve o kitaplık sisteminin her "alt düzey" Library (member) varlığından oluşan soyut bir yapıdır.

LibrarySystem varlığı bir soyutlama olup kitaplık üyelerinden oluşan ortak bir ağı temsil eder. Örneğin, Austin Halk Kütüphanesi bir LibrarySystem varlığı olarak belirtilebilir. Austin Halk Kütüphanesi web sitesi kendisini Austin, Teksas'ta hizmet veren bir halk kütüphanesi sistemi olarak tanımlamaktadır. Satış ortağı olan 20 kitaplıktan veya kitaplık üyelerinden oluşmaktadır.

Her LibrarySystem varlığı, kitaplık gerçek hayatta herhangi bir kitaplık sisteminin parçası olmasa bile en az bir Library (member) varlığı gerektirir. Bu senaryoda, Kitap işlemi uygulaması için kitaplık, kendi kitaplık sisteminin tek kitaplık üyesidir. Kitap işlemi uygulamasında, kitaplık sisteminin aksine, kitaplık üyesi bir soyutlama olmadığı için fiziksel bir adrese sahiptir.

Buna karşılık, her Library (member) varlığı en az bir LibrarySystem varlığına ait olmalıdır.

ISBN ve diğer desteklenen tanımlayıcılar

ISBN, feed verileriniz Google Arama tarafından Google'ın verileriyle eşleştirilirken ana mutabakat sinyalidir. Arama sonuçlarında görünmesini istediğiniz tüm kitaplar için bir ISBN veya desteklenen başka bir tanımlayıcı sağlamanız gerekir. Aksi halde, kitaplarınız eşleştirilemeyeceği için sunulmayabilir.

Google Arama, ISBN-13'ü tercih eder. Ancak alternatif olarak şunları da sağlayabilirsiniz:

  • Çevrimiçi Bilgisayar Kütüphanesi Merkezi (OCLC) Numarası
  • Kongre Kütüphanesi Kontrol Numarası (LCCN)

Kullanıcıların kitaplarınızı bulurken en iyi deneyimi yaşadığından emin olmak için feed'inizdeki bağlantılar aşağıdaki yönergelere uygun olmalıdır:

  • Aynı içerik için kopya sayfalarınız varsa bağlantı, kitap başlığını ve diğer kitap bilgilerini içeren standart URL olmalıdır.
  • Kullanıcı, bir okuma veya ödünç alma işlem bağlantısını tıkladıktan sonra, kitabın satın alınmasını veya ödünç alınmasını doğrudan destekleyen bir sayfaya yönlendirilmelidir. Daha net bir şekilde ifade etmek gerekirse işlem bağlantılarını, içeriği satın almak veya ödünç almak için daha fazla bağlantının tıklanmasını gerektiren sayfalara yönlendirmeyin. Örneğin, kullanıcıları bir arama sonuçları sayfasına veya ürün özeti sayfasına yönlendirmeyin.

Feed'inizi oluşturma

Sitenizde kullanıcılara kitap satışı yapılıyorsa Book feed'inizi yüklemeniz gerekir. Google temsilcinizle iletişime geçerek feed'inizi nasıl ve nereye yükleyeceğinizi öğrenebilirsiniz.

Sitenizde kullanıcılara kitap ödünç veriliyorsa iki ayrı feed yüklemeniz gerekir: Book feed'iniz ve Library feed'iniz. Google temsilcinizle iletişime geçerek feed'inizi nasıl ve nereye yükleyeceğinizi öğrenebilirsiniz.

Feed dosya boyutu, miktar ve biçim gereksinimlerine uyma

İlgili şartlar aşağıda belirtilmiştir:

  • Feed dosya boyutu gereksinimleri:
    • Sıkıştırılmamış bir feed dosyasının boyutu 1 GB'tan küçük olmalıdır.
    • Sıkıştırılacak feed dosyası 1 GB'tan küçük olmalıdır. Sıkıştırılmamış feed dosyanızın boyutu 1 GB'ı aşıyorsa onu birkaç dosyaya bölmeniz gerekir.
  • Feed dosyalarını sıkıştırabilirsiniz. Bunlar zip, gz, tar, tar.gz, JAR, ar, arj, cpio veya dump arşiv dosyası biçiminde olmalıdır.
  • Birden fazla feed dosyanız varsa bunları olduğu gibi yükleyebilir ya da bir site haritası dizin dosyasının parçası olarak ekleyebilirsiniz.
  • Tek feed dosyaları .json dosya adı uzantısına sahip olmalıdır.

Feed içeriği gereksinimlerine uyma

Özellikle aşağıdaki feed içeriği gereksinimlerine uymanız gerekir:

  • Feed eski varlıklar içermemelidir. Eski varlıklar, availabilityEnds öğesinin geçmişte bir tarihe ayarlandığı veya artık sitenizde bulunmayan varlıklardır.
  • Feed'inize dahil ettiğiniz tüm derin bağlantılar (ör. urlTemplate) ve tüm URL'ler (ör. url) üretim URL'si olmalıdır. Üretim URL'si dışındaki URL türlerini (ör. QA, geliştirme vb.) kullanmayın.
  • url gibi tüm URL'ler standart olmalıdır.
  • Feed'inizdeki her varlık aşağıdaki özellikleri belirtmelidir:
    • Benzersiz bir kimlik: @id
    • Benzersiz bir URL: url
    • Benzersiz bir derin bağlantı: urlTemplate

Feed'inizi Veri Feed'i doğrulama aracıyla test etme

Veri Feed'i doğrulama aracında sık karşılaşılan hata ve uyarıları çözmek için aşağıdaki sorun giderme adımlarını uygulamanızı öneririz:

  • Validate on alanında doğru seçeneği belirlediğinizden emin olun. Book varlığı için Kitap İşlemi'ni seçin.

  • @type değerinin doğru yazıldığından emin olun.
  • @context değerinin doğru şekilde ayarlandığından emin olun. Hem ReadAction hem de BorrowAction için "@context": "http://schema.org" değerini ayarlayın.

Feed dosyanızı barındırma

Hazır olduğunda feed dosyanızı güvenli bir yerde barındırın. Google, içeriğinizin güncel olmasını sağlamak için feed'i düzenli olarak getirir.

Barındırma yöntemleri

Aşağıdaki feed barındırma yöntemleri desteklenir:

Barındırma Kimlik Doğrulama Desteği
Google Cloud Storage Storage Object Viewer izni
HTTPS Kullanıcı Adı+Şifre veya HTTP istemci sertifikaları
SFTP Şifre, Anahtar+Kelime Öbeği veya her ikisi de
AWS S3 Anahtar Kimliği+Erişim Anahtarı

Feed dosyanızı incelemeye gönderme

İçeriğinizin Google Arama'da kullanılabilmesi için bir Google destek ekibi, feed'inizdeki derin bağlantıların kalitesini inceler. Kullanıcıların kitap satın alabileceği veya ödünç alabileceği sayfayı açıp açmadığını onaylamak için derin bağlantılardan bazılarını manuel olarak test etmenizi önemle tavsiye ederiz.

Feed'inizi incelemeye gönderirken aşağıdakileri sağlayın:

  • Ana makine konumu: Feed dosyanızın URL'si.
  • Geçerliyse ana makine kimlik doğrulaması: Google'ın, feed dosyasını ana makine konumunuzdan almasını sağlayan kimlik doğrulama bilgileri.

Gerektiğinde feed'inizi güncelleme

Feed'inizi her gün güncellemenizi önersek de bu, kataloğunuzun ne sıklıkla değiştiğine bağlıdır. Aşağıdaki koşullara ve ipuçlarına dikkat edin:

  • Google Arama, gerçek zamanlı güncellemeleri desteklemez.
  • Google Arama, feed'inizi günde bir kez getirir ve aktarımı günde bir kez gerçekleştirir. Yayını engelleyen önemli bir sorun yoksa aktarım genellikle iki gün sürer.
  • Bir sürümün kullanılabilirliğiyle ilgili öngörülebilir bir değişiklik varsa tam tarihleri ayarlamak için availabilityStarts ve availabilityEnds kullanın. Öğe artık kullanılamıyorsa tamamen kaldırın

Yapılandırılmış veri türü tanımları

İçeriğinizin yapılandırılmış arama sonuçlarında görüntülenmeye uygun olması için burada belirtilen zorunlu özellikleri eklemeniz gerekir. İçeriğiniz hakkında daha fazla bilgi ekleyerek daha iyi bir kullanıcı deneyimi sağlamak için, önerilen özellikleri de dahil edebilirsiniz.

DataFeed varlığı

Google'a gönderilen her schema.org veri feed'i dosyası, kök düzeyinde tek bir DataFeed varlığı içermelidir. Tüm Book ve Library varlıkları, DataFeed varlığının dataFeedElement alanında listelenmelidir.

Zorunlu özellikler
@context

Text

http://schema.org olarak ayarlayın.

@type

Text

DataFeed olarak ayarlayın.

dataFeedElement

Book veya LibrarySystem

Tek bir Book varlığı veya LibrarySystem varlığı olarak ayarlayın. Aksi takdirde yalnızca Book varlığı veya LibrarySystem varlığı dizisi olarak ayarlayın. Bunu hem Book varlıklarını hem de LibrarySystem varlıklarını içeren bir dizi olarak ayarlamayın.

Book feed'inde örnek kullanım:


{
  "@context": "http://schema.org",
  "@type": "DataFeed",
  "dataFeedElement": [
    {
      "@context": "http://schema.org",
      "@type": "Book",
      "@id": "http://example.com/work/the_catcher_in_the_rye",
      "url": "http://example.com/work/the_catcher_in_the_rye",
      "name": "The Catcher in the Rye",
      "author": {
        "@type": "Person",
        "name": "J.D. Salinger"
      },
      "sameAs": "https://en.wikipedia.org/wiki/The_Catcher_in_the_Rye",
      "workExample": [
        {
          "@type": "Book",
          "@id": "http://example.com/edition/the_catcher_in_the_rye_paperback",
          "isbn": "9787543321724",
          "bookEdition": "Mass Market Paperback",
          "bookFormat": "http://schema.org/Paperback",
          "inLanguage": "en",
          ...
        },
        ...
      ]
   }
  ],
  "dateModified": "2018-09-10T13:58:26.892Z"
}

LibrarySystem feed'inde örnek kullanım:


{
  "@context": "http://schema.org",
  "@type": "DataFeed",
  "dataFeedElement": [
    {
      "@context": "http://schema.org",
      "@type": "LibrarySystem",
      "@id": "http://example.com/library-systems/100",
      "name": "Santa Clara County Library District",
      "additionalProperty": [
        {
          "@type": "PropertyValue",
          "name": "librarytype",
          "value": "public"
        }
      ],
      ...
    },
    ...
  ],
  "dateModified": "2018-09-10T13:58:26.892Z"
}
dateModified

DateTime

Feed'in son güncellemesinin ISO 8601 biçimindeki tarihi ve saati.

Book varlığı

Book öğesinin tam tanımını schema.org/Book adresinde bulabilirsiniz. Bununla birlikte, yalnızca aşağıdaki özellikleri göz önünde bulundurmanız gerekir. Feed'inize dahil etmek istediğiniz her kitap için zorunlu özellikleri tanımlamanız gerekir. İçeriğiniz hakkında daha fazla bilgi ekleyerek daha iyi bir kullanıcı deneyimi sağlamak için, önerilen özellikleri de tanımlayabilirsiniz.

Book (Work)

Bu Book varlığı, üst düzey varlık türüdür. Bir eseri temsil eder.

Zorunlu özellikler
@context

Text

http://schema.org olarak ayarlayın.

@id

Text

Kitabın URL biçimindeki genel olarak benzersiz kimliği. Kuruluşunuza özgü olmalıdır. Kimlik sabit olup zaman içinde değişmemelidir. URL biçimi önerilir, ancak zorunlu değildir. Çalışan bir bağlantı olması gerekmez. @id değeri için kullanılan alan adı, kuruluşunuza ait olmalıdır.

@type

Text

Book olarak ayarlayın.

author

Person veya Organization

Kitabın yazarları.

name

Text

Kitabın başlığı.

url

URL

Web sitenizde kitabın tanıtıldığı veya anlatıldığı URL. Bu bağlantı, feed'inizdeki içeriğin Google'ın veritabanlarındaki içerikle doğru bir şekilde eşleştirilmesine yardımcı olur. workExample.target.urlTemplate ile aynı olabilir.

Google Arama, gerçek açılış sayfası için workExample.target.urlTemplate içinde sağlanan URL'yi kullanır.

workExample

Book (Edition)

Eserin sürümleri.

Önerilen özellikler
sameAs

URL

Eserin kimliğini açık bir şekilde tanımlayan bir referans web sayfasının URL'si. Örneğin, kitaba ait bir Vikipedi, Vikiveri, VIAF veya Kongre Kütüphanesi sayfası.

Book (Edition)

workExample özelliği bu Book varlığını kullanır. Bir eserin sürümünü temsil eder.

Zorunlu özellikler
@id

Text

Kitabın URL biçimindeki genel olarak benzersiz kimliği. Kuruluşunuza özgü olmalıdır. Kimlik sabit olup zaman içinde değişmemelidir. URL biçimi önerilir, ancak zorunlu değildir. Çalışan bir bağlantı olması gerekmez. @id değeri için kullanılan alan adı, kuruluşunuza ait olmalıdır.

@type

Text

Book olarak ayarlayın.

bookFormat

Enum

Sürümün biçimi. Bunun değeri aşağıdakilerden biri olmalıdır:

  • http://schema.org/AudiobookFormat
  • http://schema.org/EBook
  • http://schema.org/Hardcover
  • http://schema.org/Paperback
inLanguage

Text

Sürümün içeriğinin ana dili. ISO 639-1 alfa-2 kodları listesindeki iki harfli kodlardan birini kullanın.

isbn

Text

Sürümün ISBN-13'ü. ISBN-10’unuz varsa ISBN-13'e dönüştürün. E-kitabın veya sesli kitabın ISBN'si yoksa basılı kitabın ISBN'sini kullanın. Örneğin, e-kitap sürümünün ISBN'si yoksa ilgili basılı sürümün ISBN'sini kullanın.

potentialAction

ReadAction veya BorrowAction

Kullanıcıların kitabı satın alması veya indirmesi için tetiklenecek işlem. Daha fazla bilgiyi ReadAction veya BorrowAction bölümünde bulabilirsiniz.

Önerilen özellikler
author

Person veya Organization

Sürümün yazarları.

bookEdition

Text

Kitabın serbest metin biçimindeki sürüm bilgileri. Örneğin, 2nd Edition.

datePublished

Date

Sürümün YYYY-MM-DD veya YYYY biçimindeki yayın tarihi. Bu, belirli bir tarih veya yalnızca belirli bir yıl olabilir.

identifier

PropertyValue

Bu sürümü açık bir şekilde tanımlayan harici veya diğer kimlik. Birden fazla tanımlayıcıya izin verilir. Daha fazla bilgi için PropertyValue (identifier) bölümüne bakın.

Bu özellik tekrarlanabilir.

name

Text

Sürümün başlığı. Bunu yalnızca sürümün başlığı, eserin başlığından farklıysa kullanın.

sameAs

URL

Sürümü açık bir şekilde tanımlayan bir referans web sayfasının URL'si. Örneğin, bu sürümle ilgili bir Vikipedi sayfası. Work varlığının sameAs değerini yeniden kullanmayın.

url

URL

Web sitenizde sürümün tanıtıldığı veya anlatıldığı URL. workExample.target.urlTemplate ile aynı olabilir.

Örnek Book (Edition):

"workExample":
        {
          "@type": "Book",
          "@id": "http://example.com/book/100",
          "inlanguage": "en",
          "isbn": "8920000030001",
          "bookEdition": "20 Anniversary Edition",
          "datePublished": "2000-02-26",
          "bookFormat": "http://schema.org/Hardcover",
          "potentialAction": {...}
        }

Birden fazla workExample özelliği içeren örnek Book (Edition):

"workExample": [
        {
          "@type": "Book",
          "@id": "http://example.com/book/200",
          "inlanguage": "zh",
          "isbn": "9000031676948",
          "bookEdition": "2nd Edition",
          "bookFormat": "http://schema.org/Hardcover",
          "potentialAction": {...}
        },
        {
          "@type": "Book",
          "@id": "http://example.com/book/300",
          "inlanguage": "zh",
          "isbn": "90000031676947",
          "bookEdition": "1st Edition",
          "bookFormat": "http://schema.org/EBook",
          "potentialAction": {...}
      }
 ]

Person veya Organization (author)

Kitabın author özelliği, Person veya Organization varlığını kullanır.

Zorunlu özellikler
@type

Text

Person veya Organization olarak ayarlayın.

name

Text

Kişinin veya kuruluşun adı.

Önerilen özellikler
sameAs

URL

Kişinin veya kuruluşun kimliğini açık bir şekilde tanımlayan bir referans web sayfasının URL'si. Örneğin, kişi veya kuruluşla ilgili bir Wikipedia sayfası.

Örnek author:

"author": {
  "@type": "Person",
  "name": "William Shakespeare"
}

Birden fazla author özelliği içeren örnek:

"author": [
  {
    "@type": "Person",
    "name": "William Shakespeare"
  },
  {
    "@type": "Person",
    "name": "Victor Hugo",
    "sameAs": "https://en.wikipedia.org/wiki/Victor_Hugo"
  }
]

PropertyValue (tanımlayıcı)

Edition öğesinin identifier özelliği PropertyValue varlığını kullanır.

Zorunlu özellikler
@type

Text

PropertyValue olarak ayarlayın.

propertyID

Text

Kimlik türü. ISBN ve diğer desteklenen tanımlayıcılar bölümünde açıklandığı gibi aşağıdakilerden biri olmalıdır:

  • OCLC_NUMBER
  • LCCN
value

Text

Kimlik değeri. Bu sürümü açık bir şekilde tanımlayan harici kimlik. Harici kimliğin sayısal olmayan tüm ön eklerini kaldırın.

Örnek identifier:

    "identifier": {
      "@type": "PropertyValue",
      "propertyID": "OCLC_NUMBER",
      "value":  "110123456"
    }

Birden fazla identifier özelliği içeren örnek:

    "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "OCLC_NUMBER",
      "value":  "110123456"
    },
    {
      "@type": "PropertyValue",
      "propertyID": "LCCN",
      "value":  "220123456"
    }]

Örnek ReadAction Book feed'i JSON dosyası

{
  "@context": "http://schema.org",
  "@type": "DataFeed",
  "dataFeedElement": [
    {
      "@context": "http://schema.org",
      "@type": "Book",
      "@id": "http://example.com/work/the_catcher_in_the_rye",
      "url": "http://example.com/work/the_catcher_in_the_rye",
      "name": "The Catcher in the Rye",
      "author": {
        "@type": "Person",
        "name": "J.D. Salinger"
      },
      "sameAs": "https://en.wikipedia.org/wiki/The_Catcher_in_the_Rye",
      "workExample": [
        {
          "@type": "Book",
          "@id": "http://example.com/edition/the_catcher_in_the_rye_paperback",
          "isbn": "9787543321724",
          "bookEdition": "Mass Market Paperback",
          "bookFormat": "http://schema.org/Paperback",
          "inLanguage": "en",
          "url": "http://example.com/edition/the_catcher_in_the_rye_paperback",
          "datePublished": "1991-05-01",
          "identifier": {
            "@type": "PropertyValue",
            "propertyID": "OCLC_NUMBER",
            "value": "1057320822"
          },
          "potentialAction": {
            "@type": "ReadAction",
            "target": {
              "@type": "EntryPoint",
              "urlTemplate": "http://example.com/store/9787543321724",
              "actionPlatform": [
                "http://schema.org/DesktopWebPlatform",
                "http://schema.org/AndroidPlatform",
                "http://schema.org/IOSPlatform"
              ]
            },
            "expectsAcceptanceOf": {
              "@type": "Offer",
              "category": "purchase",
              "Price": 6.99,
              "priceCurrency": "USD",
              "availabilityStarts": "2020-01-01T11:0:00-04:00",
              "availabilityEnds": "2050-06-30T23:59:00-04:00",
              "eligibleRegion": {
                "@type": "Country",
                "name": "US"
              }
            }
          }
        },
        {
          "@type": "Book",
          "@id": "http://example.com/edition/the_catcher_in_the_rye_hardcover",
          "isbn": "9780316769532",
          "bookEdition": "Hardcover",
          "bookFormat": "http://schema.org/Hardcover",
          "inLanguage": "en",
          "url": "http://example.com/edition/the_catcher_in_the_rye_hardcover",
          "datePublished": "1951-07-16",
          "potentialAction": {
            "@type": "ReadAction",
            "target": {
              "@type": "EntryPoint",
              "urlTemplate": "http://example.com/store/9780316769532",
              "actionPlatform": [
                "http://schema.org/DesktopWebPlatform",
                "http://schema.org/AndroidPlatform",
                "http://schema.org/IOSPlatform"
              ]
            },
            "expectsAcceptanceOf": [
              {
                "@type": "Offer",
                "category": "nologinrequired",
                "availabilityStarts": "2020-01-01T11:0:00-04:00",
                "availabilityEnds": "2050-06-30T23:59:00-04:00",
                "eligibleRegion": [
                  {
                    "@type": "Country",
                    "name": "US"
                  },
                  {
                    "@type": "Country",
                    "name": "GB"
                  }
                ]
              },
              {
                "@type": "Offer",
                "category": "Subscription",
                "availabilityStarts": "2020-01-01T11:0:00-04:00",
                "availabilityEnds": "2050-06-30T23:59:00-04:00",
                "eligibleRegion": {
                  "@type": "Country",
                  "name": "IN"
                }
              }
            ]
          }
        }
      ]
    }
  ],
  "dateModified": "2018-09-10T13:58:26.892Z"
}

Örnek BorrowAction Book feed'i JSON dosyası

{
  "@context": "http://schema.org",
  "@type": "DataFeed",
  "dataFeedElement": [
    {
      "@context": "http://schema.org",
      "@type": "Book",
      "@id": "http://example.com/work/the_catcher_in_the_rye",
      "url": "http://example.com/work/the_catcher_in_the_rye",
      "name": "The Catcher in the Rye",
      "author": {
        "@type": "Person",
        "name": "J.D. Salinger"
      },
      "sameAs": "https://en.wikipedia.org/wiki/The_Catcher_in_the_Rye",
      "workExample": [
        {
          "@type": "Book",
          "@id": "http://example.com/edition/the_catcher_in_the_rye_paperback",
          "isbn": "9787543321724",
          "bookEdition": "Mass Market Paperback",
          "bookFormat": "http://schema.org/Paperback",
          "inLanguage": "en",
          "url": "http://example.com/edition/the_catcher_in_the_rye_paperback",
          "datePublished": "1991-05-01",
          "identifier": {
            "@type": "PropertyValue",
            "propertyID": "OCLC_NUMBER",
            "value": "1057320822"
          },
          "potentialAction": {
            "@type": "BorrowAction",
            "lender": {
              "@type": "LibrarySystem",
              "@id": "http://example.com/librarySystem/100"
            },
            "target": {
              "@type": "EntryPoint",
              "urlTemplate": "http://example.com/borrowpurchase?bookId=170",
              "actionPlatform": [
                "http://schema.org/DesktopWebPlatform",
                "http://schema.org/AndroidPlatform",
                "http://schema.org/IOSPlatform"
              ]
            }
          }
        },
        {
          "@type": "Book",
          "@id": "http://example.com/edition/the_catcher_in_the_rye_hardcover",
          "isbn": "9780316769532",
          "bookEdition": "Hardcover",
          "bookFormat": "http://schema.org/Hardcover",
          "inLanguage": "en",
          "url": "http://example.com/edition/the_catcher_in_the_rye_hardcover",
          "datePublished": "1951-07-16",
          "potentialAction": {
            "@type": "BorrowAction",
            "lender": {
              "@type": "LibrarySystem",
              "@id": "http://example.com/librarySystem/100"
            },
            "target": [
              {
                "@type": "EntryPoint",
                "urlTemplate": "http://example.com/borrowpurchase?bookId=170",
                "actionPlatform": [
                  "http://schema.org/DesktopWebPlatform"
                ]
              },
              {
                "@type": "EntryPoint",
                "urlTemplate": "http://example.com/mobile/borrowpurchase?bookId=170",
                "actionPlatform": [
                  "http://schema.org/AndroidPlatform",
                  "http://schema.org/IOSPlatform"
                ]
              }
            ]
          }
        }
      ]
    }
  ],
  "dateModified": "2018-09-10T13:58:26.892Z"
}

ReadAction (potentialAction)

potentialAction özelliği ReadAction varlığını kullanır. ReadAction, kitaba erişmek için derin bağlantılarınızı, kitabı stokta bulunduran perakendeciyi ve kullanıcıların uyması gereken ölçütleri tanımlar. Ölçütler arasında üyelik durumu, giriş durumu, konum veya kitaba erişmek için gereken diğer öğeler yer alabilir.

Zorunlu özellikler
@type

Text

ReadAction olarak ayarlayın.

expectsAcceptanceOf

Offer

Kullanıcıların bu varlığa erişmek için yerine getirmesi gereken şartların tanımı. Birden fazla Offer özelliği varsa Offer ölçütlerinden herhangi birine uyan bir kullanıcı içeriğe erişebilir.

Bu özellik tekrarlanabilir.

expectsAcceptanceOf.@type

Text

Offer olarak ayarlayın.

expectsAcceptanceOf.category

Text

Offer türü. Bu, aşağıdaki değerlerden biri olmalıdır:

  • nologinrequired: Kullanıcı, içeriğe erişmek için giriş veya satın alma yapmadan işlem gerçekleştirebilir.
  • free: Kullanıcı herhangi bir satın alma işlemi yapmadan veya ücretli abonelik satın almadan işlem gerçekleştirebilir. Ancak işlem, kullanıcının giriş yapmasını gerektirir.
  • subscription: Kitap, hizmetinizin ücretli aboneliğine dahildir.
  • purchase: Kitaba satın alma yoluyla erişilebilir.
  • rental: Kitaba satın alma işleminden sonra sınırlı bir süreliğine erişilebilir.
expectsAcceptanceOf.eligibleRegion

Country

Bu Offer için uygun ülke. Bu, söz konusu içeriğin kullanılabildiği veya kullanılamadığı ülke ve bölgeyi kontrol etmek için kullanılabilir.

Bu özellik tekrarlanabilir.

expectsAcceptanceOf.eligibleRegion.@type

Text

Country olarak ayarlayın.

expectsAcceptanceOf.eligibleRegion.name

Text

ISO 3166-1 alpha-2 ülke kodu.

target

EntryPoint

Desteklenen platform bilgilerini içeren derin bağlantınızın özellikleri. Farklı platform grupları için farklı derin bağlantıları tanımlamak üzere birden fazla EntryPoint özelliği kullanılabilir.

Bu özellik tekrarlanabilir.

target.@type

Text

EntryPoint olarak ayarlayın.

target.actionPlatform

Text

Bu derin bağlantının geçerli olduğu platformlar. Aşağıdaki değerlerden birini kullanın:

  • http://schema.org/DesktopWebPlatform
  • http://schema.org/AndroidPlatform
  • http://schema.org/IOSPlatform

Bu özellik tekrarlanabilir.

target.urlTemplate

URL

Kullanıcıların içeriğinizi oynatmaya başlamak için kullandığı bağlantı.

Önerilen özellikler
expectsAcceptanceOf.availabilityEnds

DateTime

Kullanım döneminin bitiş zamanı. Bu, kitabın kullanıcılara tam olarak ne zamandan itibaren sunulmaması gerektiğini kontrol etmek için kullanılabilir.

expectsAcceptanceOf.availabilityStarts

DateTime

Kullanım döneminin başlangıç zamanı. Bu, kitabın kullanıcılara tam olarak ne zaman sunulabileceğini kontrol etmek için kullanılabilir.

expectsAcceptanceOf.price

Number

Kitabın satın alma fiyatı. Bu, Offer özelliğinin category değeri purchase veya rental olarak ayarlandığında gereklidir.

expectsAcceptanceOf.priceCurrency

Text

Fiyatın üç harfli ISO 4217 biçimindeki para birimi.

Örnek ReadAction:

"potentialAction": {
  "@type": "ReadAction",
  "target": {
    "@type": "EntryPoint",
    "urlTemplate": "http://example.com/purchase?bookId=170",
    "actionPlatform": [
      "http://schema.org/DesktopWebPlatform",
      "http://schema.org/AndroidPlatform",
      "http://schema.org/IOSPlatform"
    ]
  },
  "expectsAcceptanceOf": {
    "@type": "Offer",
    "category": "purchase",
    "price": "9.99",
    "priceCurrency": "USD",
    "availabilityStarts": "2018-04-01T11:01:00-04:00",
    "availabilityEnds": "2018-06-30T23:59:00-04:00",
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    }
  }
}

Birden fazla EntryPoint özelliği içeren ReadAction örneği:

"potentialAction": {
  "@type": "ReadAction",
  "target": [
    {
      "@type": "EntryPoint",
      "urlTemplate": "http://example.com/purchase?bookId=170",
      "actionPlatform": [
        "http://schema.org/DesktopWebPlatform"
      ]
    },
    {
      "@type": "EntryPoint",
      "urlTemplate": "http://example.com/mobile/purchase?bookId=170",
      "actionPlatform": [
        "http://schema.org/AndroidPlatform",
        "http://schema.org/IOSPlatform"
      ]
    }
  ],
  "expectsAcceptanceOf": [
    {
      "@type": "Offer",
      "category": "noLoginRequired",
      "availabilityStarts": "2018-04-01T11:01:00-04:00",
      "availabilityEnds": "2018-06-30T23:59:00-04:00",
      "eligibleRegion": [
        {
          "@type": "Country",
          "name": "US"
        },
        {
          "@type": "Country",
          "name": "GB"
        }
      ]
    },
    {
      "@type": "Offer",
      "category": "Subscription",
      "availabilityStarts": "2018-04-01T11:01:00-04:00",
      "availabilityEnds": "2018-06-30T23:59:00-04:00",
      "eligibleRegion": {
        "@type": "Country",
        "name": "IN"
      }
    }
  ]
}

BorrowAction (potentialAction)

potentialAction özelliği BorrowAction varlığını kullanır. BorrowAction, kitaba erişmek için derin bağlantılarınızı, kitabı stokta bulunduran kitaplığı ve kullanıcıların uyması gereken ölçütleri tanımlar. Ölçütler arasında üyelik durumu, giriş durumu, konum veya kitaba erişmek için gereken diğer öğeler yer alabilir.

Zorunlu özellikler
@type

Text

BorrowAction olarak ayarlayın.

lender

LibrarySystem

Bu sürüme erişim olanağı sunan kitaplık sistemi.

lender.@id

URL

Kitaplık feed'inde ayrıca tam olarak açıklanması gereken LibrarySystem kimlik referansları.

lender.@type

Text

LibrarySystem olarak ayarlayın.

target

EntryPoint

Desteklenen platform bilgilerini içeren derin bağlantınızın özellikleri. Farklı platform grupları için derin bağlantıları tanımlamak üzere bir EntryPoint dizisi belirtin.

Bu özellik tekrarlanabilir.

target.@type

Text

EntryPoint olarak ayarlayın.

target.actionPlatform

Text

Bu derin bağlantının geçerli olduğu platformlar. Aşağıdaki değerlerden birini kullanın:

  • http://schema.org/DesktopWebPlatform
  • http://schema.org/AndroidPlatform
  • http://schema.org/IOSPlatform

Bu özellik tekrarlanabilir.

target.urlTemplate

URL

İçeriğinizi oynatmaya başlayan bağlantı.

Örnek BorrowAction:

"potentialAction": {
  "@type": "BorrowAction",
  "lender": {
    "@type": "LibrarySystem",
    "@id": "http://example.com/librarySystem/100"
  },
  "target": {
    "@type": "EntryPoint",
    "urlTemplate": "http://example.com/borrow?bookId=170",
    "actionPlatform": [
      "http://schema.org/DesktopWebPlatform",
      "http://schema.org/AndroidPlatform",
      "http://schema.org/IOSPlatform"
    ]
  }
}

Birden fazla EntryPoint özelliği içeren BorrowAction örneği:

"potentialAction": {
  "@type": "BorrowAction",
  "lender": {
    "@type": "LibrarySystem",
    "@id": "http://example.com/librarySystem/100"
  },
  "target": [
    {
      "@type": "EntryPoint",
      "urlTemplate": "http://example.com/borrow?bookId=170",
      "actionPlatform": [
        "http://schema.org/DesktopWebPlatform"
      ]
    },
    {
      "@type": "EntryPoint",
`      "urlTemplate": "http://example.com/mobile/borrow?bookId=170",
      "actionPlatform": [
        "http://schema.org/AndroidPlatform",
        "http://schema.org/IOSPlatform"
      ]
    }
  ]
}

Library varlığı

Library öğesinin tam tanımını schema.org/Library adresinde bulabilirsiniz. Bununla birlikte, yalnızca aşağıdaki özellikleri göz önünde bulundurmanız gerekir. Feed'inize dahil etmek istediğiniz her kitaplık için zorunlu özellikleri tanımlamanız gerekir. İçeriğiniz hakkında daha fazla bilgi ekleyerek daha iyi bir kullanıcı deneyimi sağlamak için, önerilen özellikleri de tanımlayabilirsiniz.

Bu Library varlığı, üst düzey Library varlık türüdür. Bu, bir LibrarySystem varlığından ve o LibrarySystem varlığının her alt düzey Library (member) varlığından oluşan soyut bir yapıdır.

Library feed'i Book feed'inden ayrıdır. Bu nedenle, uygulayabileceğiniz tüm Library feed'leri Book feed'inizden tamamen ayrı olmalıdır. Daha fazla bilgiyi Feed'inizi oluşturma bölümünde bulabilirsiniz.

LibrarySystem

LibrarySystem varlığı, kitaplık üyelerinden oluşan ortak bir ağı temsil eder.

Zorunlu özellikler
@context Text

http://schema.org olarak ayarlayın.

@id URL

Kitaplık sisteminin URL biçimindeki genel olarak benzersiz kimliği. Kimlik sabit olup zaman içinde değişmemelidir. Bu, bir opak dize olarak işlenir ve çalışan bir bağlantı olması gerekmez. @id değeri için kullanılan alan adı, kuruluşunuza ait olmalıdır.

@type Text

LibrarySystem olarak ayarlayın.

additionalProperty PropertyValue

Kitaplığın türünü belirtmek için kullanılan ek özellik.

additionalProperty.@type Text

PropertyValue olarak ayarlayın.

additionalProperty.name Text

librarytype olarak ayarlayın.

additionalProperty.value Text

Kitaplığın türü. Aşağıdaki değerlerden birini kullanın:

  • public
  • academic
  • corporate
  • government
  • school
  • special
member Library

Kitaplık sisteminin üyeleri.

name Text

Kitaplık sisteminin adı. Örneğin, The Southwestern League of Libraries.

url URL

Kitaplık sisteminin tanıtıldığı veya anlatıldığı URL. Google Arama, feed'inizdeki içeriği Google'ın veritabanlarındaki içerikle eşleştirmek için bu bağlantıyı kullanır. Google Arama, gerçek açılış sayfası için workExample.target.urlTemplate içinde sağlanan URL'yi kullanır.

Library (member)

LibrarySystem varlığının member özelliği Library (member) varlığını kullanır. Library (member), belirli bir kitaplık sisteminin tek bir kitaplık üyesini temsil eder.

Zorunlu özellikler
@id URL

Kitaplık şubesinin URL biçimindeki genel olarak benzersiz kimliği. Kimlik sabit olup zaman içinde değişmemelidir. Bu, bir opak dize olarak işlenir ve çalışan bir bağlantı olması gerekmez. @id değeri için kullanılan alan adı, kuruluşunuza ait olmalıdır.

@type Text

Library olarak ayarlayın.

location PostalAddress

Kitaplık şubesinin açık adresi. Her özellik her ülke için geçerli değildir. Kitaplıklarınızın adreslerine mümkün olduğunca fazla özellik eklemeniz gerekir.

Amerika Birleşik Devletleri location örneği:


{
  "@type": "Library",
  "@id": "http://example.com/library-branches/1001",
  "name": "Campbell Library",
  "location": {
    "@type": "PostalAddress",
    "streetAddress": "77 Harrison Ave",
    "addressLocality": "Campbell",
    "addressRegion": "CA",
    "postalCode": "95008",
    "addressCountry": "US"
  }
}

Japonya location örneği:


{
  "@type": "Library",
  "@id": "http://example.com/library-branches/1003",
  "name": "Tokyo Metropolitan Central Library",
  "location": {
    "@type": "PostalAddress",
    "streetAddress": "7-13-5 Minamiazabu, Minato City",
    "addressLocality": "Tokyo",
    "postalCode": "106-0047",
    "addressCountry": "JP"
  }
}
location.@type Text

PostalAddress olarak ayarlayın.

location.addressCountry Text

ISO 3166-1 biçimindeki ülke kodu. Örneğin, US.

location.addressLocality Text

Şehir. Örneğin, Mountain View.

location.addressRegion Text

Bölge. Örneğin, CA.

location.postalCode Text

Posta kodu. Örneğin, 94043.

location.streetAddress Text

Açık adres. Örneğin, 1600 Amphitheatre Pkwy.

name Text

Kitaplık şubesinin adı.

Örnek LibrarySystem feed'i JSON dosyası

{
   "@context": "http://schema.org",
   "@type":"LibrarySystem",
   "@id":"http://example.com/library-systems/100",
   "name":"Santa Clara County Library District",
   "additionalProperty":[
      {
         "@type":"PropertyValue",
         "name":"librarytype",
         "value":"public"
      }
   ],
   "member":[
      {
         "@type":"Library",
         "@id":"http://example.com/library-branches/1001",
         "name":"Campbell Library",
         "location":{
            "@type":"PostalAddress",
            "streetAddress":"77 Harrison Ave",
            "addressLocality":"Campbell",
            "addressRegion":"CA",
            "postalCode":"95008",
            "addressCountry":"US"
         }
      },
      {
         "@type":"Library",
         "@id":"http://example.com/library-branches/1002",
         "name":"Gilroy Library",
         "location":{
            "@type":"PostalAddress",
            "streetAddress":"350 W 6th St",
            "addressLocality":"Gilroy",
            "addressRegion":"CA",
            "postalCode":"95020",
            "addressCountry":"US"
         }
      }
   ]
}