رفع خطای Invalid ISO 4217 Currency Code در گوگل سرچ کنسول

آموزش رفع خطای Invalid ISO 4217 Currency Code در گوگل سرچ کنسول

اگر یک سایت فروشگاهی بر پایه ووکامرس و افزونه رنک مث (Rank Math) دارید، ممکن است در گوگل سرچ کنسول با خطای Invalid ISO 4217 currency code مواجه شوید. این خطا معمولاً به دلیل مشکلات مربوط به اسکیما و فرمت شناسایی واحد پولی تومان توسط گوگل است.

علت خطای Invalid ISO 4217 currency code

گوگل برای استانداردسازی اطلاعات مربوط به واحد پول، از کدهای ISO 4217 استفاده می‌کند. اگر در پیکربندی ووکامرس به جای واحد پولی ریال ایران (IRR) از واحد پولی تومان ایران (IRT) استفاده کنید ، گوگل نمی‌تواند آن را تشخیص دهد و خطای Invalid ISO 4217 currency code را در نتایج اسکیما در سرچ کنسول گوگل را به شما نمایش می‌دهد.

راهکارهای رفع خطای Invalid ISO 4217 Currency Code در گوگل سرچ کنسول

برای حل این مشکل، می‌توانید از یکی از روش‌های زیر استفاده کنید:

1. تنظیم واحد پول به ریال ایران (IRR) در تنظیمات ووکامرس

پیکربندی واحد پولی تومان و ریال ایران در ووکامرس
نحوه پیکربندی واحد پولی تومان و ریال ایران در ووکامرس

بهترین راه و بدون نیاز به افزودن کد، استفاده از تنظیمات داخلی ووکامرس است:

  1. به پیشخوان وردپرس خود وارد شوید.
  2. به مسیر ووکامرس > پیکربندی > عمومی بروید.
  3. از قسمت واحد پول، گزینه ریال ایران (IRR) را انتخاب کنید.
  4. تغییرات را ذخیره کنید.

این روش به‌سادگی مشکل را حل کرده و خطای گوگل برطرف می‌شود.

اما اگر میخواهید که از واحد پولی تومان به جای ریال استفاده کنید از راهکارهای بعدی استفاده کنید.

2. افزودن کد به فایل Functions.php قالب

اگر به هر دلیلی نمی‌توانید تنظیمات ووکامرس را تغییر دهید، می‌توانید با اضافه کردن کدی ساده به فایل Functions.php قالب خود، کد ارز را اصلاح کنید.

آموزش رفع خطای Invalid ISO 4217 Currency Code در گوگل سرچ کنسول
آموزش افزودن کدهای سفارشی به فایل functions.php قالب وردپرس
  1. ابتدا به پیشخوان وردپرس بروید و در منوی سمت راست روی گزینه نمایش > ویرایشگر پرونده پوسته کلیک کنید.
  2. در بخش سمت چپ صفحه باز شده در قسمت پرونده‌های پوسته روی فایل functions.php کلیک کنید تا کدهای این فایل باز شود.
  3. کدهای زیر را کپی کرده و در قسمت انتهایی کدهای functions.php آنها را جایگذاری کنید.
  4. در آخر روی دکمه بروزرسانی پرونده کلیک کنید.
/*
* Fix Invalid ISO 4217 currency code Error
* https://www.mihantheme.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;
});

نکته: پس از افزودن این کد، مطمئن شوید که کش مرورگر و سایت را پاک کرده و مجدد نتایج را در گوگل بررسی کنید.

کد برای محصولات متغیر:

/*
* Fix Invalid ISO 4217 currency code Error for Variable Products
* https://www.mihantheme.ir/
*/
add_filter( "rank_math/snippet/rich_snippet_product_entity", function( $entity ) {
    global $product;
    $id = get_the_ID();

    // بررسی اینکه آیا ارز ووکامرس "IRT" است
    if (get_woocommerce_currency() == 'IRT') {

        // اگر محصول متغیر است، حداقل و حداکثر قیمت را دریافت کن
        if ($product->is_type('variable')) {
            $min_price = $product->get_variation_price('min') * 10; // تبدیل تومان به ریال
            $max_price = $product->get_variation_price('max') * 10; // تبدیل تومان به ریال
            
            $entity['offers']['lowPrice'] = $min_price;
            $entity['offers']['highPrice'] = $max_price;
            $entity['offers']['priceCurrency'] = 'IRR';
        } else {
            // اگر محصول ساده است، قیمت را مستقیم تبدیل کن
            $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);
    }

    // تنظیم SKU و MPN
    $entity['sku'] = $id;
    $entity['mpn'] = $id;

    return $entity;
});

کد برای افزونه Yoast Seo :

/*
* Fix Invalid ISO 4217 currency code Error for Yoast SEO
* https://www.mihantheme.ir/
*/
add_filter('wpseo_schema_product', function ($data) {
    global $product;
    if (!$product) {
        return $data;
    }

    // بررسی اگر ارز ووکامرس تومان باشد
    if (get_woocommerce_currency() == 'IRT') {

        // بررسی محصول متغیر
        if ($product->is_type('variable')) {
            $min_price = $product->get_variation_price('min') * 10; // تبدیل تومان به ریال
            $max_price = $product->get_variation_price('max') * 10; // تبدیل تومان به ریال
            
            $data['offers'][0]['priceSpecification']['minPrice'] = $min_price;
            $data['offers'][0]['priceSpecification']['maxPrice'] = $max_price;
        } else {
            // برای محصولات ساده
            $data['offers'][0]['price'] = $product->get_price() * 10;
        }

        // تنظیم واحد پول به IRR (ریال)
        $data['offers'][0]['priceCurrency'] = 'IRR';
    }

    // بررسی تاریخ پایان قیمت ویژه
    if (!empty($product->get_date_on_sale_to())) {
        $data['offers'][0]['priceValidUntil'] = date_i18n('Y-m-d', strtotime($product->get_date_on_sale_to()));
    } else {
        $data['offers'][0]['priceValidUntil'] = date('Y-12-31', time() + YEAR_IN_SECONDS);
    }

    return $data;
});

3. استفاده از افزونه ووکامرس فارسی

یکی از ساده‌ترین راه‌ها برای رفع کامل و سریع خطای Invalid ISO 4217 Currency Code برای کاربران مبتدی، نصب افزونه ووکامرس فارسی است. این افزونه علاوه بر اینکه خطای فوق را به سرعت و راحتی حل میکند ، همچنین قابلیت‌های گسترده‌ای از جمله تنظیم واحد پولی صحیح، افزودن درگاه‌های پرداخت ایرانی، و بهینه‌سازی تجربه کاربری فروشگاه را فراهم می‌کند.

مراحل نصب افزونه ووکامرس فارسی:

  • به پیشخوان وردپرس بروید و به مسیر افزونه‌ها > افزودن بروید.
  • عبارت “ووکامرس فارسی” را جستجو کنید و افزونه را نصب و فعال کنید.

4. به‌روزرسانی اطلاعات اسکیما با افزونه Rank Math

اگر همچنان مشکل دارید، می‌توانید با استفاده از امکانات پیشرفته افزونه Rank Math Pro ، اسکیما را برای محصولات به‌صورت دستی تنظیم کنید:

  1. به ویرایش یک محصول بروید.
  2. به بخش اسکیما > محصول در رنک مث مراجعه کنید.
  3. مطمئن شوید که در قسمت “Currency” کد ارز IRR درج شده باشد.

نتیجه‌گیری

خطای Invalid ISO 4217 currency code یکی از مشکلات رایج برای سایت‌های فروشگاهی ایرانی است. با تغییر کد واحد پول به IRR، استفاده از افزونه ووکامرس فارسی، یا افزودن کد سفارشی به قالب، می‌توانید به‌راحتی این مشکل را برطرف کنید و مطمئن شوید که گوگل محصولات فروشگاه شما را به درستی نمایش می‌دهد.

اگر همچنان با این مشکل مواجه شدید، در بخش دیدگاه های همین پست ، مشکل خود را مطرح کنید تا با کمک کارشناسان میهن تم ، مشکل شما حل شود.

تصویر محمد رحیمی

محمد رحیمی

طراح سایت تخصصی با وردپرس و المنتور با سال‌ها تجربه حرفه‌ای در طراحی سایت. یادگیری و خلاقیت همیشه بخش جدایی‌ناپذیر کار من بوده، و سفر به من الهام و انرژی تازه می‌دهد.

فهرست مطالب

10 پاسخ

  1. فقط یه مشکل داره، برای محصولاتی که متغیر دارن و برای هر متغیر یه قیمت جدا کار نمی‌کنه و همون تومان لود میشه.

    1. کد اصلاح شده برای محصل متغیر
      /*
      * Fix Invalid ISO 4217 currency code Error for Variable Products
      * https://www.mihantheme.ir/
      */
      add_filter( “rank_math/snippet/rich_snippet_product_entity”, function( $entity ) {
      global $product;
      $id = get_the_ID();

      // بررسی اینکه آیا ارز ووکامرس “IRT” است
      if (get_woocommerce_currency() == ‘IRT’) {

      // اگر محصول متغیر است، حداقل و حداکثر قیمت را دریافت کن
      if ($product->is_type(‘variable’)) {
      $min_price = $product->get_variation_price(‘min’) * 10; // تبدیل تومان به ریال
      $max_price = $product->get_variation_price(‘max’) * 10; // تبدیل تومان به ریال

      $entity[‘offers’][‘lowPrice’] = $min_price;
      $entity[‘offers’][‘highPrice’] = $max_price;
      $entity[‘offers’][‘priceCurrency’] = ‘IRR’;
      } else {
      // اگر محصول ساده است، قیمت را مستقیم تبدیل کن
      $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);
      }

      // تنظیم SKU و MPN
      $entity[‘sku’] = $id;
      $entity[‘mpn’] = $id;

      return $entity;
      });

      تست کنید و نتیجه رو اعلام کنید

  2. سلام ما که یواست سئو داریم چیکار کنیم کد بالا اصلا جواب نمیده
    ووکامرس فارسی هم نصب می کنم فقط واسه محصولات ساده جواب میده (محصولات متغییر IRT) هستند

    1. نه لزوما.
      اگر این مشکل رو رفع نکنی، رتبه سایتت مستقیم پایین نمیاد، اما گوگل ریچ اسنیپت محصول (قیمت و ارز) رو نشون نمی‌ده ، در نتیجه کلیک کمتر می‌گیری و غیرمستقیم روی ورودی و فروش تاثیر منفی می‌ذاره.

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

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

Supportورود به مرکز پشتیبانی میهن‌تم
راهنمای نصب المان‌های آماده المنتور

برای راحتی کاربران، تیم میهن تم امکان نصب المان‌های آماده را فراهم کرده است تا بتوانید سایت خود را سریع‌تر و بدون دغدغه راه‌اندازی کنید. لطفاً پیش از ثبت درخواست، شرایط و توضیحات مربوط به این سرویس را با دقت بررسی کنید تا تمامی مراحل به درستی انجام شود.

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

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

  1. استفاده از المنتور و افزونه‌های مربوطه الزامی است.
    نصب تنها در صورتی امکان‌پذیر است که شما از افزونه المنتور پرو یا سایر افزونه‌های موردنیاز المان‌ها که در توضیحات محصول ذکر شده‌اند، استفاده کرده باشید.

  2. ارسال اطلاعات دسترسی.
    پس از خرید، لازم است اطلاعات ورود به وردپرس و هاست خود را از طریق بخش پشتیبانی ارسال نمایید تا تیم ما بتواند نصب را انجام دهد.

  3. هاست مناسب.
    هاست شما باید از نظر سرعت و پشتیبانی استانداردهای لازم را داشته باشد. در صورتی که کیفیت هاست مناسب نباشد، امکان نصب وجود نخواهد داشت و نیاز است هاست را بهینه کنید.

  4. نصب شامل تغییرات سفارشی نمی‌شود.
    این سرویس صرفاً برای نصب اولیه المان‌های آماده است و شامل تنظیمات سفارشی یا تغییرات در طراحی سایت نمی‌باشد.

  5. پشتیبانی پس از نصب.
    در صورت بروز مشکل پس از نصب، می‌توانید از خدمات پشتیبانی ما استفاده کنید. مشکلاتی که ناشی از استفاده صحیح المان‌ها باشد، به‌صورت رایگان بررسی خواهد شد.

قالب های وردپرس