microformati e custom post type

I microformati sono pattern HTML convenzionali ideati per descrivere informazioni comuni – quali luoghi, persone , prodotti etc.. – in modo che siano comprensibili tanto per l’uomo quanto per i motori di ricerca.

Ne avevo già parlato relativamente alle ricette, di recente ho incominciato ad interessarmi a quelli dedicati alle recensioni di prodotto. Nello specifico ho cercato di applicarli alla recensioni di libri per utilizzarli nella mia nuova rubrica MamaBook dove parlo dei libri dedicati ai genitori ed ai bambini.

Il microformato di riferimento per le recensioni è hReview. Il microformato di riferimento per i libri in questo momento non è ancora definito pertanto ho utilizzato parte della specifica per hProduct.

Invece di aggiungere a mano la formattazione HTML convenzionale in ogni post, ho pensato di ricorrere ai custom post type di WordPress. Ho quindi creato il mio primo cpt libri e utilizzato i relativi metabox per inserire le informazioni relative al libro recensito.

meta box per libri

meta box per libri

Per realizzare il cpt e i relativi meta box ho trovato molto utili, oltre al Codex, queste due guide:

Inoltre ho dotato il mio metabox della possibilità di aggiungere/togliere campi dinamicamente e di un uploader customizzato per le copertine del libro.

Nota
Nel tutorial del custom uploader c’è un refuso: wp.media.editor.open(); apre l’uploader standard, per chiamare il proprio bisogna usare NOMEFRAME.open();.

La creazione del markup del microformato avviene dentro il template php del cpt, nel mio caso il file content-libri.php.
Ho innestato il blocco hProduct dentro il blocco hReview in modo da fornire una marcatura sia per recensione sia per prodotto.

<div class="hreview bookVcard">
	<span class="reviewer vcard">
		<span class="fn"><?php the_author(); ?></span>, 
		<abbr class="dtreviewed" title="<?php the_time('c'); ?>"><?php printf(esc_attr( get_the_date())); ?></abbr>
	</span>
	<span class="type">product</span>
	<span class="url"><?php the_permalink(); ?></span>
	<img class="photo" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" src="<?php echo $BRcover; ?>">
	<div class="description"><?php the_excerpt(); ?></div>
	<div class="hrpoduct left">
		<h4 class="author"><?php echo $BRauthor; ?></h4>
		<span class="item"><span class="fn"><h5 class="title"><?php echo $BRtitle; ?></h5></span></span>
		<p class="pubInfo"><?php echo $BRedition; ?></p>
		<p class="price"><?php echo $BRprice; ?></p>
		<ul>
		<?php foreach( $BRlinks as $BRlink ) { ?>
			<li><a target="_blank" href="<?php echo $BRlink[url]?>" title="<?php echo $BRlink[title]?>"><?php echo $BRlink[title]?></a></li>
		<?php	}	?>
		</ul>
	</div>
</div>

Ora vedremo se sul lungo periodo questo intervento porterà benefici al posizionamento dei miei post nei motori di ricerca. Attraverso lo strumento Google Structured Data Testing Tool è già possibile vedere che le informazioni sono accessibili alla ricerca.