Microdatos en WordPress

Artículo en el que se explica cómo incorporar microdatos en Wordpress usando las especificaciones de Schema.org.

archivado en: WordPress / 6 septiembre, 2012 / taller:

En otro artículo explicaba qué son los microdatos, en este vamos a ver cómo incluirlos en WordPress, un paso fundamental para quienes tenemos la esperanza de que algún día las tostadoras sean capaces de entender las obras de Shakespeare

En las últimas versiones de WordPress se ha mejorado mucho la semántica del código, ya corre bajo HTML5 y el theme oficial, el Twenty Eleven, incorpora algunos microformatos. Sin embargo, aún no emplea microdatos, que probablemente terminen siendo el mejor sistema de etiquetación semántica o, al menos, el más extendido, ni tampoco existe, que yo sepa, ningún plugin que los incorpore de forma eficaz, es decir, dónde realmente corresponden más allá de tres metaetiquetas SEO.

Como vimos, los microdatos siguen la siguiente sintaxis:

  • <div itemscope itemtype="URL del schema empleado">
  • <span itemprop="Propiedad a definir">valor<span>
  • <meta itemprop="Propiedad a definir" content="valor">
  • </div>

Donde:

  • itemscope sirve para indicar qué comienza y termina un bloque de información,
  • itemtype para definir el esquema que se está utilizando,
  • itemprop para indicar una propiedad del bloque,
  • content para indicar el valor de una propiedad cuando se define en un tag meta (que no se visualiza en pantalla).

Como sabéis, para mostrar un post, una entrada, WordPress va solicitando los distintos elementos (el título, el contenido, las categorías...) a una base de datos mediante un bucle (el loop de WordPress). Así, lo único que tenemos que hacer es ir incluyendo los microdatos que correspondan en cada momento del bucle. Por ejemplo, esta instrucción de WordPress que sirve para sacar el título de un post:

  • <?php the_title(); ?>

se puede incluir en la propiedad itemprop que define un título (name):

  • <span itemprop="name">
  • <?php the_title(); ?>
  • </span>

Cada cual debe escoger su propio esquema en función de qué temas trata en su web, pero el esquema Article, más o menos debería funcionar para la mayoría de los blogs (o su subvariante BlogPosting).

Aunque hay más posibilidades, estos serían los microdatos habituales para etiquetar una entrada. Ojo, hay que tener en cuenta que en cada tema las funciones tienen pequeñas variantes para mostrar los datos con un formato u otro. Las que aquí aparecen son las que uso en este blog. No vale con cortar y pegar, hay que adaptar estas sentencias a cada caso.

Títular

  • <span itemprop="name">
  • <?php the_title(); ?>
  • </span>

Fecha

  • <meta itemprop="datePublished" content="<?php echo get_the_date(Y); ?>-<?php echo get_the_date(m); ?>-<?php echo get_the_date(d); ?>" />
  • <?php echo get_the_date(Y-m-d); ?>

(WordPress suele mostrar la fecha en el formato que se indica en el escritorio, pero para los microdatos es más conveniente usar el formato año-mes-día y de esta manera un tanto raruna de montar la cadena en el meta te quitas de líos)

Categoría

  • <?php $category = get_the_category();
  • if($category[0]){
  • echo '<a href="'.get_category_link($category[0]->term_id ).'"><span itemprop="about">'.$category[0]->cat_name.'</span></a>';
  • } ?>

Autor

  • <span itemprop="author"><?php the_author(); </span>

Sumario

  • <span itemprop="description"><?php the_excerpt();  ?></span>

Contenido

  • <span itemprop="articleBody"><?php the_content(); ?></span>

Tags

  • <span itemprop="keywords"><?php echo get_the_tag_list();  ?></span>

Imagen destacada 

  • <meta itemprop="image" content="<?php if (has_post_thumbnail()) : ?>
  • <?php
  • $image_id = get_post_thumbnail_id();
  • $image_url = wp_get_attachment_image_src($image_id,'large', true); ?>
  • <?php echo $image_url[0]; ?>
  • <?php else : ?>
  • ruta_al_logo_de_tu_blog
  • <?php endif; ?>
  • " />

(Aquí también se podría emplear<meta itemprop="thumbnailUrl" content="").

Importante: todas estas propiedades deben estar contenidas en un itemscop, en el cual hay que incluir el atributo itemtype con referencia a la URL de la especificación Article. Lo mejor es ponerlo al principio y cerrarlo al final del bucle, para estar seguros de que no nos dejamos nada.

  • <div itemscope itemtype="http://schema.org/Article">
  • Bucle
  • </div>

El archivo que hay que modificar es el que muestra las entradas individuales, que dependerá de cada tema. Por lo general será single.php en los temas antiguos y content-single.php en los más modernos (otro día explico la estructura interna de un tema de WordPress). Eso sí, si es un tema que vas a actualizar automáticamente, no te olvides de hacer estos cambios en un child-theme si no quieres perderlos.

De la especificación Article hay por los menos otras dos propiedades a tener en cuenta: comment, que serviría para los comentarios, y aggregateRating, de la que hablaré otro día en detalle. Pero, además, hay otras especificaciones que nos pueden resultar útiles para etiquetar semánticamente algunas partes de la web, como Person, en la que se definen los datos personales. Por ejemplo:

  • <div  itemscope itemtype="http://schema.org/Person">
  • <span itemprop="image">Una imagen</span>
  • <span itemprop="name">El nombre</span>
  • <span itemprop="jobTitle">El trabajo</span>
  • </div>

En fin, que todo es navegar un rato por Schema.org en busca de especificaciones que permitan definir con precisión los distintos elementos de un web log.

Para terminar esta introducción a los microdatos en WordPress, podríamos preguntarnos si realmente compensa tanto esfuerzo. Todo depende de tus valores éticos. ¿Te parece justo que las lavadoras se pierdan la posibilidad de disfrutar de las obras de Shakespeare?

Bueno, también hay otras razones, tal vez más anodinas... pero esas las veremos otro día, que hoy se me caen los ojos...

|| Tags: , ,

valoración de los lectores sobre Microdatos en WordPress

  • estrellica valoración positiva
  • estrellica valoración positiva
  • estrellica valoración positiva
  • estrellica valoración positiva
  • estrellica valoración negativa
  • 4 sobre 5 (10 votos)

¿Te ha parecido útil o interesante esta entrada?
dormido, valoración 1 nadapensativo, valoración 2 un poco sonrisa, valoración 3 a medias guiño, valoración 4 bastante aplauso, valoración 5 mucho

Tú opinión es muy importante, gracias por compartirla!

3 respuestas a “Microdatos en WordPress

  1. Excelente articulo, jamas lo quise buscar porque me imagine que iba a tardar mucho en encontrarlo, pero este post tiene justo lo que estaba buscando, Saludos!

  2. Hola gracias por compartir, tengo una duda ¿donde agregas los micro datos¿
    – En el home de tu blog.
    – Dentro de cada artículo o post.
    – En ambos.

    Muchas gracias, me siento perdido con eso.