Avisos
Vaciar todo

[Resuelto] Recomendación inclusión campos en productos (Google Search Console)  

 
Gabriel
 Gabriel
Reputable Member

Buenos días,

Ayer recibí email de Google Search Console en el que me indicaba que debía incluir en los productos de Woocommerce ciertos campos:

  • No se ha proporcionado ningún identificador internacional, como un GTIN, un MPN o un ISBN.
  • Falta el campo "brand".
  • Falta el campo "review".
  • Falta el campo "aggregateRating".

La web comercializa la venta de clases online de español y en ese sentido existen una serie de productos creados que define el tipo de clases y sesiones asociadas. Todo son productos virtuales por lo que no existe envío asociado del producto. He estado buscando cómo hacerlo y he encontrado estos 2 post de Jhon:

- Campos personalizados en productos de WooCommerce: https://decodecms.com/campos-personalizados-en-productos-de-woocommerce/

- Agregar Microdatos en campos de productos en WooCommerce: https://decodecms.com/agregar-microdatos-en-campos-de-productos-en-woocommerce/

He revisado el código en la páginas de los productos y efectivamente no se indican estos 4 campos. Entiendo entonces que el proceso consiste en:

- Instalarme el plugin Advanced Custom Fields y crear los 4 campos que me requieren.

- Después incluir en Functions.php el código para agregar Microdatos adicionales al Producto, repetido 4 veces y ajustado a los 4 campos que debo cumplimentar.

add_filter( 'woocommerce_structured_data_product', 'dcms_product_microdata', 10, 2 );

function dcms_product_microdata( $markup, $product ){
	if ( function_exists('get_field')){
		if ( get_field('marca')!='' ){
			$markup['brand'] = get_field('marca');			
		}
    }
    return $markup;
}

En el caso del campo marca (brand) lo tengo claro pero respecto del resto de campos, revisando https://schema.org/docs/search_results.html?q=product no sé qué valor debo indicar para los campos:

- GTIN: Entiendo que es un valor numérico de 14 dígitos que debo asignar a cada uno de los productos que comercializo. ¿Es correcto?

- review: Valor que indica la revisión del producto. No he encontrado cuantos dígitos debo indicar, pretendo poner un valor como "00001" por ejemplo. ¿Sería correcto?

- aggregateRating: Indica la valoración general en base a un número de reseñas. ¿Qué hago con el valor para este campo? En Woocommerce-Ajustes-Productos tenía desactivada las valoraciones de los productos.  He probado a activarlas y luego he ido a cada producto y en la pestaña de Avanzado he activado las valoraciones pero, por tanto, de momento no tengo ninguna.  ¿Qué valor debo indicar en el campo? ¿Se actualizará de forma automática cuando se realicen las valoraciones?

Gracias

Contenido solo visible a usuarios registrados

Respondido : 28/04/2021 1:06 pm
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Gabriel.

Son datos que son opcionales no tienes por que añadirlos si no quieres, ni te penaliza ni tendras problemas con el SEO:

En la prueba de lso datos estructurados tampoco vemos problemas:

_> https://search.google.com/test/rich-results?utm_campaign=sdtt&utm_medium=message&id=H4c5jQL6r2vKd7fMvqWy0 Q" target="true">generar resultados enriquecidos

 

Puedes añadir esos datos en el siguiente plugin:

-> https://es.wordpress.org/plugins/all-in-one-schemaorg-rich-snippets/

Una vez instalado accedes al plugin y en al opción " WooCommerce Configuration " selecciona "

screenshot joomlero cp95.webjoomla.es 2021.04.28 15 29 52

Cuando tengas eso edita los productos, veras que tienes un nuevo apartado " Configurar Rich Snippets "

screenshot joomlero cp95.webjoomla.es 2021.04.28 15 37 47

En el desplegable superior seleccionas " Producto " y añades los datos.

screenshot joomlero cp95.webjoomla.es 2021.04.28 15 40 12

 

Actualizas el producto y ya lo tendrías.

 

Un saludo

 

 

Respondido : 28/04/2021 2:42 pm

Gabriel
 Gabriel
Reputable Member

@pepesoler Gracias Pepe. Sí, soy consciente de que no son errores pero preferiría evitar también esos warning.

He instalado el plugin que me recomiendas ->  https://es.wordpress.org/plugins/all-in-one-schemaorg-rich-snippets/ y con eso consigo resolver 2 de los 4 warning, me sigue faltando identificar el GTIN y el brand. He visto que los 2 campos que me resuelve son los que corresponden con los comentarios y valoraciones por lo que, tras habilitar los comentarios en los productos, ya quedan igualmente resueltos sin el plugin.

Respondido : 28/04/2021 5:47 pm
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Gabriel,

Entiendo con esto que haz logrado solucionarlo? si es así coméntanos si podemos dar el tema como cerrado

Un Saludo

Respondido : 28/04/2021 6:21 pm

wpdoctor-revisa-la-salud-de-tu-wordpress

Gabriel
 Gabriel
Reputable Member

He instando resolverlo de la forma que comenta @jmarreros 

- Instalando Advanced Custom Fields y creando 2 campos para incorporarlos a los productos (Marca y gtin)

image

Después he incluido en Functions.php el código para agregar Microdatos adicionales al Producto, repetido 2 veces y ajustado a los 2 campos que debo cumplimentar.

/* Agregar Microdatos adicionales al Producto BRAND */
add_filter( 'woocommerce_structured_data_product', 'dcms_product_microdata', 10, 2 );

function dcms_product_microdata( $markup, $product ){
if ( function_exists('get_field')){
if ( get_field('marca')!='' ){
$markup['brand'] = get_field('marca');
}
}
return $markup;
}

 

Este código para incluir el brand funciona correctamente y ya se elimina el warning del brand, sólo queda el de GTIN:

image

Pero al añadir en functions seguidamente el mismo código pero ajustado al campo gtin8 que es que pretendo informar, se rompe la web por lo que lo tengo entre comentarios actualmente. 

/* Agregar Microdatos adicionales al Producto gtin8 */
add_filter( 'woocommerce_structured_data_product', 'dcms_product_microdata', 10, 2 );

function dcms_product_microdata( $markup, $product ){
if ( function_exists('get_field')){
if ( get_field('gtin')!='' ){
$markup['gtin8'] = get_field('gtin');
}
}
return $markup;
}

 

Por favor, ¿podéis indicarme qué estoy haciendo mal? muchas gracias

Respondido : 28/04/2021 6:22 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Lo que sucede es que estas usando la función dcms_product_microdata dos veces

Una solucion rápida sería cambiarla de nombre la segunda vez, por ejemplo: dcms_product_microdata_gtin

Tu código quedaría:

add_filter( 'woocommerce_structured_data_product', 'dcms_product_microdata_gtin', 10, 2 );

function dcms_product_microdata_gtin( $markup, $product ){
if ( function_exists('get_field')){
if ( get_field('gtin')!='' ){
$markup['gtin8'] = get_field('gtin');
}
}
return $markup;
}

Saludos.

Respondido : 28/04/2021 6:31 pm

Cursos Gratuitos WordPress

Gabriel
 Gabriel
Reputable Member

@jmarreros Perfecto, muchas gracias por tu ayuda y por los post! Muy buenos!

Respondido : 28/04/2021 7:03 pm