3

I am doing structured data for my website articles. for that, I am using a JSON-LD, made using Google Markup Helper and also added some attributes to remove errors. Now, there is only one error

The attribute publisher.itemtype has an invalid value.

I also have different structured data for my organization. But, it does not accept that value, also. Here is one of the article code I'm using

{
"@context" : "http://schema.org",
"@type" : "Article",
"name" : "Registration and Expiration Date in PHP and MySQL",
"image" : "https://i0.wp.com/technopoints.co.in/wp-content/uploads/2018/07/Expiration.jpg?resize=900%2C506&ssl=1",
"articleBody" : "Hey Technoz, In this tutorial we are going to learn how to create automatic registration and expiration date in php ...",
"url" : "https://technopoints.co.in/expiration-date-in-php/",
"author" : "Ashish Joshi",
"datePublished" : "01/07/2018",
"headline" : "Registration and Expiration Date in PHP and MySQL",
"publisher" : "Softglobe Technologies"
}

and following is the organization makup code. It is error free.

{"@context":"https:\/\/schema.org","@type":"Organization","url":"https:\/\/technopoints.co.in\/","sameAs":["https:\/\/www.facebook.com\/technopoints.co.in","https:\/\/plus.google.com\/116699158294208258487"],"@id":"https:\/\/technopoints.co.in\/#organization","name":"Softglobe Technologies","logo":"https:\/\/technopoints.co.in\/wp-content\/uploads\/2017\/12\/iconnew.png"}
unor
  • 82,883
  • 20
  • 183
  • 315
Strooks
  • 153
  • 8
  • Possible duplicate of [Proper way to use 'publisher' in BlogPosting](https://stackoverflow.com/questions/43602731/proper-way-to-use-publisher-in-blogposting) – unor Aug 12 '18 at 10:42
  • The duplicate link stated above is using the `HTML meta` tags. I'm using `JSON-LD` data. Also, there is no proper way stated there and simply said to ignore the error. If I ignored the error, then will I get expected google search results? Also, I have stated organization name in separate `JSON-LD` string, then why there is error? I want to resolve it rather than ignoring. Please help. – Strooks Aug 12 '18 at 13:09
  • The answer is the same, no matter which syntax is used, because the issue is not how the syntax is used (JSON-LD, Microdata), but how the vocabulary is used (Schema.org). -- And I think my answer states the solution: provide the `Organization` as value of the `publisher` property. -- If you don’t know *how* to do this in JSON-LD, you could [edit] your question to make clear that you are not asking what the reason for the error is, but describing the issue you have with fixing it. – unor Aug 12 '18 at 15:34
  • 1
    If you also have the Organization marked up on the same page, then you can reference it in the publisher via its id. You still need to change your publisher to reference an entity of type Organization and not a string, then all you need to do is include the @id property of your organization. They will then be linked. – Tony McCreath Aug 13 '18 at 00:19
  • Thanks, They're linked. Can you please give it as an answer so that I can accept it and will be useful for others who are facing this problem. – Strooks Aug 13 '18 at 02:20

1 Answers1

1

The specification of the property publisher tells us:

Values expected to be one of these types: Organization or Person.

In your markup, you do not specify a embed type for this property. If install the type Organization as embedded, then inside this type you can apply your markup to your organization.

Eg.:

{
"@context" : "https://schema.org",
  "@type" : "Article",
  "name" : "Registration and Expiration Date in PHP and MySQL",
  "image" : "https://i0.wp.com/technopoints.co.in/wp-content/uploads/2018/07/Expiration.jpg?resize=900%2C506&ssl=1",
  "mainEntityOfPage":"https://technopoints.co.in/expiration-date-in-php/",
  "speakable":
 {
  "@type": "SpeakableSpecification",
  "xpath": [
    "/html/head/title",
    "/html/head/meta[@name='description']/@content"
    ]
  },
  "author" :{
    "@type": "Person",
      "name":"Ashish Joshi",
      "alumniOf":"An organization that the person is an alumni of",
      "award":"An award won by or for this item",
      "memberOf":"An Organization (or ProgramMembership) to which this Person or Organization belongs",
      "email":"zzz@hhhrr.com",
      "honorificSuffix":"An honorific suffix preceding a Person's name such as M.D. /PhD/MSCSW",
      "knowsAbout":"Of a Person, and less typically of an Organization, to indicate a topic that is known about - suggesting possible expertise but not implying it",
      "sameAs":[
       "https:\/\/plus.google.com\/0000",
       "https:\/\/facebook.com\/0000",
       "https:\/\/twitter.com\/0000"
      ]
    },
  "datePublished" : "01/07/2018",
  "dateModified":"10/08/2018",
  "headline" : "Registration and Expiration Date in PHP and MySQL",
  "publisher" : {
    "@type": "Organization",
      "name":"Softglobe Technologies",
      "url":"https:\/\/technopoints.co.in",
      "logo":{
            "@type":"ImageObject",
             "url":"https://technopoints.co.in/images/logo.jpg",
             "contentUrl":"https://technopoints.co.in/images/logo.jpg",
             "width":"300",
             "height":"100"
              },
      "sameAs":"https:\/\/plus.google.com\/116699158294208258487"
     }
}

Note the following my changes in this markup:

  • Deleted the property articleBody because this property duplicates the full content of the article, lowers the download speed and this property is not supported by Google.

  • Added the property mainEntityOfPage according to Google recommendations to Article.

  • Added the property speakable according to Google recommendations. This property will help the bot to determine the content that is useful for voice search. In this particular markup, a path is specified for obtaining information from the meta title and the meta description of the web page. However, this property is only supported for news websites. So if your website is not news, then just delete it. Note that in the content for the voice there should be no dates and different symbols and elements that may be incomprehensible for voice issuance. Read more Guide of Google to speakable.

  • A more complete markup for the property author with the embedded type Person. This will help establish information about the person in charge of the content that can be identified as Your Money Or Your Life: YMYL. This can correspond to the Search Quality Raters Guideline of Google and the requirements Expertise, Authoritativeness, Trustworthiness: EAT.

  • Added the property dateModified according to Google recommendations to Article.

  • Well, of course, the markup for the property publisher has been added and corrected.

Read more the Guide of Google to Article.

nikant25
  • 711
  • 4
  • 9