无法验证 SDTT 中的 JobPosting

Unable to verify JobPosting in SDTT

对 Schema.org 的 JobPosting 感到沮丧。我发现 Google 结构化数据测试工具说:

100000 (The attribute baseSalary.itemtype has an invalid value.)

我试过在 JobPosting 内部或外部使用它,如下所示:

 "@type":"MonetaryAmount",
     "EmployeeRole":{                       
    "baseSalary": "100000"                         
        }  

但是,我发现不止一个问题。

<script type="application/ld+json">{
  "@context": "http://schema.org",  
  "@type": "JobPosting",  


    "baseSalary":"100000",


        "datePosted":"2017-06-18T15:14:57+00:00",
        "validThrough":"2017-12-31T00:00:00+00:00",
        "title":"Sales And Marketing Manager",
        "description":"Responsible for Corporate and Travel Agent Room Sales for the hotel",
        "educationRequirements":"S-1 Management",//educationRequirements
        "employmentType":"Kontrak 1 Tahun",//employmentType
        "experienceRequirements":"100 Tahun",//experienceRequirements
        "industry":"Perpajakan Daerah Sumedang",//industry
        "qualifications":"Single, Fresh Graduates dan suka ternak bebek",//qualifications
        "responsibilities":"Tukang mbersihin kadang embek",//responsibilities
        "skills":"Bisa menjahit, ngetik 40 jari",//skills
        "workHours":"Jam 10 s/d 70",//workHours
        "hiringOrganization":{
        "@type":"Organization",
            "name":"Equity Jimbaran Resort And Villa",
            "sameAs":"http://equityhoteljimbaran.com",
            "url":"http://equityhoteljimbaran.com"
            },
                    "jobLocation":{
                    "@type":"Place",
                        "address":{
                            "@type":"PostalAddress",
                                "addressRegion":"Bali",
                                "addressCountry":"ID",
                                "streetAddress":"Jl.Muara 3, KM.18, Blok4, RT04/05, Tanjung Perak",//streetAddress
                                "addressLocality":"Jimbaran",//addressLocality
                                "postalCode":"56161"//postalCode
                                }
                            }                    
        }      
} 
</script>

千里迢迢,终于找到解决办法:

<script type="application/ld+json">{
  "@context": "http://schema.org",  
  "@type": "JobPosting",  

      "baseSalary":{
      "@type":"MonetaryAmount",
          "value":"100000",
          "currency":"USD"
          },

        "datePosted":"2017-06-18T15:14:57+00:00",
        "validThrough":"2017-12-31T00:00:00+00:00",
        "title":"Sales And Marketing Manager",
        "description":"Responsible for Corporate and Travel Agent Room Sales for the hotel",
        "educationRequirements":"S-1 Management",//educationRequirements
        "employmentType":"Kontrak 1 Tahun",//employmentType
        "experienceRequirements":"100 Tahun",//experienceRequirements
        "industry":"Perpajakan Daerah Sumedang",//industry
        "qualifications":"Single, Fresh Graduates dan suka ternak bebek",//qualifications
        "responsibilities":"Tukang mbersihin kadang embek",//responsibilities
        "skills":"Bisa menjahit, ngetik 40 jari",//skills
        "workHours":"Jam 10 s/d 70",//workHours
        "hiringOrganization":{
        "@type":"Organization",
            "name":"Equity Jimbaran Resort And Villa",
            "sameAs":"http://equityhoteljimbaran.com",
            "url":"http://equityhoteljimbaran.com"
            },
                    "jobLocation":{
                    "@type":"Place",
                        "address":{
                            "@type":"PostalAddress",
                                "addressRegion":"Bali",
                                "addressCountry":"ID",
                                "streetAddress":"Jl.Muara 3, KM.18, Blok4, RT04/05, Tanjung Perak",//streetAddress
                                "addressLocality":"Jimbaran",//addressLocality
                                "postalCode":"56161"//postalCode
                                }
                            }                    
        }      
} 
</script>

从上面的结构数据中,baseSalary期望类型为MonetaryAmount,其中值为薪水的金额,如下:

      "baseSalary":{
      "@type":"MonetaryAmount",
          "value":"100000",
          },

但是,当 baseSalary 添加并验证后,Google 再次给我错误 currency,我将其放在 baseSalary 中:

      "baseSalary":{
      "@type":"MonetaryAmount",
          "value":"100000",
          "currency":"USD"
          },

成功完成。

这是对@huykon225 上面关于微数据的问题的回答,因为尽管互联网上到处都是 json 的更正版本,但我找不到在任何地方的微数据上下文中回答这个问题。让我很沮丧,只花了一个多小时来整理它...

在原代码中替换为:

<span itemprop="salaryCurrency">USD</span> <span itemprop="baseSalary">100000</span>

有了这个:

<div itemprop="baseSalary" itemscope="" itemtype="https://schema.org/MonetaryAmount">
<span itemprop="currency">USD</span>
<span itemprop="value">100000</span>
</div>