2017-10-02 16 views
0

私は大きなサイトで作業しており、JSON-LDを実装したいと考えています。このサイトには、大きなソーシャルメディアがあり、多くのアーティストのプロフィールや記事があります。大規模サイトのベストプラクティス

これは

フロントページには、(次のコードは、Googleのガイドラインからです)、私は現在持っているもの

<script type="application/ld+json"> 
{ 
    "@context": "http://schema.org", 
    "@type": "Organization", 
    "name": "Organization name", 
    "url": "http://www.your-site.com", 
    "sameAs": [ 
    "http://www.facebook.com/your-profile", 
    "http://instagram.com/yourProfile", 
    "http://www.linkedin.com/in/yourprofile", 
    "http://plus.google.com/your_profile" 
    ] 
} 
</script> 

コンテンツページ

<script type='application/ld+json'> 
{ 
"@context": "http://www.schema.org", 
"@type": "WebSite", 
"name": "About us", 
"url": "http://www.your-site.com/about-us" 
} 
</script> 

プロフィールページです各アーティスト:

<script type="application/ld+json"> 
{ 
    "@context": "http://schema.org", 
    "@type": "NewsArticle", 
    "mainEntityOfPage": { 
    "@type": "WebPage", 
    "@id": "https://google.com/article" 
    }, 
    "headline": "Article headline", 
    "image": [ 
    "https://example.com/photos/1x1/photo.jpg", 
    "https://example.com/photos/4x3/photo.jpg", 
    "https://example.com/photos/16x9/photo.jpg" 
    ], 
    "datePublished": "2015-02-05T08:00:00+08:00", 
    "dateModified": "2015-02-05T09:20:00+08:00", 
    "author": { 
    "@type": "Person", 
    "name": "John Doe" 
    }, 
    "publisher": { 
    "@type": "Organization", 
    "name": "Google", 
    "logo": { 
     "@type": "ImageObject", 
     "url": "https://google.com/logo.jpg" 
    } 
    }, 
    "description": "A most wonderful article" 
} 
</script> 

ページあたり1つのスクリプトタグを追加するか、JSON-LDを1つのスクリプトタグの下に追加しますか?最初のページには「組織」タグがあり、ソーシャルメディアのリンクを表示していますが、これをすべてのページに追加しますか?

答えて

0

あなたmay have複数script JSON-LDデータ・ページ上のブロックが、1つのscript要素を使用しては、それが簡単に構造化されたデータエンティティを接続することができます:代わりにreference their URIsを有するのネストできますエンティティ。

何を接続しますか?あなたのNewsArticle

  • mainEntityOfPageプロパティの値としてWebPage¹エンティティを提供することができ、かつ
  • publisherプロパティの値としてOrganization実体を提供しています。

これは1つの可能性に過ぎません。もう1つ:WebPageエンティティを最上位アイテムとして提供し、プロパティの値としてNewsArticleエンティティを指定できます。

あなたは(Organizationauthorpublisherあるので、またはそれは両方のpublisherだから、WebPageNewsArticle、例えば)のデータを複製する必要がある場合は、ネスティングと参照を混在させることができます。 Give each entity an @id、このエンティティを値として指定する場合は、@idも指定します。


あなたがWebSiteを使用している¹が、あなたはおそらくWebPageを意味します。また、@contexthttp://schema.orgでなく、http://www.schema.orgである必要があります。

+0

ありがとうございました、それは今や少しはっきりしています。私はGoogleからのコードをコピーしたので、なぜ@contextが間違っているのかわからない... –

関連する問題