Saturday, April 29, 2017

How to Fix Structured Data Errors in Blogger

Structured Data or Schema Markup is the most useful and important feature to promote, index, add rich snippet contents of your website or blog properly in Search Engine result like Google, Bing etc.
Learn how to fix structured data errors in Blogger on this tutorial.
Fix Data Structured Errors only for $10
For better Search Engine Optimization of your web property, fixing structured data errors is too important.  After converting HTML to Blogger Theme it is the challenge to fix structured data markup errors.
How to Fix Structured Data/ Schema Markup Errors in Blogger


This tutorial will help you to fix structured data schema markup all errors for your Blogger website. Before fixing you should check errors from Google Structured Data Testing Tool (SDTT). Probably you may see many errors like blogId, postId, datePublished, Image URL, headline, publisher, and warning about dateModified, mainEntityOfPage.

Now test compromath.com and you will get no errors. Don’t worry. We will try to fix all errors step by step.
Though you can fix structured errors individually, I strongly recommend you to use the 3 complete packages.

Because:
  • Twitter Card, Facebook Graph, Pinterest Rich snippets plug-ins are available.
  • Very easy to integrate
  • Clean and Fresh Code
First backup your theme and next go to your Blogger Dashboard -> Theme -> Edit HTML.
Package 1: Search for <b:includable id='post' var='post'> because we have to replace the following code.
<div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<b:if cond='data:post.firstImageUrl'>
<meta expr:content='data:post.firstImageUrl' itemprop='image_url'/>
</b:if>
<meta expr:content='data:blog.blogId' itemprop='blogId'/>
<meta expr:content='data:post.id' itemprop='postId'/>
Select the code like the image snippet.
Selected to replace code 1

Replace with the following code.
<div class='post h-entry uncustomized-post-template' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<!-- Twitter Card Tags --> 
<meta content='@compromath' name='twitter:site'/>
<meta content='@Elliyas_Ahmed' name='twitter:creator'/>
<b:if cond='data:post.firstImageUrl'>
   <meta content='summary_large_image' name='twitter:card'/>
   <!-- summary_large_image or any other your card types --> 
   <meta expr:content='data:post.firstImageUrl' name='twitter:image'/>
   <b:else/>
   <meta content='summary' name='twitter:card'/>
   <b:if cond='data:blog.postImageThumbnailUrl'>
      <meta expr:content='data:blog.postImageThumbnailUrl' name='twitter:image'/>
   </b:if>
</b:if>
<b:if cond='data:blog.pageName'>
   <meta expr:content='data:blog.pageName' name='twitter:title'/>
   <b:else/>
   <meta expr:content='data:blog.title' name='twitter:title'/>
</b:if>
<b:if cond='data:blog.metaDescription'>
   <meta expr:content='data:blog.metaDescription' name='twitter:description'/>
   <b:else/>
   <meta expr:content='data:post.snippet' name='twitter:description'/>
</b:if>
<meta expr:content='data:post.sharePostUrl' name='twitter:url'/>
<!-- /Twitter Card Tags --> <!-- Pinterest Rich Pins Tags --> 
<meta expr:content='data:post.timestampISO8601' property='article:published_time'/>
<meta content='Technology' property='article:section'/>
<b:loop values='data:post.labels' var='label'>
   <meta expr:content='data:label.name' property='article:tag'/>
</b:loop>
<!-- /Pinterest Rich Pins Tags --> 
<meta expr:itemid='data:post.link ? data:post.link : data:post.url' itemType='https://schema.org/WebPage' itemprop='mainEntityOfPage' itemscope='itemscope'/>
<meta expr:content='data:post.timestamp' itemprop='datePublished'/>
<meta expr:content='data:post.lastUpdatedISO8601' itemprop='dateModified'/>
<meta expr:content='data:post.author' itemprop='author'/>
<div itemprop='publisher' itemscope='itemscope' itemtype='https://schema.org/Organization'>
   <div itemprop='logo' itemscope='itemscope' itemtype='https://schema.org/ImageObject'>
      <image alt='compromath' itemprop='url' src='http://1.bp.blogspot.com/-FIEZPMAnW7Y/WHMUbTqioFI/AAAAAAAABC0/Bp3k9fcxMmM-raXqsc--hOFZcm2DrROwgCK4B/s1600/logo%2Bcompromath.png' style='display:none'/>
      <meta alt='compromath' content='http://1.bp.blogspot.com/-FIEZPMAnW7Y/WHMUbTqioFI/AAAAAAAABC0/Bp3k9fcxMmM-raXqsc--hOFZcm2DrROwgCK4B/s1600/logo%2Bcompromath.png' itemprop='image' style='display:none'/>
      <meta content='600' itemprop='width'/>
      <meta content='600' itemprop='height'/>
   </div>
   <meta expr:content='data:blog.title' itemprop='name'/>
</div>
<div itemprop='image' itemscope='itemscope' itemtype='https://schema.org/ImageObject'>
   <image alt='compromath' itemprop='url' src='http://1.bp.blogspot.com/-FIEZPMAnW7Y/WHMUbTqioFI/AAAAAAAABC0/Bp3k9fcxMmM-raXqsc--hOFZcm2DrROwgCK4B/s1600/logo%2Bcompromath.png' style='display:none'/>
   <meta alt='compromath' content='http://1.bp.blogspot.com/-FIEZPMAnW7Y/WHMUbTqioFI/AAAAAAAABC0/Bp3k9fcxMmM-raXqsc--hOFZcm2DrROwgCK4B/s1600/logo%2Bcompromath.png' itemprop='image' style='display:none'/>
   <meta content='800' itemprop='width'/>
   <!--Images should be at least 696 pixels wide.--> 
   <meta content='800' itemprop='height'/>
</div>
<meta expr:content='data:blog.blogId'/>
<meta expr:content='data:post.id'/>
N.B. You have to customize as your Twitter username and replace http://1.bp.blogspot.com/-FIEZPMAnW7Y/WHMUbTqioFI/AAAAAAAABC0/Bp3k9fcxMmM-raXqsc--hOFZcm2DrROwgCK4B/s1600/logo%2Bcompromath.png with the Logo URL of your Blog/Website.
Package 2: Search for <b:includable id='mobile-post' var='post'> because we have to replace the following code.
<div class='post hentry uncustomized-post-template' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<b:if cond='data:post.thumbnailUrl'>
<meta expr:content='data:post.thumbnailUrl' itemprop='image_url'/>
</b:if>
<meta expr:content='data:blog.blogId' itemprop='blogId'/>
<meta expr:content='data:post.id' itemprop='postId'/>
Select the code like the image snippet.
Selected to replace code 2

Replace with the following code.
<div class='post h-entry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<meta expr:itemid='data:post.link ? data:post.link : data:post.url' itemType='https://schema.org/WebPage' itemprop='mainEntityOfPage' itemscope='itemscope'/>
<meta expr:content='data:post.timestamp' itemprop='datePublished'/>
<meta expr:content='data:post.lastUpdatedISO8601' itemprop='dateModified'/>
<meta expr:content='data:post.author' name='author'/>
<div itemprop='publisher' itemscope='itemscope' itemtype='https://schema.org/Organization'>
   <div itemprop='logo' itemscope='itemscope' itemtype='https://schema.org/ImageObject'>
      <image alt='compromath' itemprop='url' src='http://1.bp.blogspot.com/-FIEZPMAnW7Y/WHMUbTqioFI/AAAAAAAABC0/Bp3k9fcxMmM-raXqsc--hOFZcm2DrROwgCK4B/s1600/logo%2Bcompromath.png' style='display:none'/>
      <meta alt='compromath' content='http://1.bp.blogspot.com/-FIEZPMAnW7Y/WHMUbTqioFI/AAAAAAAABC0/Bp3k9fcxMmM-raXqsc--hOFZcm2DrROwgCK4B/s1600/logo%2Bcompromath.png' itemprop='image' style='display:none'/>
      <meta content='600' itemprop='width'/>
      <meta content='400' itemprop='height'/>
   </div>
   <meta expr:content='data:blog.title' itemprop='name'/>
</div>
<b:if cond='data:post.thumbnailUrl'>
   <meta expr:content='data:post.thumbnailUrl' itemprop='url'/>
</b:if>
<meta expr:content='data:blog.blogId'/>
<meta expr:content='data:post.id'/>
N.B. Replace http://1.bp.blogspot.com/-FIEZPMAnW7Y/WHMUbTqioFI/AAAAAAAABC0/Bp3k9fcxMmM-raXqsc--hOFZcm2DrROwgCK4B/s1600/logo%2Bcompromath.png with the Logo URL of your Blog/Website.
Package 3: Search For 'post-title entry-title' itemprop='name' and replace with 'post-title entry-title' itemprop='headline'

Fixing Structured Errors (Schema Markup) Individually.

Error No.ErrorsDescriptionIndividual Solution
1blogID444XXXXXXXXX9603436 (The property blogId is not recognized by Google for an object of type BlogPosting.)Get it
2postID293XXXXX3104374 (The property postId is not recognized by Google for an object of type BlogPosting.)Get it
3authorA value for the author field is required.Get it
4imageA value for the image field is required.Get it
5image_urlThe property image_url is not recognized by Google for an object of type BlogPosting.Get it
6publisherA value for the publisher field is required.Get it
7dateModifiedThe dateModified field is recommended. Please provide a value if available.Get it
8mainEntityOfPageThe mainEntityOfPage field is recommended. Please provide a value if available.Get it
9urlA value for the url field is required.Get it
10headlineA value for the headline field is required.Get it

#blogID Structured Error

Search for <meta expr:content='data:blog.blogId' itemprop='blogId'/> and replace with <meta expr:content='data:blog.blogId'/>
You can get this twice after hitting enter. You have to change both times.

#postID Structured Error

Search for <meta expr:content='data:post.id' itemprop='postId'/> and replace with <meta expr:content='data:post.id'/>
You can get this twice after hitting enter. You have to change both times.

#headline Structured Error

Search for 'post-title entry-title' itemprop='name'
and replace with 'post-title entry-title' itemprop='headline'
You can get this twice after hitting enter. You have to change both times.

#image and image_url Structured Error

Search for <b:if cond='data:post.firstImageUrl'> and replace the following code:
<b:if cond='data:post.firstImageUrl'>
  <meta expr:content='data:post.firstImageUrl' itemprop='image_url'/>
</b:if>
with
<!-- Commented code
<b:if cond='data:post.firstImageUrl'>
<meta expr:content='data:post.firstImageUrl' itemprop='image_url'/>
</b:if>
End Commented code -->
<div itemprop='image' itemscope='itemscope' itemtype='https://schema.org/ImageObject'>
<b:if cond='data:post.firstImageUrl'>
<img style='display:none;' expr:src='data:post.firstImageUrl' alt='Textual description of firstImageUrl'/>
<meta itemprop='image' expr:content='data:post.firstImageUrl'/>
</b:if>
<meta itemprop='width' content='800'/> <!--Images should be at least 696 pixels wide.-->
<meta itemprop='height' content='800'/>
</div>

#mainEntityOfPage Structured Error

To fix mainEntityOfPage error you have to find the following code. To find search for <b:includable id='post' var='post'>
So your replaceable code:
<b:includable id='post' var='post'>
<div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
Replaced with:
<b:includable id='post' var='post'>
<div class='post hentry uncustomized-post-template' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<meta itemscope='itemscope' itemprop='mainEntityOfPage'  itemType='https://schema.org/WebPage' expr:itemid='data:post.link' content= 'data:post.link : data:post.url'/>
Again search for <b:includable id='mobile-post' var='post'> and your replaceable code is:
<b:includable id='mobile-post' var='post'>
<div class='post hentry uncustomized-post-template' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
Replaced with:
<b:includable id='mobile-post' var='post'>
<!-- Commented code
<div class='post hentry uncustomized-post-template' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
End Commented code -->
<div class='post hentry uncustomized-post-template' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<meta expr:itemid='data:post.link' content= 'data:post.link : data:post.url' itemType='https://schema.org/WebPage' itemprop='mainEntityOfPage' itemscope='itemscope'/>

#dateModified and datePublished Structured Error

Search for uncustomized-post-template and paste the following just after the div with the above attribute
<meta expr:itemid='data:post.link ? data:post.link : data:post.url' itemType='https://schema.org/WebPage' itemprop='mainEntityOfPage' itemscope='itemscope'/>
<meta expr:content='data:post.timestamp' itemprop='datePublished'/>
<meta expr:content='data:post.lastUpdatedISO8601' itemprop='dateModified'/>

#Publisher Structured Error

To fix publisher error search for uncustomized-post-template and paste the following code just after the div included with the above attribute.
<div itemprop='publisher' itemscope='' itemtype='https://schema.org/Organization'>
<div itemprop='logo' itemscope='' itemtype='https://schema.org/ImageObject' style='display:none;'>
<img src='PUT LOGO URL HERE'/>
<meta content='PUT LOGO URL HERE' itemprop='url'/>
<meta content='600' itemprop='width'/>
<meta content='400' itemprop='height'/>
</div>
<meta expr:content='data:blog.title' itemprop='name'/>
</div>
Don't forget to add SEO Friendly HTML Meta Tags for your Blogger blog. Customize your Blogger Template.
Have got this article helpful or not working? Put your comment below.
Elliyas Ahmed
Elliyas Ahmed

Hi, I am Elliyas Ahmed, the founder of ComProMath. I try to share what I learn.

Work With Me - SEO Expert, WordPress, Blogger Theme Developer on Fiverr

Comments:

  1. Hey we applied what you wrote here but articlebody error is showing in google webmaster tool.
    Also google search result for my blog is changed please help.
    https://indianaccounting.blogspot.com

    ReplyDelete
    Replies
    1. Have you tried by enabling Author option from Layout -> Blog Posts -> Edit?

      If you can't, you can send to me your Theme and I will fix it.

      Delete
    2. First, Replace post-body entry-content with post-body h-entry-content
      Next, Remove the following code and save your template.
      <script type='application/ld+json'>
      {
      "@context": "http://schema.org",
      "publisher": "....R.S.N",
      "url": "http://www.indianaccounting.blogspot.com"
      }

      Delete
  2. i have problem with Image_url,Where can I edit html in blogger (The property image_url is not recognised by Google for an object of type BlogPosting)
    www.readytocacth.tk

    ReplyDelete
    Replies
    1. @Sanjay Vyas,
      Your site can't be reached now. Please update your site with custom Domain.

      Delete
  3. Implemented it, very helpful,thanks.

    ReplyDelete
  4. Hi;
    i have problem with this :
    url : Veuillez saisir une valeur pour le champ url.
    how to correct it ?
    http://www.cccamcuatrolatas.tk
    Thanks.

    ReplyDelete
    Replies
    1. Thanks for the replay
      Link provided is about: value for the image and image_url field is required.
      but my error is about "url : field is required"
      Thanks.
      www.cccamcuatrolatas.tk

      Delete
    2. I have checked and found "url:field is required" error. It is also error under image.
      https://imgur.com/a/5xSBN
      So, try the above link and show your result.

      Delete
    3. after change (found the code 3 times and changed it 3 times), still with the same error.
      thanks for all.

      Delete
    4. 1st, Replace "hentry" with "h-entry".
      Next, Search for "<b:includable id='post' var='post'>".
      And paste the following code just after the above tag. You have to customize with twitter username.
      <div class='post h-entry uncustomized-post-template' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
      <!-- Twitter Card Tags -->
      <meta content='@compromath' name='twitter:site'/>
      <meta content='@Elliyas_Ahmed' name='twitter:creator'/>
      <b:if cond='data:post.firstImageUrl'>
      <meta content='summary_large_image' name='twitter:card'/>
      <!-- summary_large_image or any other your card types -->
      <meta expr:content='data:post.firstImageUrl' name='twitter:image'/>
      <b:else/>
      <meta content='summary' name='twitter:card'/>
      <b:if cond='data:blog.postImageThumbnailUrl'>
      <meta expr:content='data:blog.postImageThumbnailUrl' name='twitter:image'/>
      </b:if>
      </b:if>

      Delete
    5. And remove the duplicate tag "<div class='post h-entry uncustomized-post-template' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>"

      Let me know. If you don't be succeed and if you feel comfortable, you can share your theme, I will help you.

      Delete
    6. Send your Theme XML file through a mail.
      contact@compromath.com

      Delete
  5. theme sent by mail
    thanks for all your help
    regards

    ReplyDelete
  6. please will you check my web data structure, is it coreect or not . i have done as you given in this post , can you verify it. it is correct or not. my web url www.govtjobsportal.online.

    ReplyDelete
  7. thankew elliyas bhai, and one more thing my webmaster tool says missing updated 91 posts. what should i do please tell me.

    ReplyDelete
  8. this is the url for structure testing tool says missing entry tittle and headline
    http://www.govtjobsportal.online/2017/12/indian-coast-guard-jobs-notification.html

    ReplyDelete
    Replies
    1. I have found SDT Tool shows "A value for the headline field is required.
      " error for this post.

      Because you have missed the code for headline.

      Just paste the following code before <div class='post-header'>. You will get two times it by hitting Enter from your keyboard and you have to change both times.

      <b:if cond='data:post.title'>
      <h1 class='post-title entry-title' itemprop='headline'>
      <b:if cond='data:post.link or (data:post.url and data:blog.url != data:post.url)'>
      <a expr:href='data:post.link ? data:post.link : data:post.url'>
      <data:post.title/>
      </a>
      <b:else/>
      <data:post.title/>
      </b:if>
      </h1>
      </b:if>

      Delete
  9. Its was Great error has removed, thankew teacher, it will also work for missing updated which was showing with missing updated.

    ReplyDelete
  10. Elliyas Bhai Please tell me, any other error here which affects my seo, please check ones my homepage url in data structure its not showing hatom and blogposting in structure data testing tool.

    ReplyDelete
  11. I am not able to resolve publisher Error
    Please check at http://www.itnirvanas.com/2018/02/top-informatica-interview-questions.htm

    ReplyDelete
    Replies
    1. To fix the Publisher error, you have to follow this.

      I have also seen another error: Breadcrumb Error. Try to fix Breadcrumb Error.

      Your SDT result is here

      Delete
  12. Many thanks to you, all over the goole only your condition about "mainentityoftype" id worked correctly for me

    ReplyDelete

We appreciate your comment. Shout here.
But don't Spam. We will mark as Spam and it will harm your SEO.