Continuando con la edición de contenidos en Liferay Portal y con aquellos aspectos que quedan dentro del marco del posicionamiento en buscadores, toca en esta ocasión contaros cómo aplicar semántica a vuestros contenidos usando microdatos de schema.org, opción recomendada por Google entre ésta, microformatos y RDFa.
Los microdatos ayudan a los motores de búsqueda a identificar y “entender”, dentro de nuestro contenido y de una manera estructurada, descripciones de productos, eventos, recetas, música o comentarios entre otros.
Cuando hemos facilitado correctamente a los motores de búsqueda esta información nos podremos encontrar que la presentan en forma de los conocidos fragmentos enriquecidos (rich snippets):
Para estructurar estos datos debe utilizarse un etiquetado específico y estandarizado. Por ejemplo, si queremos facilitar datos de un libro tendríamos un código HTML similar a este:
<div itemscope itemtype="http://schema.org/Book">
Título <div itemprop="name"><strong>Canción de hielo y fuego: Vientos de invierno</strong></div>
Autor <div itemprop="author" itemscope itemtype="http://schema.org/Person">
Written by: <span itemprop="name">George R. R. Martin</span></div>
</div>
Imaginad un sitio web/portal en el que se van a publicar fichas de libros, imaginad que queremos dotar de estos microdatos a cada libro, imaginad que tenemos que hacerlo con el editor de contenido cada vez que añadamos uno nuevo...un peñazo! ¿Verdad?
Por suerte para esto podemos aprovechar una de las funcionalidades en Liferay que dota de gran flexibilidad a la edición de contenido: La combinación de estructuras y plantillas.
Analizando el sencillo ejemplo del libro podemos extraer 2 campos definidos en ese código, el título del libro y el autor, con lo que nuestra estructura deberá contener dos campos de tipo texto a los que llamaremos bookname y bookauthor (por ejemplo).
Panel de control > Contenido web > Estructuras > Añadir Estructura
Con la estructura ya creada el paso siguiente será añadir una plantilla en la que se maquete el contenido con los microdatos y con los valores que se introduzcan posteriormente con cada ficha de libro. Para ello el método más sencillo, partiendo de un código de ejemplo del tipo de “cosa” que queremos estructurar, es copiar y pegar el código HTML y sustituir el valor que contenga por las variables de nuestras estructuras.
Panel de control > Contenido web > Estructuras > Sobre el botón ACCIONES de la estructura anterior > Añadir Plantilla
Las variables del ejemplo anterior son $bookname y $bookauthor por lo que el código en la plantilla quedaría así:
<div itemscope itemtype="http://schema.org/Book">
Título <div itemprop="name"><strong>$bookname.getData()</strong></div>
Autor <div itemprop="author" itemscope itemtype="http://schema.org/Person">
Written by: <span itemprop="name">$bookauthor.getData()</span></div>
</div>
Cuando el responsable de contenido necesite crear una ficha nueva de libro, utilizando esta combinación de estructura y plantilla, simplemente se le solicitará que introduzca el título y el autor de dicho libro sin necesidad de “picar” ni una sola línea de HTML.
Este es un ejemplo muy sencillo con solo dos campos pero si profundizais en las posibilidades de schema.org veréis que podemos añadir mucha información y aquí es dónde el uso de estructuras y plantillas facilita enormemente la tarea de generar contenido estructurado.
Para conseguir el código del que partir podéis coger de schema.org uno a uno los elementos que deseéis incluir o bien hacerlo más sencillo y rápido usando la herramienta online http://schema-creator.org/ dónde la mayoría de ocasiones no os hará falta añadir ningún campo adicional.
Más información y herramientas sobre fragmentos enriquecidos y datos estructurados:
https://support.google.com/webmasters/answer/99170?hl=es
http://schema.org/docs/documents.html
http://www.google.com/webmasters/tools/richsnippets