Aggiungere dati strutturati Schema.org a Woocommerce

I dati strutturati sono molto importanti per garantire che Google e gli altri motori di ricerca possano scansionare al meglio le pagine del tuo sito internet. Se non conosci bene l’argomento leggi il nostro articolo sui dati strutturati.

In passato ci siamo dedicati all’implementazione dei dati strutturati su WordPress, oggi torniamo a farlo, con particolare interesse all’estensione che trasforma WordPress in un ecommerce: Woocommerce.

Aggiungere i markup di Schema.org è un’operazione abbastanza semplice, che richiede pochi minuti, con la giusta concentrazione. Chiaramente il consiglio è sempre quello di effettuare un backup completo del tema e del sito prima di cominciare, per evitare che eventuali errori diventino complicati da risolvere.

Per inserire i dati strutturati in WooCommerce è bene lavorare su un child theme, in alternativa, con tutto ciò che comporta,è possibile agire direttamente sul tema e sul plugin (ma quando aggiornerai l’uno o l’altro dovrai rifare tutto da capo).

Creare una funzione personalizzata per i dati strutturati Woocommerce

La prima cosa da fare è una modifica del file function.php (lo ripeto, meglio del tema child), al suo interno, prima della chiusura php, inserire:

function schema_org_markup() {
$schema = 'http://schema.org/';
// Is single post
if ( is_single() ) {
$type = "Article";
} // Contact form page ID
else {
if ( is_page( 1 ) ) {
$type = 'ContactPage';
} // Is author page
elseif ( is_author() ) {
$type = 'ProfilePage';
} // Is search results page
elseif ( is_search() ) {
$type = 'SearchResultsPage';
} // Is of movie post type
elseif ( is_singular( 'movies' ) ) {
$type = 'Movie';
} // Is of book post type
elseif ( is_singular( 'books' ) ) {
$type = 'Book';
}
elseif ( function_exists(is_woocommerce) && is_woocommerce() ) {
$type = 'Product';
} else {
$type = 'WebPage';
}
}
echo 'itemscope="itemscope" itemtype="' . $schema . $type . '"';
}

In questo modo abbiamo creato la funzione schema_org_markup.

 Richiamare la funzione nell’header

Una volta creata, la funzione va richiamata nella testata del tema: per farlo basta aprire il file header.php e cercare il tag html, sostituendolo con:

<html <?php schema_org_markup(); ?> <?php language_attributes(); ?>>

 Creare un template personalizzato per woocommerce

Nel passaggio finale andremo a creare un template personalizzato, in maniera tale da riuscire ad inserire il markup relativo al prezzo.

  • Se usi il tema child, crea al suo interno la cartella wocommerce e poi all’interno di questa un’altra cartella, chiamata single-product ed inserisci un file chiamato price.php.
  • Se non usi un tema child recati all’interno del plugin woocommerce > single-product e modifica il file price.php.

In un modo o nell’altro, quello che deve andare dentro il file price.php è:

<?php
/**
* Single Product Price, including microdata for SEO
*
* @author     WooThemes
* @package     WooCommerce/Templates
* @version     1.6.4
*/
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
global $post, $product;
?>
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<p class="price"><?php echo $product->get_price_html(); ?></p>
<meta itemprop="price" content="<?php echo $product->get_price(); ?>" />
<meta itemprop="priceCurrency" content="<?php echo get_woocommerce_currency(); ?>" />
<link itemprop="availability" href="http://schema.org/<?php echo $product->is_in_stock() ? 'InStock' : 'OutOfStock'; ?>" />
</div>

Una volta salvato e caricato il file tutto dovrebbe funzionare correttamente. A seconda del tema utilizzato il procedimento potrebbe non sortire gli effetti desiderati, ma questo dipende dalla particolarità dei temi stessi, in questo caso puoi chiedere agli sviluppatori oppure contattare guadagnareconunblog.com.

Se hai dubbi o considerazioni non esitare a lasciare un commento.

Prova SEOZoom: per te 15 Giorni Gratis e senza limiti

Coupon SEOZOOM

We will be happy to hear your thoughts

Leave a reply