Solucionar errores de datos estructurados AMP en WordPress

Como resolver mensajes de error de Google Search Console, que indican que el ancho de la imagen no es válido y que se requiere un valor para el campo logo.

Si habilitamos en nuestro blog o sitio web el plugin AMP for WordPress, es muy probable que comencemos a recibir mensajes desde Search Console de Google, sobre errores en los datos estructurados.
Es muy importante solucionarlos, porque si no las versiones en formato AMP no serán beneficiadas, con la posibilidad de priorizarse en los resultados de las búsquedas.
En este artículo explico la causa de estos errores y como solucionarlos.


Errores frecuentes de páginas AMP en Google Search Console

El plugin AMP for WordPress extrae los metadatos del contenido de las páginas, pero en muchos casos el valor del resultado no cumple con las especificaciones que Google impone o en otros casos es nulo.
Algunos ejemplos:
– Si la imagen asignada como destacada en la publicación, posee menos de 696 pixeles de ancho, la página no será válida y se puede recibir un mensaje de error similar al siguiente:
“El atributo image.width tiene un valor no valido”
– Si no se ha especificado ningún logotipo para el sitio o si sigue los estándares de WordPress y no los de Google, la página no será válida y se puede recibir un mensaje de error similar al siguiente:
“Se requiere un valor para el campo logo”
Por otros parámetros, también se puede recibir mensajes similares.

Como solucionar los errores de AMP

En cualquiera de los casos, los errores que detecta Google en los datos estructurados se pueden solucionar de dos formas:

1- Resolver el error en el origen, reemplazando la imagen con una con las dimensiones necesarias y usando un icono que cumpla con las especificaciones.
2- Reemplazar los valores necesarios en los datos estructurados que se generan automáticamente, usando un script.

Explico cómo solucionarlo en ambos casos.


Solucionar error “El atributo image.width tiene un valor no valido”

El error anterior indica que la imagen destacada no ha sido especificada o no cumple con los requerimientos de Google.
Google extrae de las paginas el valor de la imagen destacada usando la función “post_thumbnail()”.
Si no la hemos especificado, necesitamos editar la entrada en el panel de administración y asignar la imagen destacada, usando la opción necesaria.
Si el ancho de la imagen destacada es menor de 696 pixeles, podemos solucionarlo sobrescribiendo el valor de los datos estructurados que se generan automáticamente.
Para eso necesitamos agregar la siguiente instrucción en el archivo “functions.php” del Tema Child o en un plugin personal.

// Agregar 696 px imagen destacada AMP
function amp_agregar_imagen( $metadata, $post ) {
    if ( ! empty( $metadata['image']['width'] ) && ( $metadata['image']['width'] < 696 ) ) {
        $metadata['image']['height'] = round( $metadata['image']['height'] * ( 696 / $metadata['image']['width'] ) );
        $metadata['image']['width'] = 696;
    }
    return $metadata;
}
add_filter( 'amp_post_template_metadata', 'amp_agregar_imagen', 10, 2 );

El código anterior establece el valor de ancho en 696 pixeles para la imagen destacada y para la altura el valor proporcional a la imagen original.


Solucionar error “Se requiere un valor para el campo logo”

Como explicaba anteriormente, Google extrae los datos del logo del sitio, para usarlo como Publisher logo, usando la función “site_icon_url()”, que devuelve la dirección del logo, si se ha asignado uno y sus dimensiones.
Para solucionar el error necesitamos crear un logo que se ajuste a los requerimiento de Google y subirlo al sitio, usando en el panel de administración la opción “Elegir icono”, en Apariencia -> Identidad del sitio.
De esta forma el logo se mostrará en la barra superior de las páginas.
Para evitarlo, simplemente sube el logotipo usando Medios -> Biblioteca y agrega su dirección URL y sus dimensiones a los datos estructurados.
Para eso necesitamos agregar la siguiente instrucción en el archivo functions.php del Tema Child o en un plugin,

// Añadir el logo a los datos estructurados de las páginas AMP:
function amp_agregar_logo( $datos, $post ) {
if ( $post->post_type === 'post' )
   {
      $datos['@type'] = 'BlogPosting';
      $datos['publisher']['name'] = 'NorfiPC';
      $datos['publisher']['logo'] = array (
         '@type' => 'ImageObject',
         'url' => 'https://norfipc.com/logo.jpg',
         'width' => 420,
         'height' => 60
      );
      return $datos;
   }
}
add_filter( 'amp_post_template_metadata', 'amp_agregar_logo', 10, 2 );

El código anterior establece el tipo BlogPosting y usa la dirección del logo de mi sitio con sus medidas, valores que deben reemplazarse.


Especificaciones del logotipo para paginas AMP

Google exige que el Publisher logo o logotipo debe ser una imagen rectangular con un ancho máximo de 600 pixeles y una altura de exactamente 60 pixeles.
Debe der una imagen JPG o PNG, no un icono.
El texto debe tener una altura de 48 pixeles y estar centrado verticalmente (padding de 6 px).

Para los más detallistas y exigentes
El script que usa el plugin AMP para extraer el valor de los datos estructurados, se encuentra en el archivo “amp-helper-functions.php”, situado en el directorio “includes” del plugin.

Comprobar la validez de los datos estructurados

Después de haber hecho las correcciones necesarias, podemos comprobar en la herramienta de Prueba de Datos Estructurados de Google, la validez de nuestras páginas.
Para eso solo basta con introducir la dirección URL de cualquier entrada.

Después de hacer los cambios es necesario esperar pacientemente a que Google revise de nuevo el sitio y que los datos en Search Console se refresquen, lo que puede tardar entre algunos días o semanas…

Más información relacionada

Agregar datos estructurados JSON a WordPress
Crear paginas AMP con el plugin AMP for WordPress

Estoy en: NorfiPC | Notas | WordPress | Solucionar errores de datos estructurados AMP en WordPress



Páginas relacionadas

Buscar con Google