0Logo WordpressCodice Rich Snippets per 2.x Mystique

In aggiunta a questo sito ho un blog personale dove, tra le altre cose, I post ricette. Ho recentemente scoperto una nuova ricerca ricetta di google, e sono state cercando di implementare il supporto per i microformati / microdati. Google fornisce uno strumento per controllare il tuo markup, chiamato “strumento di test dei rich snippet“. Quando ho provato la convalida una delle mie ricette, Ho incontrato vari errori, che mi hanno preso un po 'per rintracciare e risolvere.

Each one is independent, but related, and in all cases the number of errors you are likely to encounter depends largely on the theme you use with your blog. In my case, using the mystique theme, I encountered a substantial number of errors.

1. The first problem was with the author information / sezione hrecipe

La soluzione:

You need a google profile. Your google profile must be linked from somewhere on the page, with rel=”me”, AND the main domain of your website must be listed on your google profile links.

I achieved this with the Mystique theme with a series of modifications.

In primo luogo, Ho aggiunto il codice Yoast (come mostrato di seguito) a functions.php

function yoast_add_google_profile( $contactmethods ) {
// Add Google Profiles
$contactmethods['google_profile'] = 'Google Profile URL';
return $contactmethods;
}
add_filter( 'user_contactmethods', 'yoast_add_google_profile', 10, 1);

Secondo, I went to my wordpress profile page and filled in the google profile field with a link to my google profile

Terzo, Ho curato una linea per author.php, di nuovo, based on information from yoast, but changed for the Mystique theme

in questa sezione

if(($curauth->user_url<>'http://') && ($curauth->user_url<>'')) echo '

'.__('Homepage:','mystique').' <a href="'.$curauth->user_url.'">'.$curauth->user_url.'</a>

';
if($curauth->yim<>'') echo '

'.__('Yahoo Messenger:','mystique').' <a href="ymsgr:sendIM?'.$curauth->yim.'">'.$curauth->yim.'</a>

';
if($curauth->jabber<>'') echo '

'.__('Jabber/GTalk:','mystique').' <a href="gtalk:chat?jid='.$curauth->jabber.'">'.$curauth->jabber.'</a>

';
if($curauth->aim<>'') echo '

'.__('AIM:','mystique').' <a href="aim:goIM?screenname='.$curauth->aim.'">'.$curauth->aim.'</a>

';

aggiungere questa riga in più

if(($curauth->user_url<>'http://') && ($curauth->user_url<>'')) echo '

'.__('Homepage:','mystique').' <a href="'.$curauth->user_url.'">'.$curauth->user_url.'</a>

';
if($curauth->yim<>'') echo '

'.__('Yahoo Messenger:','mystique').' <a href="ymsgr:sendIM?'.$curauth->yim.'">'.$curauth->yim.'</a>

';
if($curauth->jabber<>'') echo '

'.__('Jabber/GTalk:','mystique').' <a href="gtalk:chat?jid='.$curauth->jabber.'">'.$curauth->jabber.'</a>

';
if($curauth->aim<>'') echo '

'.__('AIM:','mystique').' <a href="aim:goIM?screenname='.$curauth->aim.'">'.$curauth->aim.'</a>

';
if($curauth->google_profile<>'') echo '
<a href="' . $curauth->google_profile . '" rel="me">Google Profile</a>

';

Prossimo, I edited single.php to add rel=”autore” to the link to my author page. In the Mystique theme this is found towards the bottom of the file, all'interno (lungo) linea(S) come mostrato di seguito. I have added the rel=”autore” at the end of the first line before the href=” parte

printf(__('This entry was posted by %1$s on %2$s at %3$s, and is filed under %4$s. Follow any responses to this post through %5$s.', 'mystique'), '<a title="'. sprintf(__(" href="'. get_author_posts_url(get_the_author_meta('ID')) .'" rel="author">'. get_the_author() .'</a>',
get_the_time(get_option('date_format')),get_the_time(get_option('time_format')), get_the_category_list(', '), '<a title="RSS 2.0" href="'.get_post_comments_feed_link($post->ID).'">RSS 2.0</a>');echo ' ';

Allora, finally add the same rel=”autore” to line 670 di core.php

When this is correctly implemented you should get a success message in the snippets testing tool which reads Verified: Authorship markup is correct for this page

2. Il secondo problema(S) erano con il hfeed / hentry section and included the following:

Missing required hCard “autore”.
avvertimento: Almeno un campo deve essere impostato per hCard.
avvertimento: Almeno un campo deve essere impostato per HatomEntry.
avvertimento: Manca campo obbligatorio “entry-title”.
avvertimento: Manca campo obbligatorio “aggiornato”.
avvertimento: Missing required hCard “autore”.

La soluzione(S):

Use the wordpress editor to edit single.php

Trovare il codice

</pre>
<h1 class="title"></h1>
<pre>

replace this with

</pre>
<h1 class="title entry-title"></h1>
<h2 class="updated"></h2>
<h2 class="vcard"></h2>
<pre>

A final noteDon’t just copy and paste the code from this page, da per qualche motivo (I’m guessing character encoding) esso non funzionerà. Copy it from here and paste into windows notepad. Then re-copy it from windows notepad (o qualsiasi altro editor di base di solo testo semplice) and paste into the wordpress editor. Going via notepad loses any hidden encoding or other data which causes a problem so the code is treated as the plain-text it is supposed to be

Ha ottenuto alcuni pensieri del proprio? Concedetevi sotto commentando! Se si desidera iscriversi si prega di utilizzare il link iscriviti sul menu in alto a destra. È inoltre possibile condividere con i tuoi amici usando i link sottostanti sociali. Saluti.

lascia un commento