В настоящее время я пытаюсь применить как WebSite, так и Organization Schema.org через JSON-LD, используя @graph, и у меня возникают проблемы с синтаксисом, которых я не понимаю. Я не разработчик Javascript, а просто специалист по HTML и CSS, поэтому я действительно не могу понять, что происходит.

В инструменте проверки структурированных данных Google я получаю сообщение об ошибке в строке 11:

В объявлении массива отсутствуют символы "," или "]".

Но я прошел через это несколько раз, и я не могу понять проблему. Я пробовал переставлять все скобки и перемещать вещи туда-сюда, и кажется, что каждый раз, когда я устраняю ошибку, возникает другая ошибка. Это лучшая версия кода, которая у меня есть.

Похоже, проблема возникает при использовании @type внутри других @type.

{
    "@context" : "http://schema.org",
    "@graph" : 
        [
            {
                "@type" : "WebSite", 
                "url" : "https://www.bcsauto.com", 
                "name" : "BCS Auto",
                "author" : 
                    [
                        "@type" : "Person",
                        "name" : "Justin Hilliard"
                    ],
                "description" : "Your NEW source for Late Model Camaro Parts & Accessories!",
                "publisher" : "Justin Hilliard ",
                "potentialAction" :
                    [ 
                        "@type" : "SearchAction", 
                        "target" : "https://shop.bcsauto.com/search.html?q={search_term}&go=Search", 
                        "query-input" : "required name=search_term"
                    ] 
            },
            {   
                "@type" : "Organization",
                "name" : "BCS Auto",
                "url" : "http://www.bcsauto.com",
                "logo" : "https://shop.bcsauto.com/files/images/logo.png",
                "foundingDate" : "2016",
                "founders": 
                [
                    {
                        "@type": "Person",
                        "name": "Justin Hilliard"
                    },
                ],
            }, 
                {   
                    "@type" : "ContactPoint",
                    "contactType" : "Sales",
                    "telephone" : "[+1-602-730-6415]",
                    "email" : "sales@bcsauto.com",
                    "areaServed" : "US"
                },
                {
                    "@type" : "ContactPoint",
                    "contactType" : "Customer Support",
                    "telephone" : "[+1-602-730-6415]",
                    "email" : "support@bcsauto.com",
                    "areaServed" : "US",
                    "sameAs" :
                        [
                            "https://www.facebook.com/OfficialBCSAuto",
                            "https://instagram.com/officialbcsauto",
                            "https://www.linkedin.com/company/bcsauto" 
                        ]
                }
        ]
}
1
Justin Hilliard 17 Окт 2018 в 03:14

2 ответа

Лучший ответ
            "author" : 
                [
                    "@type" : "Person",
                    "name" : "Justin Hilliard"
                ],
            "potentialAction" :
                [ 
                    "@type" : "SearchAction", 
                    "target" : "https://shop.bcsauto.com/search.html?q={search_term}&go=Search", 
                    "query-input" : "required name=search_term"
                ] 

[ ] для массивов, { } для объектов. В приведенных выше фрагментах у вас есть объекты, поэтому вам нужно использовать фигурные скобки вместо квадратных.

            "founders": 
            [
                {
                    "@type": "Person",
                    "name": "Justin Hilliard"
                },
            ],

В приведенном выше фрагменте у вас есть массив только с одним объектом. Независимо от того, сохраняете ли вы массив (только с одним значением, в нем нет необходимости), вы должны удалить последние два ,, потому что объект является последним значением в массиве, а массив - последним значением в родительский объект.

0
unor 17 Окт 2018 в 02:37

Благодаря @unor мне удалось разобраться в этом вопросе! Я путал скобки и фигурные скобки, потому что не понимал массивов и объектов.

{
  "@context": "http://schema.org",
  "@graph": [
    {
      "@type": "WebSite",
      "url": "https://www.bcsauto.com",
      "name": "BCS Auto",
      "author": {
        "@type": "Person",
        "name": "Justin Hilliard"
      },
      "description": "Your NEW source for Late Model Camaro Parts & Accessories!",
      "publisher": {
        "@type": "Person",
        "name": "Justin Hilliard"
      },
      "potentialAction": {
        "@type": "SearchAction",
        "target": "https://shop.bcsauto.com/search.html?q={search_term}&go=Search",
        "query-input": "required name=search_term"
      }
    },
    {
      "@type": "Organization",
      "name": "BCS Auto",
      "url": "http://www.bcsauto.com",
      "logo": "https://shop.bcsauto.com/files/images/logo.png",
      "foundingDate": "2016",
      "founders": {
        "@type": "Person",
        "name": "Justin Hilliard"
      },
      "ContactPoint": [
        {
          "@type": "ContactPoint",
          "contactType": "Sales",
          "telephone": "[+1-602-730-6415]",
          "email": "sales@bcsauto.com",
          "areaServed": "US"
        },
        {
          "@type": "ContactPoint",
          "contactType": "Customer Support",
          "telephone": "[+1-602-730-6415]",
          "email": "support@bcsauto.com",
          "areaServed": "US",
          "sameAs": [
            "https://www.facebook.com/OfficialBCSAuto",
            "https://instagram.com/officialbcsauto",
            "https://www.linkedin.com/company/bcsauto"
          ]
        }
      ]
    }
  ]
}
0
Justin Hilliard 17 Окт 2018 в 13:30