اگر از افزونه رنک مث برای سئو سایت فروشگاهی ووکامرس خود استفاده میکنید احتمالا در گوگل سرچ کنسول با خطاهای اسکیما مواجه خواهید شد. البته توجه داشته باشید که این اخطار و خطا ها تقسیر افزونه رنک مث نیست. مشکل آن جاست که شما فیلد های مربوط به این اطلاعات را در صفحه محصولاتتان کامل نکردید که افزونه رنک مث آن اطلاعات را دریافت و به شکل اسکیما استاندارد به ربات گوگل نمایش دهد.

دو راه حل برای این مشکل وجود دارد. یا تمام محصولات را ویرایش کرده و اطلاعات لازم را فراهم کنید ( که گاهی اصلا فروشگاه شما یا محصول شما آن اطلاعات را ندارد ) یا با استفاده از کدی که در ادامه قرار دادیم اطلاعات اسکیما محصولات را اصلاح کنید تا مقادیر پیشفرض و ساختی به جای آنها به گوگل ارسال شوند و در نهایت خطا ها و اخطار های گوگل سرچ کنسول شما حل شوند.

این کد برای رفع خطا های زیر کاربرد دارد :

خطا های زیر توسط این کد حل نمیشوند و روش حل آنها ارسال یک نظر ساختگی به صفحه محصولات است :

برای رفع این مشکل می‌توانید کد زیر را انتهای فایل فانکشن قالب ( functions.php ) خود قرار دهید:

/*
* Fix RankMath Schema
* Mahdi Jafarzadeh
* https://www.wpwm.ir/
* */
add_filter( "rank_math/snippet/rich_snippet_product_entity", function( $entity ) {
global $product;
$id = get_the_ID();
if(get_woocommerce_currency() == 'IRT'){
$entity['offers']['price'] = $product->get_price()*'10';
$entity['offers']['priceCurrency'] = 'IRR';
}
if (!empty($product->get_date_on_sale_to())) {
$entity['offers']['priceValidUntil'] = date_i18n('Y-m-d', strtotime($product->get_date_on_sale_to()));
} else {
$entity['offers']['priceValidUntil'] = date('Y-12-31', time() + YEAR_IN_SECONDS);
}
$entity['sku'] = $id;
$entity['mpn'] = $id;
return $entity;
});

 

[alertbar type=”info”]

توضیح کد :

در خط 9 بررسی میکنیم که آیا واحد پول ووکامرس تومان یا ریال قرار گرفته است. در صورتی که واحد تومان باشد در ادامه مبلغ را در 10 ضرب کرده و واحد را به ریال تغییر می دهیم.

در خط 13 بررسی میکنیم آیا محصول در تخفیف است یا خیر که در این صورت زمان پایان برای اعتبار قیمت را به صورت ساختگی اعمال میکنیم.

در خط 18 و 19 SKU و MPN را برابر با ID نوشته محصول قرار میدهیم که برای هر محصول یکتا باشد. شما میتوانید پیشوند یا پسوند برای آن وارد کنید.

[/alertbar]

[alertbar type=”warning”]

نکته مهم :

این کد به صورت پیشفرض برای سایتی نوشته که هیچ کدام از این اطلاعات در محصولات وارد نشده اند. اگر در فروشگاه شما بعضی از این اطلاعات به شکل صحیح برای محصولات وارد شده باید قسمت مربوط به همان مورد را اصلاح و یا حذف نمایید.

برای سایت هایی که چند واحد پولی دارند یا از حالت محصول متغیر استفاده میکنند احتمالا نیاز به بررسی کد و تغییر آن باشد. بنابراین پس از اعمال کد نیز حتما اسکیما خروجی را بررسی و از عملکرد صحیح آن اطمینان حاصل کنید.

[/alertbar]

اگر سوالی درباره عملکرد این کد دارید لطفا در قسمت نظرات بپرسید تا پاسخگوی شما باشیم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *