22Wordpress LogoRich Snippets Code for Thesis Theme

In response to a query by Darko Kovan­cives on my pre­vi­ous art­icle about [int­link id=“1520” type=“post”]fixing Rich Snip­pets code for the Mys­tique theme[/intlink] we have resolved the same issues with the Thes­is theme.  Details of the changes required are below.

Before the file edits you need to carry out vari­ous oth­er changes and tasks

  1. Get a google pro­file (i.e. a google+ account)
  2. Add the address of your site (e.g. https://diymediahome.org) to your google+ pro­file, as a pub­lic link
  3. Get your google plus ID and use it in place of mine in file edit num­ber 5 below
  4. Change a Thes­is set­ting for show­ing author on teas­ers in the options — Thes­is: Design Options: Teas­ers: Teas­er Dis­play Options: Tick “author name”
  5. Change a Thes­is set­ting for link­ing author in options — Thes­is: Design Options: Dis­play Options: Bylines: “Link author names to archives”

Now do the file edits as follows

1. Edit line 151 in content.php to nest the fn span inside a vcard span

from

[php htmlscript=“1”]echo __(‘by’, ‘thes­is’) . ” <span class=\“author vcard$fn\”>$author</span>”;[/php]

to

[php htmlscript=“1”]echo __(‘by’, ‘thes­is’) . ” <span class=\“vcard\”><span class=\“author $fn\”>$author</span></span>”;[/php]

2. Edit line 114 in content.php to provide updated date as well as pub­lished date

from

[php htmlscript=“1”]if ($date)
echo ‘<abbr class=“published” title=“ ‘ . get_the_time(‘Y‑m-d’) . ’ ”>’ . get_the_time(get_option(‘date_format’)) . ‘</abbr>’;[/php]

to

[php htmlscript=“1”]if ($date){
if(get_the_date()!=get_the_modified_date()){
echo ‘<abbr class=“published” title=“ ‘ . get_the_time(‘Y‑m-d’) . ’ ”>’ . get_the_time(get_option(‘date_format’)) . ‘</abbr>. Updated <abbr class=“updated” title=“ ‘ . get_the_modified_time(‘Y‑m-d’) . ’ ”>’ . get_the_modified_time(get_option(‘date_format’)) . ‘</abbr>’;
}
else{
echo ‘<abbr class=“published updated” title=“ ‘ . get_the_time(‘Y‑m-d’) . ’ ”>’ . get_the_time(get_option(‘date_format’)) . ‘</abbr>’;
}
}[/php]

3. Edit line 81 in teasers.php to include updated date

from

[php htmlscript=“1”]echo ‘<abbr class=“teaser_date pub­lished” title=“ ‘ . get_the_time(‘Y‑m-d’) . ’ ”>’ . get_the_time($use_format) . “</abbr>\n”;[/php]

to

[php htmlscript=“1”]if(get_the_date()!=get_the_modified_date()) echo ‘<abbr class=“teaser_date pub­lished” title=“ ‘ . get_the_time(‘Y‑m-d’) . ’ ”>’ . get_the_time($use_format) . ‘</abbr><abbr class=“teaser_date updated” title=“ ‘ . get_the_modified_time(‘Y‑m-d’) . ’ ”><span class=“value-title” title=“ ‘.get_the_modified_time($use_format).’ ”></span></abbr>’.”\n”;
else echo ‘<abbr class=“teaser_date pub­lished updated” title=“ ‘ . get_the_time(‘Y‑m-d’) . ’ ”>’ . get_the_time($use_format) . “</abbr>\n”;[/php]

4. Edit the author href code on line 144 of content.php to add rel=“me”

from

[php htmlscript=“1”]$author = ‘<a href=“ ‘ . get_author_posts_url(get_the_author_ID()) . ’ ” class=“url fn“ ‘ . $nofol­low .’>’ . get_the_author() . ‘</a>’;[/php]

to

[php htmlscript=“1”]$author = ‘<a rel=“me” href=“ ‘ . get_author_posts_url(get_the_author_ID()) . ’ ” class=“url fn“ ‘ . $nofol­low .’>’ . get_the_author() . ‘</a>’;[/php]

5. Edit line 308 in content.php to insert google account link

from

[php htmlscript=“1”]$output .= “$tab\t<h1>” . apply_filters(‘thesis_archive_intro_headline’, get_author_name($wp_query->query_vars[‘author’])) . “</h1>\n”; #wp[/php]

to

[php htmlscript=“1”]$output .= “$tab\t<h1><a rel=\“me\” href=\“https://plus.google.com/104657888470728381512/\”>” . apply_filters(‘thesis_archive_intro_headline’, get_author_name($wp_query->query_vars[‘author’])) . “</a></h1>\n”; #wp[/php]

Leave a Reply

22 Comments

MAMim Akter

very help­ful web­site. it is big use­ful for us. thanks for sharing.

Reply
JSJon Scaife

Yes — I’ve had some syn­tax cor­rup­ted by the word­press code edit­or and by a plu­gin. I’ve hope­fully resolved this now and will be double check­ing the code on all posts over the week­end. Sorry about that!

Reply
TTodd

Thanks Jon. Bril­liant fix. The Thes­is’ hcard errors cleaned up nicely.
We are hav­ing a related issue which maybe you’ll know the answer for. We have a some cod­ing gen­er­at­ing the hrecipe format­ting and can see the markups when inspect­ing the post ele­ments, but the rich snip­pet tool isn’t pick­ing it up at all. The developer has no prob­lems get­ting picked up on her site and oth­ers she has built out, but for some reas­on it isn’t get­ting picked up on a Thes­is theme. 

Don’t know if this is in your round­house, but if you could take a look that would be awesome. 

Here is a post of ours with the markup: Roas­ted Straw­berry Muffin
Here is one of hers with the markup: Apple­sauce Muffins

Thanks again for the pre­vi­ous fix and for any help you can offer.

Reply
TTodd

I figured out the answer. The recipe was wrapped in a block­quote tag. I changed that to a div tag and everything ran through perfect. 

Thanks again on the pre­vi­ous hcard coding. 

T

Reply
JSJon Scaife

I think you’ve mixed up your rel=“me” and rel=“author” tags a bit

You should only have a single rel=“me” link — from your author page to your google pro­file. every­where else you should have rel=“author” tags. On your homepage each post has a “by Wouter de Jong” link which points (cor­rectly) to your author page ), but you have rel=“me” on these links. It should be rel=“author”

Once you change these rel=“me” links into rel=“author” I think it will all work — as it stands you’ve got mul­tiple rel=“me” links on your author page, most of them back to itself and only 1 (cor­rectly) point­ing to your google pro­file. I think this is con­fus­ing the snip­pet tool

Reply
SSante

Hi Jon, it worked per­fectly — I did­n’t include items 4 and 5 from your list as they are not essen­tial to val­id­ate the rich snip­pet and I’m not bet­ting on Google+ just yet so I don’t want to “lit­ter” my themes 🙂

Thanks for the tip 🙂

Reply
Aarafinshaon

hav­ing trouble @ Jon Scaife i’m not get­ting exactly the same code into content.php file. I’m using thes­is 1.8.2. wait­ing 4 your response.…

Reply
JSJon Scaife

You might have to search for sim­il­ar code on slightly dif­fer­ent line num­bers. If you send me your content.php I’ll have a look

Reply
Aarafinshaon

i did this exactly. after doing this my Author­ship markup got veri­fied but unfor­tu­nately I’m get­ting below errors . 

Warn­ing: Miss­ing required field “updated”.
Warn­ing: At least one field must be set for Hcard.
Warn­ing: Miss­ing required field “name (fn)”.

do i have to wait for few days for crawling?

Reply
JSJon Scaife

What’s your site address? Which page are you get­ting the errors on? The homepage, a post or both? Have you made any oth­er modi­fic­a­tions to the theme — like adding extra files or using a child theme?

Reply
JSJon Scaife

Sorry — my fault. I’ve figured it out. The code had got mangled by word­press. I think when I update the post word­press pro­cesses some of the code and takes some of the classes out which makes it dis­func­tion­al. I’ve cor­rec­ted it. Please give it a try now.

Reply
EYEko Y

Thanks, very use­ful info. But, how to add meta tags inform­a­tion like this blog? It looks if i do right click in browser » view page info. There are many inform­a­tion on gen­er­al tab. Like Author, View­port Etc. My blog is just con­tain : con­tent, robots, descrip­tions, keywords in page info..How to get this snippet?
Thank You..

Reply
JSJon Scaife

Most of that comes from using a semant­ic HTML5 theme for word­press com­bined with the Yoast SEO plu­gin. I also have vari­ous meta files like humans.txt and robots.txt. Have a look at the word­press guide for loads of inform­a­tion about improv­ing your word­press setup.

Reply