آموزش رفع ارور Invalid ISO 4217 currency code (in “offers”) در سرچ کنسول گوگل
هر چه که رو به جلو پیش میرویم، گوگل در تغییر الگوریتمهای خود موارد متعددی را لحاظ کرده و در کنار آن نیز توجه ویژهای نسبت به گذشته روی موضوع اسکیما، دادههای ساختار یافته یا همان نشانهگذاری دارد. یکی از خطاهایی که برای کاربران فارسی زبان بهفور در این خصوص رخ داده است، ارور Invalid ISO 4217 currency code (in “offers”) است که به دلیل انتخاب واحد پولی در ووکامرس در کنسول جستجوی گوگل نمایش داده میشود.
در ادامه این مقاله از وبلاگ سون هاست قصد دارم به بررسی خطای اسکیما قیمت گذاری ووکامرس بر اساس تومان و ریال پرداخته و ببینیم که چگونه و با چه راهکارهایی میتوان این ارور را برطرف نمود.
اسکیما ISO 4217 Currency چیست؟
همانطور که در مقالات متعددی که در خصوص رفع خطاهای سرچ کنسول گوگل تهیه کردم، اسکیما یا دادههای ساختار یافته به موتورهای جستجو کمک میکند تا درک بهتری از سایت شما داشته باشند. این دادهها درون بدنه کد نویسی سایت شما بر اساس اطلاعاتی که توسط موتورهای جستجو خوانده میشوند قرار داشته و کاربران شکل متفاوتتری از آن را در سایت شما مشاهده خواهند نمود.
این خطا به دلیل تنظیماتی که برای واحد پولی فروشگاه ووکامرس انتخاب کردهاید رخ میدهد. همه ما در ایران بیشتر با واحد پولی تومان سر و کار داریم و واحد ریال را به چند دلیل برای استفاده در وبسایت برای قیمت گذاری مناسب نمیدانیم که از جمله آنها میتوان به موارد زیر اشاره نمود:
- استفاده از واحد ریال زیاد برای ما پر طرفدار نیست و در داد و ستدها و خریدهای روزمره خود نیز با تومان سر و کار داریم.
- واحد ریال به دلیل دارا بودن یک رقم بیشتر برای فروشگاههای آنلاین واحد مناسبی نیست. چرا که از نظر روانشناسی قیمت میتواند تاثیر بهشدت منفی روی خرید محصول توسط مشتری گذاشته و حتی باعث انصراف مشتری از خرید شود.
- در انجام کارهای مالی نیز گاها دچار مشکل خواهیم شد. چرا که به همان دلیل اول اگر مشتریان برای موارد مالی با ما در تماس باشند، برای اعلام قیمت بر اساس واحد تومان با ما صحبت خواهند نمود.
بنابراین اولویت ما برای استفاده از واحد پولی در ووکامرس روی تومان قرار دارد؛ در حالی که استاندارد واحد پولی کشور ما ریال است و مشکل درست از همینجا آغاز میگردد.
گوگل در اسکیما مربوط به واحد پولی کشورها، واحد پولی ریال را برای ایران روی کد ایزو IRR که مخفف ریال ایران است در نظر گرفته است. اما فروشگاهساز ووکامرس جدایی از واحد ریال، واحد تومان را با کد ایزو IRT که مخفف تومان ایران است دارا است؛ در حالی که گوگل این واحد ایزو را به رسمیت نشناخته و دلیل ارور Invalid ISO 4217 currency code (in “offers”) در سرچ کنسول گوگل نیز به همین دلیل است که ما واحد پولی تومان را انتخاب کردهایم.
آموزش رفع ارور Invalid ISO 4217 currency code (in “offers”) در ووکامرس
برای رفع این خطا همانطور که متوجه شدید ما تنها باید واحد پولی خود را در تنظیمات پیکربندی ووکامرس به ریال ایران تغییر دهیم که به محض این تغییر و بررسی آن توسط ابزارهای Rich Snippet Tools گوگل خواهید دید که خطا برطرف شده و دیگر با آن مواجه نخواهید بود.
همانطور که در تصویر بالا مشاهده میکنید اگر در سرچ کنسول سایت خود به مسیر Shopping> Product Snippets رفته و در انتهای صفحه کادر Improve item appearance را باز کنید خطای ISO 4217 گوگل به شما نمایش داده میشود. با کلیک روی این خطا مشابه تصویر زیر لینک محصولاتی که این ارور را دارند خواهید دید که برای نمونه روی یکی از آنها کلیک میکنیم.
همانطور که در تصویر بالا و در سورس اسنیپت محصول مشاهده میکنید، در این سایت که برای نمونه این خطا وجود دارد واحد پولی روی تومان قرار دارد که از استاندارد اسکیما قیمتگذاری گوگل پشتیبانی نمیکند. تنها کاری که برای رفع این خطا باید انجام داد تغییر واحد پولی تومان به ریال است تا به جای IRT از کد ایزو IRR در اسکیما استفاده گردد.
نکته: با انجام این کار مشکل ما بهراحتی حل خواهد شد و به مرور پس از اینکه صفحات محصولات ما توسط گوگل بررسی شوند، یا اینکه در همان مرحله فبلی با کلیک روی دکمه Validate Fix خطای iso همه محصولات برطرف خواهد شد.
اما مسئله و مشکل اصلی اینجاست که این تغییر ساده واحد پولی تومان به ریال میتواند تاثیر بد روی فروش سایت داشته باشد. چرا که بسیاری کاربران با دیدن رقم قیمت و شاید بدون توجه به واحد پولی ریال، تصور قیمت بالای محصول را داشته باشند. اگر دقت کنید فروشگاههای بزرگ اینترنتی ایران نیز از همین رویه پیوری میکنند و تقریبا در هیچ فروشگاه اینترنتی با واحد پولی ریال سروکار نداریم.
در این صورت چاره کار این است که یکی از دو راه زیر را برای اینکه هم مشکل Invalid ISO 4217 currency code (in “offers”) را برطرف کنید و هم اینکه از نظر روانشناسی قیمت گذاری با کاهش فروش مواجه نشوید را پیادهسازی کنید.
راهکار اول: استفاده از واحد پولی ریال و در مقابل نمایش مبلغ به تومان
در این روش شما میتوانید بدون اینکه مشکلات متعددی را برای خود ایجاد کنید همچنان از واحد پولی استاندارد ریال ایران برای فروشگاه خود استفاده کنید. چرا که قیمتگذاری در ووکامرس صرفا محدود به نمایش در صفحه محصول نبوده و علاوه بر نمایش در صفحات آرشیو در ایمیلها و پیامک ارسالی هم نمایش داده میشود.
در صورتی که بخواهید با استفاده از کدهای فانکشن تغییراتی را در قیمتگذاری ایجاد کنید، ضروری است که همه این صفحات، قالببندی ایمیل و افزونههای پیامکی دستخوش تغییر شوند.
لذا میتوانید از همان واحد پولی ریال در فروشگاه خود استفاده کنید تا همه چیز استاندارد باشد، اما در مقابل برای صفحات محصول و آرشیو با استفاده از زبان برنامهنویسی جاوا و به کمک کلاسهای CSS ثابتی که ووکامرس در اختیارتان قرار داده است، ارقام را به تومان به کاربران نمایش دهید.
انجام این کار میتواند سادهترین راه رفع ارور اسکیما قیمت محصولات در ووکامرس باشد. حتی میتوانید به جای اینکه از واحد تومان استفاده کنید، مبالغ را بر حسب «هزار تومان» نمایش دهید که روانشناسی بهتری برای قیمتگذاری داشته و تاثیر مثبت روی تصمیم به خرید مشتری خواهد داشت. مثلا به جای نمایش قیمت ۴۹۸۰۰۰ تومان میتوانید قیمت را به صورت ۴۹۸ هزار تومان نمایش دهید. به نظرتان کدام قیمت تاثیر بیشتری روی خرید دارد؟
راهکار دوم: استفاده از واحد پولی تومان و تغییر کد اسکیما
در این روش میتوانید از همان واحد پولی تومان در فروشگاه خود به روال قبل استفاده کنید. اما از آنجایی که با این واحد پولی، در کد اسکیما مقدار IRT چاپ میشود، ضروری است که با استفاده از برنامه نویسی و به کمک هوکهای ووکامرس آن را به IRR تغییر دهید.
به زبان سادهتر شما باید تغییراتی را در برنامه نویسی سایت خود به کمک فانکشن یا افزونه ایجاد کنید که کد اسکیما خروجی ووکامرس که در حالت استاندارد برای واحد تومان همان IRT خواهد بود را تبدیل به IRR کنید. نمایش قیمتها بر حسب تومان بوده و در مقابل برای گوگل بر حسب ریال نمایش داده خواهد شد.
اگر فروشگاههایی نظیر دیجی کالا را بررسی کنید، این فروشگاه نیز از یکی از دو روش بالا استفاده میکند. قیمتی که در سایت به مشتری نمایش داده میشود بر حسب تومان بوده و در مقابل کد اسکیما که قرار است توسط گوگل خوانده شود، بر حسب ریال است.
سوالات متداول
خطای Invalid ISO 4217 currency code در کنسول جستجوی گوگل چیست؟
همانطور که در مقاله توضیح دادم، این خطا زمانی در کنسول جستجوی گوگل و فروشگاه ووکامرس ظاهر میشود که شما از واحد پولی تومان برای فروشگاه استفاده کنید. در حالی که این واحد پولی در اسکیما گوگل استاندارد نبوده و مورد پذیرش نیست.
آیا ارور Invalid ISO 4217 currency روی سئو تاثیر دارد؟
کلیه خطاهای اسکیما که با رنگ زرد و با خطای Invalid نمایش داده میشوند، تاثیر بدی روی سئو سایت شما ندارند. اما از آنجایی که به صورت غیر مستقیم به دلیل نمایش سایت در نتایج جستجو با ظاهر متفاوتتر میتوانند نرخ کلیک را افزایش دهند، وجود آنها میتواند تاثیر بهتری روی سئو سایت و افزایش رتبه داشته باشد. بنابراین توصیه میشود که این خطاها را رفع کنید.
چطور ارور Invalid ISO 4217 currency code را در ووکامرس رفع کنیم؟
برای رفع این خطا کافی است کد اسکیما سایت شما به جای واحد پولی تومان(IRT) بر اساس واحد پولی ریال(IRR) به موتورهای جستجو نمایش داده شود. حال انتخاب با شماست که از یکی از دو روش گفته شده این خطا را رفع کنید.
استفاده از IRR بهتر است یا IRT؟
مسلما باید از واحد پولی IRR استفاده کرد تا کد اسکیما درست به موتور جستجو نمایش داده شود. اما از آنجایی که ما در ایران با واحد تومان بیشتر سروکار داریم و راحتتر هستیم، تغییر واحد پولی به شکلی که در اسکیما بر روی IRR بوده و در حالی که قیمتها به مشتری بر حسب تومان نمایش داده شوند توصیه میشود.
جمع بندی و کلام آخر
کدهای اسکیما یکی از راههای عالی برای بالا بردن رتبه سایت در نتایج جستجو هستند. هر چه سایت خود را بهینهتر کنید تا این کدها به شکل استاندارد کار کنند و سایت شما نسبت به رقبا با ظاهر متفاوتتری نمایش داده شود، به نفع شما خواهد بود.
در نمونهای که در این مقاله بررسی کردم، مربوط به نمایش قیمت محصولات در ووکامرس است. همه ما در جستجوی روزانه خود برای خرید یک محصول در گوگل میبینیم که خبری از نمایش قیمت محصول در نتیجه جستجو نیست. اما همین که از این اسکیما استفاده کنید، کاربر علاوه بر مشاهده عنوان، توضیحات متا و احتمالا تصویر یا تصاویری از محصول، قادر است قیمت محصول را در همان نتیجه جستجو نیز مشاهده کند.
وجود چنین آپشنی در سایت شما در حالی که رقبا از آن استفاده نکنند یا حتی بکنند یک مزیت خواهد بود. چرا که اطلاعات بیشتری را کاربر مشاهده میکند و علاوه بر متفاوت بودن نوع نمایش، اگر رقیب شما نیز این قیمتگذاری را نمایش دهد، پایین بودن قیمت سایت شما نسبت به سایت رقیب میتواند روی کلیک کاربر و ورود به سایت شما تاثیرگذار باشد.
همین افزایش کلیک نسبت به تعداد نمایش دلیلی خواهد بود که سایت شما برای کاربران کاربردیتر بوده و بر اساس کلمهای که سرچ کردهاند، نتیجه بهتری است که به مرور زمان باعث میشود رتبه سایت در کلمات مورد نظر بهبود یابد.
در این مقاله من صرفا راهکار را ارائه دادم، اما از نظر عملی شما نیاز به یک برنامهنویس وردپرس خواهید داشت که بر اساس یکی از دو روش معرفی شده که خودتان با آن راحتتر هستید، این مورد را برای شما پیادهسازی و رفع نماید. پیشنهاد میکنم از روش اول استفاده کنید که مناسبتر است.
در صورتی که هر سوال یا مشکلی در این خصوص داشتید میتوانید در بخش نظرات اعلام کنید تا شما را راهنمایی کنم.
مطلب بسیار خوبی نوشتید
درود امیر جان
ارادت (:
سلام url های داخل فایل سایت مپ من در سرچ کنسول دیده نمیشود و صفره زده شده قبلا بود الان نیست
درود
در صورتی که نقشه سایت رو باز کردید و به درستی در دسترس باشه، این مورد ممکنه گاهی پیش بیاد که عموما از سمت گوگله. میتونید نقشه سایت رو پاک کنید و مجددا اضافه کنید. اگر برطرف نشد یکی دو روزی صبر کنید و مجددا حذف و ثبت کنید.
سلام وقت بخیر برای استفاده از روش اول یا دوم آموزشی وجود نداره؟
درود امیر جان
متاسفانه جستجوی زیادی در این مورد داشتم، اما کد آمادهای چه در وب فارسی و چه انگلیسی پیدا نکردم.
اگر از افزونه رنک مث استفاده میکنید، تو سایتش بخشی برای هوکها داره که در صورت تسلط به برنامه نویسی میتونید ازشون برای تغییر این کد اسکیما استفاده کنید.
سلام شما که زحت کشیدید مقاله رو ولی در نهایت آموزش رو قرار ندادید. آموزش تغییر این کد اسکیما و هوک رو بدهید تا مشکل ما وردپرس ها رفع شود
درود بیژن جان
همونطور که اشاره کردم متاسفانه تسلطی به برنامه نویسی ندارم و اگر در توانم بود دریغ نمیکردم.
از طرفی چه در وب فارسی و چه انگلیسی هوک و فانکشن آماده برای این کار پیدا نکردم. اگر به نتیجهای رسیدم حتما این مقاله رو آپدیت خواهم کرد.
پیشنهاد میکنم از یک توسعه دهنده کمک بگیرید.
سلام وقت بخیر، ممنونم بابت این اموزش عالی داشتم ، نوع مقاله نویسی شما عالی است جسارتا امکان هست بفرمایید که برای اسکرین شات از صفحه استفاد می کنید ؟
درود سعید جان، ممنونم لطف دارید.
برای اسکرین گرفتن من از برنامه Snagit استفاده میکنم.
سپاس مشکل بر طرف شد.
خواهش میکنم.
با سلام و احترام
ممنونم بابت اطلاعات مفیدی که قرار دادین، من برنامه نویس php و افزونه نویس وردپرس هستم، بزرگترین مشکلی که این راهکار ایجاد میکند افزونه هایی هستند که با واحد پولی کار میکنند که مهمترین آنها افزونه های درگاه پرداخت بانکها هستند که با تشخیص IRT یا IRR بودن مبلغ را محاسبه کرده و بر روی آن پردازش انجام میدهند، یک راه این است که بصورت دستی درون افزونه هایی مانند درگاه پرداخت را دستکاری کنیم که روش مناسبی نیست، بهترین روش این است که پیشفرض ووکامرس را بر روی IRR قرار دهیم و افزونه ای بنویسیم که زمانی که ووکامرس مبلغ را نمایش میدهد آنرا به تومان تبدیل کنیم و در صفحه اکو کنیم
با سپاس
درود بر شما
بله این مورد هم میتونه راهکار خوبی باشه که با js یا استفاده از php قیمتهایی که در صفحه محصول و صفحات آرشیو نمایش داده میشه رو به تومان تبدیل کرد، در حالی که قیمت پیشفرض روی ریال قرار داره و برای ایمیل و… ازش استفاده میشه.
اما راهکار دوم که صرفا کد خروجی اسکیما رو تغییر بدیم بهتره و مشکلات این چنینی هم به وجود نمیاد.
با احترام
سلام از نظر روانشاسی قیمت به ریال اشتباه هست . درسته تومان واحد رسمی تو دنیا نیست ولی خودمون همیشه تومان استفاده میکنیم . در نتیجه با استفاده از این کد میتونید این ارور رو دور بزنید همه چی به ریال هست ولی تو قسمت نمایش تومان رو نشون میده .
برید تو فانکشن قالب این کد رو اضافه کنید میتونید داخل کد تومان رو به هزار تومان تبدیل کنید و صفر های قیمت هارو بردارید که بشه مثلا 50 هزار تومان سلیقه ایی هست . مهم فقط این قسمت از کد هست $currencies[‘IRR’
add_filter( ‘woocommerce_currencies’, ‘add_my_currency’ );
function add_my_currency( $currencies ) {
$currencies[‘IRR’] = __( ‘تومان’, ‘woocommerce’ );
return $currencies;
}
add_filter(‘woocommerce_currency_symbol’, ‘add_my_currency_symbol’, 10, 2);
function add_my_currency_symbol( $currency_symbol, $currency ) {
switch( $currency ) {
case ‘IRR’: $currency_symbol = ‘تومان’; break;
}
return $currency_symbol;
}
درود، بله کاملا درسته.
ممنون از فیدبکی که بهمون میدین.
روش اول خنده دارترین روش ممکنه. بازم که ارور priceCurrency”:”IRHT” میده بزرگوار
شاید شما باهاش جدی رفتار نکردید یا کدتون ایراد داره. :دی
چون واحد پولی باید IRT میشد.
باز هم راهکار عملی ندادین صرفا دلیلش رو گفتین! الان من بعد از خوندن این مقاله نفهمیدم چطور باید این مشکل رو حل کنم!!
درود
راهکاری که باید انجام بدین اینه که متا داده رو به تومان تبدیل کنید. چون در سایتهای مختلف ممکنه این قیمت توسط خود ووکامرس، کدنویسی قالب، افزونههای رنک مث، یوست سئو یا سایر پلاگینهای سئو ایجاد بشه، نمیشد فانکشن جامعی براش تهیه کرد.
متناسب با پلاگینی که استفاده میکنید از طریق مستنداتی که در اختیار قرار داده باید فانکشن بنویسید.
افزونه آمادهای هم در مخزن وردپرس نیست که بتونه این مورد رو در همه حالتها پوشش بده.
در این شرایط راهکار اول سادهتر هست. باید بر اساس قالب سایتتون کلاسی که برای قیمت در صفحات مختلف مثل محصول تکی، آرشیو و… اعمال شده بیاین به کمک js مقدارش رو دریافت کنید و یک صفر ازش کم کنید.