JSON-LDを使用して複数のリストでSchema.orgを正しく実装するにはどうすればよいですか?

マーティンジェームス

Schema.orgの構造化データを雑誌スタイルのウェブサイトに実装していますが、複数のリストの使用に関していくつか懸念があります。

ホームページには、「最新」と「最も人気」の2つのセクションがあります。両方のセクションには、それぞれ5つのミニ記事が含まれています。私はこれらのセクションの両方を「リスト」と見なしました。これは1つのセクションの例です-他のセクションは記事を除いて同じです、明らかに:

ここに画像の説明を入力してください

This is my Schema JSON-LD. I have cut this sample short at ... for the sake of keeping the sample easily readable and have removed domains/names, etc. So far, I have only added the five articles from 'Most Recent' to this ItemList and testing it using Google's Structured Data Testing Tool returns zero warnings and zero errors:

<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "ItemList",
        "numberOfItems": "5",
        "itemListOrder": "Descending",
        "itemListElement": [
            {
                "@type": "Article",
                "position": "1",
                "mainEntityOfPage": {
                    "@type": "WebPage",
                    "@id": "/motoring/audi-launches-2019-sq8-tdi/"
                },
                "articleSection": "Motoring",
                "headline": "Audi launches 2019 SQ8 TDI",
                "datePublished": "2019-09-01",
                "dateModified": "2019-09-01",
                "image": "/content/uploads/2019/08/2019-audi-sq8-tdi-001-800.jpg",
                "url": "/motoring/audi-launches-2019-sq8-tdi/",
                "author": "The Author",
                "publisher": {
                    "@type": "Organization",
                    "name": "Company Name",
                    "url": "https://company.name",
                    "logo": {
                        "@type": "ImageObject",
                        "url": "https://company.name/logo.png"
                    },
                    "founder": "Founder",
                    "foundingDate": "2019"
                }
            },
            {
                "@type": "Article",
                "position": "2",
                "mainEntityOfPage": {
                    "@type": "WebPage",
                    "@id": "/gadgets-tech/meet-keysmart-the-smart-key-oraganiser/"
                },
                "articleSection": "Gadgets & Tech",
                "headline": "Meet Keysmart: The smart key organiser",
                "datePublished": "2019-09-01",
                "dateModified": "2019-09-01",
                "image": "/content/uploads/2019/08/the-smartkey-orgainser-001-800.jpg",
                "url": "/gadgets-tech/meet-keysmart-the-smart-key-oraganiser/",
                "author": "The Author",
                "publisher": {
                    "@type": "Organization",
                    "name": "Company Name",
                    "url": "https://company.name",
                    "logo": {
                        "@type": "ImageObject",
                        "url": "https://company.name/logo.png"
                    },
                    "founder": "Founder",
                    "foundingDate": "2019"
                }
            },
            ...
        ]
    }
</script>

However, as mentioned above, this ItemList is only for the five 'Most Recent' articles. I would now like to add structured data for the other section, 'Most Popular', and not sure how best to approach it.

  1. Do I add the most popular five articles to the same ItemList, do I create a new ItemList or do I create a new script/JSON? How is this best achieved? Please provide an example.
  2. Do I really need to add publisher/organization for each article like I have or can this be shortened somehow? It seems unnecessarily bulky doing it as I have. I have read that adding 'Organization' data to every page is bad practice (see link below) - does this apply here?
  3. Each of these mini-articles points to a full article using mainEntityOfPage. Am I right using type 'WebPage' or should I be using type 'Article'?
  4. If two lists are required, is there a way of telling search engines that one list contains most recent items and one contains most popular or is that unnecessary?

https://www.searchenginejournal.com/google-do-not-put-organization-schema-markup-on-every-page/289981/

Ezra Siton

In general use HTML5 semantic element (main, section and so on) + Correct site outliner (H2 for each list and so on).

Two lists

About your schema. The best idea is to think in "microdata" view.

Your list is not nested

<ul>
  <li>
    <ul><li></li></ul>
  </li>
  <li>
    <ul><li></li></ul>
  </li>
</ul>

Nested lists example: https://schema.org/OfferCatalog#offer-3

Use multiple json-ld scripts

In this case, I think the best/simple idea is to use two seperate lists "objects" (And add name/url/and so on for each list) - Example outline (Missing properties for short code):

<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "ItemList",
        "name": "Recent Articles",
        "numberOfItems": "1",
        "itemListOrder": "Descending",
        "itemListElement": [
            {
                "@type": "Article",
                "position": "1",
                "headline": "I am recent Article"
            }          
        ]

    }
</script>
<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "ItemList",
        "name": "Popular Articles",
        "numberOfItems": "1",
        "itemListOrder": "Descending",
        "itemListElement": [
            {
                "@type": "Article",
                "position": "1",
                "headline": "I am Popular Article"
            }          
        ]    
    }
</script>

ここに画像の説明を入力してください

https://webmasters.stackexchange.com/questions/96903/can-i-have-multiple-json-ld-scripts-in-the-same-page

Publisher as itemref

Try this idea:

Example (Refernce Organization object to Article):

<!-- Organization -->
<script type="application/ld+json">
{
    "@context": "http://schema.org",
    "@type": "Organization",
    "@id": "#Organization-name",
    "name": "My Organization"
}
</script>
<!-- Recent Articles -->
<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "ItemList",
        "name": "Recent Articles",
        "numberOfItems": "1",
        "itemListOrder": "Descending",
        "itemListElement": [
            {
                "@type": "Article",
                "position": "1",
                "headline": "I am recent Article",
                "publisher": {
                 "@id": "#Organization-name"
                 }
            }          
        ]
    }
</script>
<!-- Popular Articles -->
<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "ItemList",
        "name": "Popular Articles",
        "numberOfItems": "1",
        "itemListOrder": "Descending",
        "itemListElement": [
            {
                "@type": "Article",
                "position": "1",
                "headline": "I am Popular Article",
                 "publisher": {
                     "@id": "#Organization-name"
                 }
            }          
        ]    
    }
</script>

Testing-tool output: テストツール

mainentityofpage

これを読んでくださいhttps//webmasters.stackexchange.com/questions/87940/new-required-mainentityofpage-for-article-structured-data

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

jsonを正しく解析するにはどうすればよいですか?

分類Dev

ajaxを使用してjsonをRestControllerに正しく送信するにはどうすればよいですか?

分類Dev

正しく送信した後にJSONをリセットするにはどうすればよいですか?

分類Dev

JSON.Stringifyで変数を正しく解析するにはどうすればよいですか?

分類Dev

C#でJSONを正しく逆シリアル化するにはどうすればよいですか?

分類Dev

Html.Raw(Json.Encode(Model))を正しく使用するにはどうすればよいですか?

分類Dev

このjsonを正しく解析するにはどうすればよいですか?

分類Dev

JavaScriptでjsonモデルを正しく入力するにはどうすればよいですか?

分類Dev

phpでjsonを正しくデコードするにはどうすればよいですか?

分類Dev

openlibrary APIからJsonデータを解析するにはどうすればよいですか?(正しく)

分類Dev

openlibrary APIからJsonデータを解析するにはどうすればよいですか?(正しく)

分類Dev

すべての値を正しく取得できるようにjsonオブジェクトを解析するにはどうすればよいですか

分類Dev

tsに「JSON.parse()」を正しく入力するにはどうすればよいですか?

分類Dev

JSON CURL を Slack に正しく送信するにはどうすればよいですか?

分類Dev

schema.org Json-LDで複数のオプション(車)を指定するにはどうすればよいですか?

分類Dev

jsonpathを使用してjsonから複数の要素を取得するにはどうすればよいですか?

分類Dev

serde_jsonに対してのみカスタムシリアル化を実装するにはどうすればよいですか?

分類Dev

PHPを使用してJSONオブジェクトにデータを正しく作成して追加するにはどうすればよいですか?

分類Dev

JSONでAPIを正しく読み取り、リストを作成するにはどうすればよいですか?Pythonの場合

分類Dev

curlを使用してphpでjsonリストをforeachするにはどうすればよいですか?

分類Dev

JSONを使用してSharePointで複数選択選択列のカスタムタイトルを表示するにはどうすればよいですか?

分類Dev

複数のJSON配列のアイテムを保存してリストビューで表示するにはどうすればよいですか?

分類Dev

json-ldでリソースに対してサポートされているhttp操作を指定するにはどうすればよいですか?

分類Dev

ReactJSのdatatableでJSONオブジェクト値を正しく取得して表示するにはどうすればよいですか?

分類Dev

フェッチされたJSONデータをAsync / awaitを使用してDOMに正しく表示するにはどうすればよいですか?

分類Dev

パラメータとしてjson文字列を使用して.exeを正しく開始するにはどうすればよいですか?

分類Dev

php配列からのjson_encode:配列が正しくなるようにphpを調整するにはどうすればよいですか?

分類Dev

jqを使用して深くネストされたjson内のすべてのキーを一覧表示するにはどうすればよいですか?

分類Dev

ファイル入力ストリームを Firebase JSON ファイルに正しく追加するにはどうすればよいですか

Related 関連記事

  1. 1

    jsonを正しく解析するにはどうすればよいですか?

  2. 2

    ajaxを使用してjsonをRestControllerに正しく送信するにはどうすればよいですか?

  3. 3

    正しく送信した後にJSONをリセットするにはどうすればよいですか?

  4. 4

    JSON.Stringifyで変数を正しく解析するにはどうすればよいですか?

  5. 5

    C#でJSONを正しく逆シリアル化するにはどうすればよいですか?

  6. 6

    Html.Raw(Json.Encode(Model))を正しく使用するにはどうすればよいですか?

  7. 7

    このjsonを正しく解析するにはどうすればよいですか?

  8. 8

    JavaScriptでjsonモデルを正しく入力するにはどうすればよいですか?

  9. 9

    phpでjsonを正しくデコードするにはどうすればよいですか?

  10. 10

    openlibrary APIからJsonデータを解析するにはどうすればよいですか?(正しく)

  11. 11

    openlibrary APIからJsonデータを解析するにはどうすればよいですか?(正しく)

  12. 12

    すべての値を正しく取得できるようにjsonオブジェクトを解析するにはどうすればよいですか

  13. 13

    tsに「JSON.parse()」を正しく入力するにはどうすればよいですか?

  14. 14

    JSON CURL を Slack に正しく送信するにはどうすればよいですか?

  15. 15

    schema.org Json-LDで複数のオプション(車)を指定するにはどうすればよいですか?

  16. 16

    jsonpathを使用してjsonから複数の要素を取得するにはどうすればよいですか?

  17. 17

    serde_jsonに対してのみカスタムシリアル化を実装するにはどうすればよいですか?

  18. 18

    PHPを使用してJSONオブジェクトにデータを正しく作成して追加するにはどうすればよいですか?

  19. 19

    JSONでAPIを正しく読み取り、リストを作成するにはどうすればよいですか?Pythonの場合

  20. 20

    curlを使用してphpでjsonリストをforeachするにはどうすればよいですか?

  21. 21

    JSONを使用してSharePointで複数選択選択列のカスタムタイトルを表示するにはどうすればよいですか?

  22. 22

    複数のJSON配列のアイテムを保存してリストビューで表示するにはどうすればよいですか?

  23. 23

    json-ldでリソースに対してサポートされているhttp操作を指定するにはどうすればよいですか?

  24. 24

    ReactJSのdatatableでJSONオブジェクト値を正しく取得して表示するにはどうすればよいですか?

  25. 25

    フェッチされたJSONデータをAsync / awaitを使用してDOMに正しく表示するにはどうすればよいですか?

  26. 26

    パラメータとしてjson文字列を使用して.exeを正しく開始するにはどうすればよいですか?

  27. 27

    php配列からのjson_encode:配列が正しくなるようにphpを調整するにはどうすればよいですか?

  28. 28

    jqを使用して深くネストされたjson内のすべてのキーを一覧表示するにはどうすればよいですか?

  29. 29

    ファイル入力ストリームを Firebase JSON ファイルに正しく追加するにはどうすればよいですか

ホットタグ

アーカイブ