رفع خطای اسکیما shippingDetails و hasMerchantReturnPolicy محصولات ووکامرس در سرچ کنسول
افزودن اطلاعات ارسال و مرجوعی به داده ساختاریافته (Schema) در ووکامرس

یکی از خطاهای رایج در بخش Merchant listings یا Rich Results در Google Search Console،
اخطارهای مربوط به فیلدهای اختیاری Schema مانند shippingDetails و hasMerchantReturnPolicy است.
اگر از افزونه Rank Math برای سئوی سایت ووکامرس خود استفاده میکنید، احتمالاً این خطاها را در صفحه محصول دیدهاید.
🧩 علت خطا چیست؟
گوگل از شما انتظار دارد در دادههای ساختاریافته محصول (Product Schema) اطلاعات تکمیلی درباره شرایط ارسال و مرجوعی کالا را درج کنید.
Rank Math بهصورت پیشفرض این بخشها را در JSON-LD اضافه نمیکند، اما میتوان با چند خط کد ساده در فایل functions.php چایلد قالب این موارد را افزود.
⚙️ کد رفع خطای shippingDetails و hasMerchantReturnPolicy
کافی است قطعه کد زیر را در functions.php قالب فرزند خود (Child Theme) قرار دهید:
<?php
add_filter( 'rank_math/snippet/rich_snippet_product_entity', function( $entity ) {
if ( ! function_exists('wc_get_product') || ! is_product() ) return $entity;
$product = wc_get_product( get_the_ID() );
if ( ! $product ) return $entity;
$store_currency = get_woocommerce_currency();
$schema_currency = ( $store_currency === 'IRT' ) ? 'IRR' : $store_currency;
$entity['offers']['shippingDetails'] = array(
'@type' => 'OfferShippingDetails',
'shippingRate' => array(
'@type' => 'MonetaryAmount',
'value' => '0',
'currency' => $schema_currency
),
'deliveryTime' => array(
'@type' => 'ShippingDeliveryTime',
'handlingTime' => array(
'@type' => 'QuantitativeValue',
'minValue' => '0',
'maxValue' => '1',
'unitCode' => 'DAY'
),
'transitTime' => array(
'@type' => 'QuantitativeValue',
'minValue' => '2',
'maxValue' => '4',
'unitCode' => 'DAY'
)
),
'shippingDestination' => array(
'@type' => 'DefinedRegion',
'addressCountry' => 'IR'
)
);
$entity['offers']['hasMerchantReturnPolicy'] = array(
'@type' => 'MerchantReturnPolicy',
'applicableCountry' => 'IR',
'returnPolicyCategory' => 'https://schema.org/MerchantReturnFiniteReturnWindow',
'merchantReturnDays' => 7,
'returnMethod' => 'https://schema.org/ReturnByMail',
'returnFees' => 'https://schema.org/FreeReturn'
);
return $entity;
});
با این کار، دو فیلد اختیاری به اسکیما محصول اضافه میشوند و در تست Rich Results یا سرچ کنسول،
دیگر خبری از خطاهای Missing field shippingDetails یا hasMerchantReturnPolicy نخواهد بود.
💡 نکته درباره خطای Invalid ISO 4217 currency code
اگر واحد پول سایت شما تومان (IRT) باشد، گوگل آن را معتبر نمیداند.
باید در اسکیما از کد رسمی IRR (ریال) استفاده کنید.
در مثال بالا این موضوع با یک شرط خودکار حل شده است؛ یعنی اگر ووکامرس از IRT استفاده کند، در اسکیما به IRR تغییر مییابد.
🎯 نتیجه نهایی
- اسکیما محصول شما کاملتر و سازگارتر با استانداردهای Google Merchant میشود.
- احتمال نمایش محصول در نتایج غنی (Rich Results) افزایش مییابد.
- ارورهای Search Console برای همیشه برطرف میشوند.
📚 جمعبندی
اگر سایت فروشگاهی دارید و با Rank Math کار میکنید، افزودن این دو فیلد کوچک میتواند به بهبود اعتبار اسکیما و در نتیجه رتبه بهتر محصولات در نتایج گوگل کمک کند. اگر شما هم میخواین رتبه برتر گوگل بشین به صفحه سئو در مشهد وبینیو سر بزنید.
تیم وبینیو همیشه سعی دارد جدیدترین راهکارهای فنی سئو و وردپرس را به زبان ساده و کاربردی منتشر کند.





