¿Quieres valorar este artículo? Gracias

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (7 votos, promedio: 4,43 de 5)
Cargando…

Última modificación: 14 marzo 2017

Errores de datos estructurados en Search Console con WordPress

Ayuda para usuarios de páginas WordPress: solución a los errores de datos estructurados en Search Console, falta author, updated… tipo de datos hentry.

Microformats-hentry

Vamos a la herramienta para Webmaster de Google, Search Console y pulsamos sobre Apariencia en el buscador >> Datos Estructurados.

SearchConsole-DatosEstructurados

Cuándo termine el rastreo de tu página se mostrará un resumen con los errores de datos estructurados en Search Console.

Errores tipo de datos hentry en microformats.org

hentry-errores

En este ejemplo los errores se producen en el microformato de tipo  hentry. Esto quiere decir que estamos utilizando el formato de datos semánticos o estructurados de microformats.org. 

Para entender que error estamos cometiendo, lo más lógico es que conozcamos las propiedades de este microformato. Toda la información la encontrarás en la página: http://microformats.org/wiki/hCard

Lo más importante es conocer las propiedades obligatorias que hay que implementar para el título, autor y fecha de cada entrada del blog. La estructura del microformato hentry está compuesta de propiedades opcionales y obligatorias que si no son detectadas provocan errores de datos estructurados en Search Console.

Volviendo a nuestro ejemplo, vamos a hacer click sobre la palabra “hentry” para que nos muestre todas las páginas con errores:

Paginas-con-errores-en-datos-estructurados

Si nos fijamos en la última columna nos está indicando el error de datos estructurados que detecta, en mi caso si observo las URL veo que en todas las entradas de mi blog falta author y updated y en las páginas falta author, entry-title y updated. 

Para solucionar este error vamos a modificar las plantillas de WordPress o el archivo functions.php:

1.- Si el error es en entradas individuales del blog tenemos que modificar la plantilla single.php.  

2.- Si el error es en páginas modificaremos archive.php o la plantilla que carga las páginas.

3.- Si las etiquetas html se crean en funciones debemos trabajar con el archivo functions.php

Herramienta de pruebas de datos estructurados

Vamos a comprobar los datos estructurados que nos faltan, author y updated de nuestras entradas del blog:

1.- Selecciona una URL de un post de tu lista de errores y pulsa sobre la URL: en este caso seleccionamos una entrada del blog en la que falta author y updated.

ComprobarDatosEstructurados

Se abrirá una ventana emergente con un botón: Probar datos activos, pulsa sobre él para abrir la Herramienta de prueba de datos estructurados.

2.- En la columna de la izquierda verás el código fuente de tu página, aquí tienes que localizar la parte de código que hace referencia al título, autor y a la fecha de la entrada. 

Dentro de la etiqueta <article class=”hentry”> 

Herramienta de pruebas de datos estructurados

Los errores de datos estructurados en Search Console para esta URL concreta son: Falta author y updated. Analizando el código observamos lo siguiente:

1.- El título (entry-title) está correcto. Efectivamente el formato para el título sólo obliga a implementar una etiqueta HTML con class:”entry-title” y contenido de texto (el título de la entrada). CORRECTO

2.- El autor se agrupa en una etiqueta span HTML con la clase author vcard. CORRECTO

3.- El enlace a la URL de author: dentro del enlace de la etiqueta author es obligatoria la propiedad de class=”fn”. Lo correcto es: <a href=”urlautor” class=”fn”…> ERROR

Debemos añadir la clase fn a todos los enlaces de autor

4.- La fecha: el esquema hentry obliga a tener un formato fecha con la class=”updated”. En mi caso brilla por su ausencia. ERROR

Solución falta author, updated en los datos estructurados de WordPress

Ya hemos detectado los problemas que provocan los errores de datos estructurados en Search Console en nuestra página WordPress. Tenemos dos posibilidades para solucionarlos que dependen de cómo se crean las etiquetas HTML en nuestra página.

En algunos temas de WordPress las etiquetas se crean directamente en los archivos single.php, archive.php e index.php. En este caso al abrir el archivo encontrarás las etiquetas referentes a título, autor… y puedes modificar directamente el código para añadir los datos que te faltan. Sin embargo en otros temas es una función la encargada de crear estas etiquetas, en este caso la solución no es tan sencilla y depende del tema.

Vamos a ver esto con más detalle.

Solución 1: Modificaciones en archivos single.php, archive.php, index.php

Nos vamos a nuestra carpeta wp-content/themes y abrimos el archivo single.php. Localiza en el archivo las etiquetas: entry-title, author vcard y alguna que haga referencia a la fecha.

Si has detectado que falta entry-title entonces tienes que añadir también esta tag HTML:

Debajo de title busca author vcard y dentro del enlace añade la clase fn:

Por último nos falta modificar o añadir a la etiqueta de fecha la clase updated:

Debes repetir estos pasos para los archivos index.php y archive.php si has detectado errores de datos estructurados en el index de tu WordPress o en las páginas.

Solución 2: Modificaciones en el archivo functions.php

Si después de revisar los archivos de tu tema, no has encontrado las etiquetas HTML es porque se generan mediante funciones de WordPress. En este caso debemos añadir filtros para modificar estas funciones.

add_filter the_author_post

‘the_author_posts_link’ es la función  encargada de crear el código HTML para vcard author. Vamos a añadir un filtro sobre esa función para que incluya en la etiqueta la clase fn.

Nos vamos abrir el archivo functions.php de nuestro tema y añadimos el siguiente código: el filtro reemplaza dentro del link rel=”author” por rel=”author” class=”fn”

Quitar hentry en las páginas que no sean entradas del blog 

Si quieres eliminar los datos estructurados para las páginas que no sean entradas individuales del blog, tienes que añadir el siguiente código en tu archivo functions.php.

Si analizas el código verás que eliminando el if(!is_single()) eliminarás los datos estructurados en toda tu web.

Si además quieres eliminar los datos estructurados en Custom Post Types (ejemplo CPT: trabajo-realizado y servicio) utiliza el siguiente código:

Personalmente creo que la mejor opción para solucionar el problema es hacer un mix de las soluciones que se aportan en esta entrada. Como los microdatos están pensados para aportar información semántica que se supone que ayuda al SEO de la página, opino que tienen sentido con entradas tipo post, eventos, noticias… pero no están pensados para contenido de páginas estáticas.

En definitiva yo he optado por eliminarlos de todas las páginas que no sean entradas del blog y corregir los problemas en las páginas de entradas individuales (single.php)

Más información soporte WordPress.

Comprobar que los errores se han solucionado

Google Search Console volverá a rastrear tu sitio en unas semanas y podas comprobar de nuevo si has solucionado los problemas que tenías con los datos estructurados. 

Si quieres ir comprobando las URL de cada página de error utiliza la: Herramienta test datos estructurados de Google

Información completa sobre microformato hentry: http://microformats.org/wiki/hentry

Nerea Liebana

Lph by Nerea Liébana

¿Quieres suscribirte al Newsletter?