WooCommerce és a Schema bug (“A következők közül az egyiket meg kell adni: offers, review vagy aggregateRating”)

[Ezt a cikket 2 perc elolvasni.]

Ha WooCommerce-t használsz és figyelted mostanában a Google Search Console hibajelzéseit, akkor biztosan te is tapasztaltad, hogy minden egyes termék esetén megjelent egy új rejtélyes hibaüzenet, miszerint “A következők közül az egyiket meg kell adni: offers, review vagy aggregateRating”. A probléma nem egyedi, sőt, jelenleg mindenki szembesül vele, ugyanis az összes WooCommerce felhasználót érinti, verziótól függetlenül.

Az interneten keringő korábbi megoldások egyike sem segít per pillanat, tehát az a fellelhető kódrészlet sem, ami a fenti hibaüzenetre rákeresve megjelenik az összes releváns találat megnyitásakor.

Naponta temérdek fórumtéma és bejegyzés nyílik ennek a problémának a kapcsán és a felhasználók visszajelzései alapján sajnos igen csak hátrányosan érinti a keresési találatokat is, tehát egyes oldalak jóval hátrébb kerültek a találati listán a hiba megjelenése óta, így nem csoda, ha mindenki mihamarabbi megoldást szeretne.

A probléma abból fakad, hogy a Google nemrégiben kötelezővé tette a fenti paraméterek használatát, tehát szerepelnie kell a Schema kimenetben legalább az offers, review vagy aggregateRating paraméternek, ez viszont jelenleg nem megfelelően teljesül WooCommerce esetén.

A fejlesztők tudnak a hibáról és mihamarabbi javítást ígértek, tehát várható, hogy a következő verziók egyikében már megoldódik a gond. Amíg ez meg nem történik szerencsére közzétettek egy kódrészletet, aminek segítségével eltüntethető a Search Console-ból a hiba.

Annyi a dolgunk, hogy másoljuk be a következő sorokat a sablonunk functions.php fájljának végére:

function com_temp_fix_structured_data_review( $markup, $comment ) {
	$product = wc_get_product( $comment->comment_post_ID );
	$markup['itemReviewed']['aggregateRating'] = array(
		'@type'       => 'AggregateRating',
		'ratingValue' => $product->get_average_rating(),
		'reviewCount' => $product->get_review_count(),
	);
	return $markup;
}
add_filter( 'woocommerce_structured_data_review', 'com_temp_fix_structured_data_review', 10, 2  );
Ha tetszik, mutasd meg másoknak is: