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 );