How to Fix Google+ hfeed or hCard Warnings

I have successfully implemented Google+ Authorship on this website last week. My photo finally showed on SERPs not until this morning. So, i checked Google Structured Data Testing Tool and it turns out that the tool is unable to extract information Google+ needed from my webpage and it showed the following error/warnings:

  • Warning: At least one field must be set for HatomEntry
  • Warning: Missing required field “entry-title”.
  • Warning: Missing required field “updated”.
  • Warning: Missing required hCard “author”.
  • Warning: At least one field must be set for Hcard.
  • Warning: Missing required field “name (fn)”.

Before i tweak my single.php file (again) i posted a question about this issue in one of the Google+ Authorship Community that i am in and according to Rand Wilson “Those errors refer to Hcard structured data and do not affect Authorship. Unless you use hcard data, I think you can ignore these errors.”

In my opinion, in order for your site to be able to be crawled properly by Google, all data and information they require should be provided. Rand Wilson might be correct but i won’t take any chances. And besides, that is what the Google Structured Data Testing Tool is for yes? to find and fix errors and warnings.

You need to tweak your WordPress theme’s single.php file. On your WordPress dashboard, go to Appearance > Editor > Single.php

Fix Missing required field “entry-title”

Your title code should have the “entry-title” class. Normally yow would see

<h1 class="title single-title"><?php the_title(); ?></h1>

you cannot remove or replace the “title single-title” attribute. Removing it would break your single.php page title’s CSS. What you can do is add the word “entry-title” and your code should look like

<h1 class="title single-title entry-title"><?php the_title(); ?></h1>

Fix Missing required field “updated”

look for the code below on your WordPress theme’s single.php file.

<span class="post_date"><?php the_time('j F,Y'); ?></span>

then add “date updated” attribute to it. Your code should look like

<span class="post_date date updated"><?php the_time('j F,Y'); ?></span>

Fix Warning: Missing required hCard “author” and Missing required field “name (fn)”

This will fix these 2 warnings. On your WordPress theme’s single.php file, look for

<span class="theauthor"><?php the_author_posts_link(); ?></span>

or

<span class="theauthor"><?php the_author(); ?></span>

replace it with

<span class="vcard author">
<span class="fn"><?php the_author_posts_link(); ?></span>
</span>

or

<span class="vcard author">
<span class="fn"><?php the_author(); ?></span>
</span>

Here’s how your extracted structure data should look like :

You can see it real-time on this page : http://www.google.com.ph/webmasters/tools/richsnippets?q=http%3A%2F%2Furbanstoic.com%2Fhow-to-fix-google-hfeed-or-hcard-warnings

Not all WordPress themes have the same template hierarchy. In most cases, If a theme has no “single.php” file, then WordPress uses the “index.php” file to display the single entry material. Trust me, those lines are not missing. They’re all there somewhere. They can be all in 1 file or scattered. This article will help explain the hierarchy of template pages: http://codex.wordpress.org/Template_Hierarchy