مقالات

راهنمای جامع پیاده‌سازی اسکیمای محصول (Product Schema) در ووکامرس (از مبتدی تا پیشرفته)

راهنمای جامع پیاده‌سازی اسکیمای محصول (Product Schema) در ووکامرس (از مبتدی تا پیشرفته)

سلام! بیا روراست باشیم؛ در دنیای رقابتی فروشگاه‌های آنلاین، فقط داشتن محصول خوب کافی نیست. تو باید کاری کنی که گوگل «عاشق» صفحه محصولت بشه و بهش اعتماد کنه. اینجاست که «اسکیمای محصول» (Product Schema) وارد بازی می‌شه.

این یکی از اون تکنیک‌های کلیدیه که مستقیماً روی کلیک و فروش تو تأثیر می‌ذاره. خیلی‌ها فکر می‌کنن سئو سایت فروشگاهی فقط تولید محتوا و لینک‌سازیه، اما غافل از این هستن که بدون اسکیما، گوگل اصلاً نمی‌فهمه ستاره‌های محصولت چنده یا قیمتش چیه! اگه می‌خوای توی نتایج گوگل بدرخشی، ستاره‌های طلایی بگیری و اعتبارت رو به رخ رقبا بکشی، جای درستی اومدی. تو این راهنمای کامل، قراره قدم‌به‌قدم بهت یاد بدم چطور اسکیمای محصول رو در ووکامرس پیاده‌سازی، تست و بهینه‌سازی کنی. آماده‌ای؟

جدول راهنمای سریع: مهم‌ترین فیلدهای اسکیمای محصول

قبل از اینکه عمیق بشیم، این جدول خلاصه‌ای از مهم‌ترین ویژگی‌های اسکیمای محصوله که باید بشناسی:

ویژگی اسکیما (Property) اهمیت توضیح ساده (گوگل چه می‌فهمد؟)
name اجباری “اسم این محصول چیه؟”
price و priceCurrency اجباری “قیمتش چنده و به چه پولی؟ (مثلاً: ۱,۵۰۰,۰۰۰ تومان)”
availability اجباری “آیا موجوده (InStock) یا تموم شده (OutOfStock)؟”
aggregateRating حیاتی (برای ستاره) “میانگین امتیازش چنده؟ (بر اساس نقدهای واقعی)”
brand به شدت توصیه شده “کدوم برند معتبر این محصول رو ساخته؟ (سیگنال E-A-T)”
sku / gtin / mpn به شدت توصیه شده “کد شناسایی جهانی یا انبار این محصول چیه؟ (سیگنال اعتبار)”

اسکیمای محصول (Product Schema) چیست و چرا برای سئوی ووکامرس حیاتی است؟

اگه بخوام خیلی ساده بگم، اسکیمای محصول (Product Schema) یک زبان کدنویسی استاندارده که تو به صفحه محصولت در ووکامرس اضافه می‌کنی تا به گوگل (و بقیه موتورهای جستجو) «به زبان خودشون» بگی: “هی گوگل! این یک صفحه محصوله، این اسمشه، این قیمتشه، اینم امتیاز کاربرهاشه و الان هم موجوده.”

بدون این زبان، گوگل باید محتوای صفحه تو رو بخونه و حدس بزنه که اون عدد «۱,۵۰۰,۰۰۰ تومان» قیمت محصوله یا یه چیز دیگه. اما با اسکیما، تو این اطلاعات رو براش «برچسب‌گذاری» می‌کنی.

این کار برای سئوی ووکامرس حیاتیه، چون فروشگاه‌های آنلاین به شدت رقابتی هستن. وقتی تو اطلاعات کلیدی محصولت رو مستقیماً در اختیار گوگل می‌ذاری، بهش کمک می‌کنی تا صفحه تو رو بهتر درک کنه، با اعتماد بیشتری به کاربرها نمایش بده و در نهایت، شانس کلیک و فروش تو رو به شدت بالا ببره.

درک مفهوم داده‌های ساختاریافته (Structured Data) و Schema.org

بذار این دو تا مفهوم رو از هم جدا کنیم:

۱. داده‌های ساختاریافته (Structured Data): این، خودِ «فرآیند» برچسب‌گذاریه. همون‌طور که گفتم، تو داری به داده‌های سایتت ساختار می‌دی. مثل این می‌مونه که به جای نوشتن یک متن طولانی، اطلاعات رو توی یک جدول منظم بذاری تا خوندنش راحت‌تر باشه. این کار به موتورهای جستجو کمک می‌کنه تا مفهوم و زمینه (Context) محتوای تو رو فوراً بفهمن.

۲. Schema.org: این، «واژه‌نامه» یا «دیکشنری» رسمی برای اون برچسب‌گذاریه. Schema.org یک پروژه مشترک بین گوگل، بینگ، یاهو و یاندکسه. اون‌ها دور هم جمع شدن و گفتن: «خب، اگه قراره همه اطلاعاتشون رو برچسب بزنن، بیاین یک استاندارد واحد تعریف کنیم.»

* مثلاً، همگی توافق کردن که برای «قیمت» از برچسب `$price` استفاده کنن، برای «امتیاز» از `$reviewRating` و برای «نام محصول» از `$name`.

پس وقتی ما از «اسکیمای محصول» حرف می‌زنیم، منظورمون استفاده از «واژه‌های» تعریف شده در Schema.org برای «ساختار دادن» به اطلاعات صفحه محصولمونه.

اسکیمای محصول چگونه به Rich Snippets (نتایج غنی) در گوگل تبدیل می‌شود؟

اینجاست که قضیه جذاب می‌شه! نتایج غنی (Rich Snippets) همون اطلاعات اضافی و جذابی هستن که زیر لینک سایتت توی نتایج جستجوی گوگل می‌بینی؛ چیزهایی مثل ستاره‌های امتیاز، قیمت، وضعیت موجودی (In Stock) و حتی زمان پخت غذا (اگه سایت آشپزی داری).

فرآیند تبدیل اسکیما به ریچ اسنیپت این‌طوریه:

۱. تو (صاحب سایت): اسکیمای محصول رو به صفحه ووکامرست اضافه می‌کنی (معمولاً با افزونه‌های سئو مثل رنک‌مث یا یواست این کار راحت انجام می‌شه). ۲. گوگل: وقتی ربات‌های گوگل صفحه تو رو بررسی (Crawl) می‌کنن، اون کدهای اسکیما رو می‌خونن و فوراً می‌فهمن که این صفحه یک محصول با این مشخصاته. ۳. گوگل (تصمیم‌گیری): گوگل این اطلاعات ساختاریافته رو تحلیل می‌کنه. اگه تشخیص بده که این اطلاعات برای کاربر مفید، دقیق و قابل اعتماد هستن… ۴. نتیجه (Rich Snippet): تصمیم می‌گیره که اون اطلاعات رو در صفحه نتایج جستجو (SERP) نمایش بده.

نکته مهم: اضافه کردن اسکیما، نمایش ریچ اسنیپت رو تضمین نمی‌کنه. گوگل بر اساس کیفیت محتوا، اعتبار سایت (E-E-A-T) و مرتبط بودن با جستجوی کاربر تصمیم می‌گیره که اون‌ها رو نشون بده یا نه. اما اگه اسکیما نداشته باشی، قطعاً شانسش رو از دست می‌دی.

تاثیر مستقیم اسکیما بر افزایش نرخ کلیک (CTR) و جلب اعتماد کاربر

این بخش، دلیل اصلیه که چرا ما این همه برای اسکیما وقت می‌ذاریم. این کار مستقیماً روی دو تا از مهم‌ترین معیارهای موفقیت سایتت (یعنی اعتماد و کلیک) تأثیر داره.

۱. افزایش نرخ کلیک (CTR):

  • جذابیت بصری: نتایجی که ستاره‌های امتیاز، قیمت و موجودی دارن، فضای بیشتری اشغال می‌کنن و چشم کاربر رو سریع‌تر می‌گیرن.
  • پیش‌صلاحیت کاربر (Pre-qualification): کاربر قبل از اینکه کلیک کنه، قیمت و امتیاز محصول تو رو می‌بینه. اگه قیمت مناسب باشه و امتیاز خوبی داشته باشی، کاربری که کلیک می‌کنه، یک پله به خرید نزدیک‌تره.
  • برتری نسبت به رقبا: اگه تو ریچ اسنیپت داشته باشی و رقیب بالای سرت نداشته باشه، شانس اینکه کاربر تو رو انتخاب کنه خیلی بیشتر می‌شه، حتی اگه رتبه‌ات یکی دو پله پایین‌تر باشه.

۲. جلب اعتماد کاربر (Trust):

  • این یکی از سیگنال‌های مهم E-E-A-T (تجربه، تخصص، اعتبار، اعتماد) هست.
  • وقتی کاربر می‌بینه که محصول تو مثلاً «۴۵۰ نقد» با «امتیاز ۴.۷» داره، حس اعتماد بلافاصله شکل می‌گیره.
  • این شفافیت (نشون دادن قیمت و موجودی) به کاربر حس خوبی می‌ده که با یک فروشگاه معتبر و شفاف طرفه. این اعتماد، فقط به CTR کمک نمی‌کنه، بلکه نرخ تبدیل (CRO) تو رو هم بعد از ورود کاربر به سایت، بالا می‌بره.

تفاوت‌های کلیدی اسکیمای محصول ساده (Simple Product) و محصول متغیر (Variable Product)

این یکی از چالش‌های رایج در ووکامرسه. گوگل باید دقیقاً بدونه که تو چی می‌فروشی.

۱. اسکیمای محصول ساده (Simple Product): این ساده‌ترین حالته. محصول تو یک قیمت واحد، یک SKU واحد و یک وضعیت موجودی واحد داره.

  • نحوه اجرا: تو از اسکیمای $Product استفاده می‌کنی و داخلش یک بخش $Offer (پیشنهاد) قرار می‌دی که شامل یک $price (مثلاً: ۱۰۰ هزار تومان) و یک $availability (مثلاً: InStock) هست.
  • نتیجه در گوگل: گوگل همون قیمت ۱۰۰ هزار تومان رو نشون می‌ده.

۲. اسکیمای محصول متغیر (Variable Product): اینجاست که کار کمی پیچیده می‌شه. محصول تو متغیر داره (مثل تیشرت در سایزها و رنگ‌های مختلف) و هر متغیر ممکنه قیمت متفاوتی داشته باشه.

  • اشتباه رایج: بعضی‌ها فقط قیمت پایین‌ترین متغیر رو در اسکیما می‌ذارن. این کار می‌تونه کاربر رو گمراه کنه و گوگل هم از این کار خوشش نمیاد.
  • راه درست (استفاده از $AggregateOffer):
    • به جای یک $Offer ساده، تو باید از $AggregateOffer (پیشنهاد تجمعی) استفاده کنی.
    • در این حالت، تو یک $lowPrice (کمترین قیمت ممکن، مثلاً: ۱۲۰ هزار تومان) و یک $highPrice (بیشترین قیمت ممکن، مثلاً: ۱۵۰ هزار تومان) تعریف می‌کنی.
    • همچنین می‌تونی $offerCount (تعداد متغیرهای موجود) رو هم مشخص کنی.
  • نتیجه در گوگل: گوگل به جای یک قیمت ثابت، یک بازه قیمتی (مثلاً: «۱۲۰,۰۰۰ – ۱۵۰,۰۰۰ تومان») رو نشون می‌ده. این کار هم برای کاربر شفاف‌تره و هم از نظر گوگل اجرای صحیح‌تری محسوب می‌شه.

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

ساده‌ترین روش: پیاده‌سازی خودکار اسکیما با افزونه‌های سئو

واقعیت اینه که نوشتن دستی کدهای اسکیما، هم زمان‌بره و هم احتمال خطا توش خیلی زیاده. یک ویرگول (,) یا یک آکولاد {} اشتباه می‌تونه کل ساختار اسکیمای تو رو خراب کنه و گوگل نتونه اون رو بخونه.

اینجاست که افزونه‌های سئو مثل Yoast یا Rank Math وارد می‌شن. این ابزارها به صورت هوشمند به دیتابیس ووکامرس تو وصل می‌شن. اون‌ها اطلاعاتی رو که تو قبلاً وارد کردی (مثل اسم محصول، قیمت، موجودی، عکس و امتیاز کاربران) برمی‌دارن و به‌طور خودکار اون‌ها رو به زبان استاندارد Schema.org تبدیل می‌کنن.

استفاده از افزونه‌ها ساده‌ترین و مطمئن‌ترین روشه، چون:

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

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

پیکربندی اسکیمای محصول در افزونه Yoast SEO

افزونه Yoast SEO (مخصوصاً اگه از افزونه جانبی Yoast WooCommerce SEO هم استفاده کنی) این فرآیند رو کاملاً اتوماتیک می‌کنه.

۱. نصب و فعال‌سازی: اول باید مطمئن بشی که هم Yoast SEO و هم Yoast WooCommerce SEO (نسخه پرمیوم) رو نصب داری. ۲. پیکربندی خودکار: به محض فعال‌سازی، این افزونه به‌طور خودکار تشخیص می‌ده که تو از ووکامرس استفاده می‌کنی. ۳. تنظیمات پیش‌فرض: معمولاً نیازی به تنظیمات پیچیده‌ای نداری. Yoast به صفحه ویرایش محصولت می‌ره و اطلاعات کلیدی مثل نام، توضیحات، قیمت، SKU و وضعیت موجودی رو برمی‌داره و اسکیمای $Product رو براش می‌سازه. ۴. اطلاعات کسب‌وکار: خیلی مهمه که در تنظیمات عمومی Yoast (بخش «نمایش در جستجو» -> «عمومی» -> «دانش‌نامه»)، مشخص کنی که سایت تو مربوط به یک «سازمان» یا «فرد» هست و اسم برند و لوگوی خودت رو درست وارد کنی. Yoast از این اطلاعات برای تکمیل اسکیمای $Organization و مرتبط کردن محصولات به برند تو استفاده می‌کنه.

نکته کلیدی در مورد Yoast: تمرکز Yoast بیشتر روی «انجام خودکار» و «صحیح» کاره. معمولاً کنترل دستی خیلی دقیقی روی جزئیات اسکیما به تو نمی‌ده، چون فرضش اینه که بهترین ساختار رو خودش پیاده می‌کنه.

تنظیمات پیشرفته اسکیمای ووکامرس در افزونه Rank Math

رنک مث (Rank Math) به دادن امکانات زیاد، حتی در نسخه رایگان، معروفه و در مورد اسکیما هم فوق‌العاده قوی عمل می‌کنه.

۱. فعال‌سازی ماژول‌ها: اول مطمئن شو که در داشبورد رنک مث، ماژول‌های “Schema (Structured Data)” و “WooCommerce” فعال باشن. ۲. تنظیمات سراسری: می‌تونی به بخش «عناوین و متا» -> «محصولات» بری. در اینجا، گزینه «نوع اسکیما» (Schema Type) رو روی “WooCommerce Product” تنظیم کن. ۳. قدرت اصلی (در صفحه ویرایش محصول): * وقتی داری یک محصول رو در ووکامرس ویرایش می‌کنی، به باکس تنظیمات رنک مث برو و روی تب «اسکیما» (Schema) کلیک کن. * رنک مث به‌طور خودکار اسکیمای “WooCommerce Product” رو انتخاب و بیشتر فیلدها (مثل قیمت، موجودی و SKU) رو از ووکامرس پر می‌کنه. * اینجا بخش جذابشه: تو می‌تونی روی دکمه «ویرایش» (Edit) کلیک کنی و جزئیات رو تغییر بدی! مثلاً می‌تونی فیلدهای مهمی مثل Brand (برند)، GTIN یا MPN (کدهای جهانی محصول) رو به راحتی اضافه کنی. اضافه کردن این کدها سیگنال E-E-A-T (اعتبار و تخصص) خیلی قوی برای گوگل محسوب می‌شه. * محصولات متغیر: رنک مث معمولاً به خوبی محصولات متغیر رو تشخیص می‌ده و به‌جای قیمت ثابت، اسکیمای $AggregateOffer (بازه قیمتی) رو تولید می‌کنه.

نکته کلیدی در مورد Rank Math: رنک مث به تو هم «اتوماسیون» می‌ده و هم «کنترل دستی پیشرفته». اگه می‌خوای اطلاعات بیشتری مثل برند یا GTIN رو به اسکیمات اضافه کنی، رنک مث انتخاب انعطاف‌پذیرتریه.

استفاده از افزونه‌های تخصصی (مانند Schema Pro) برای کنترل کامل

حالا فرض کنیم تو یک فروشگاه خیلی خاص داری، یا می‌خوای اسکیمایی رو پیاده کنی که Yoast و Rank Math به‌طور پیش‌فرض پشتیبانی نمی‌کنن (مثلاً اسکیمای HowTo رو با اسکیمای Product ترکیب کنی).

اینجاست که افزونه‌های تخصصی اسکیما مثل Schema Pro وارد عمل می‌شن.

  • این افزونه‌ها چطور کار می‌کنند؟ این ابزارها کاری به سئوی عمومی سایتت (مثل تایتل و متا) ندارن و فقط روی تولید و تزریق کد اسکیما تمرکز می‌کنن.
  • کنترل کامل با مپینگ (Mapping): قدرت اصلی Schema Pro در «مپینگ» یا «نگاشت فیلد» هست. تو به افزونه می‌گی:
    1. «من می‌خوام اسکیمای $Product رو بسازم.»
    2. «برای ویژگی $brand در اسکیما، برو اطلاعات رو از فیلد سفارشی (Custom Field) به اسم my_custom_brand بخون.»
    3. «برای ویژگی $color، برو اطلاعات رو از ویژگی (Attribute) رنگ ووکامرس بخون.»
  • چه زمانی به سراغش بری؟ وقتی که فروشگاهت نیازهای خیلی سفارشی‌شده‌ای داره و می‌خوای مطمئن بشی که دقیقاً همون داده‌هایی که می‌خوای، در ساختار اسکیما قرار می‌گیرن. این روش برای کاربران حرفه‌ای که نیاز به کنترل صددرصدی دارن، ایده‌آله.

جمع‌بندی این بخش: اگر تازه‌کاری یا فروشگاه استانداردی داری، Rank Math (به دلیل انعطاف‌پذیری) یا Yoast WooCommerce (به دلیل سادگی) عالی هستن. اما اگر دنبال کنترل کامل و دقیق روی تمام جزئیات اسکیما هستی، باید از یک افزونه تخصصی مثل Schema Pro در کنار افزونه سئوی اصلی‌ت استفاده کنی.

روش پیشرفته: افزودن و سفارشی‌سازی دستی اسکیمای محصول (JSON-LD)

وقتی از «پیاده‌سازی دستی» حرف می‌زنیم، منظورمون نوشتن کدهای اسکیما به فرمت JSON-LD (JavaScript Object Notation for Linked Data) هست. این فرمت، روش مورد علاقه و پیشنهادی گوگل برای تزریق داده‌های ساختاریافته به یک صفحه‌ست.

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

چرا و چه زمانی به پیاده‌سازی دستی اسکیما نیاز داریم؟

شاید بپرسی «سارا، وقتی رنک مث و یواست هستن، چرا باید کار رو سخت کنیم؟» جوابش در چند سناریوی خاصه:

۱. جلوگیری از تداخل و کدهای تکراری (Duplicate Schema): این شایع‌ترین دلیله. فرض کن افزونه سئوی تو (مثل رنک مث) یک اسکیمای محصول می‌سازه، هم‌زمان افزونه نقد و بررسی تو (مثل WP Review) هم یک اسکیمای دیگه برای امتیازات می‌سازه. نتیجه؟ دو تا اسکیمای محصول در یک صفحه! این گوگل رو گیج می‌کنه. در این حالت، ما اسکیماهای همه‌ی افزونه‌ها رو غیرفعال می‌کنیم و یک کد JSON-LD تمیز و کامل رو به صورت دستی اضافه می‌کنیم.

۲. نیاز به جزئیات خیلی خاص (Flexibility): گاهی تو می‌خوای ویژگی‌هایی رو به اسکیما اضافه کنی که افزونه‌ها پشتیبانی نمی‌کنن. مثلاً می‌خوای جزئیات دقیقی مثل material (جنس محصول)، pattern (طرح پارچه) یا جزئیات پیچیده ارسال کالا (shippingDetails) رو اضافه کنی.

۳. محصولات سفارشی‌شده (Custom Post Types): شاید تو محصولاتی داری که در ووکامرس تعریف نشدن، بلکه از طریق یک «پست تایپ سفارشی» (Custom Post Type) ساختیشون (مثلاً «دوره‌های آموزشی»). افزونه‌های سئو شاید نتونن این‌ها رو به عنوان «محصول» بشناسن.

۴. بهینه‌سازی عملکرد (Performance): اگرچه خیلی محسوس نیست، اما یک کد JSON-LD بهینه‌سازی شده که ما به صورت دستی می‌نویسیم، می‌تونه کمی سبک‌تر از کدی باشه که افزونه‌ها با کلی پردازش PHP در لحظه تولید می‌کنن.

خلاصه بگم: هر وقت به «کنترل کامل» و «دقت میلی‌متری» نیاز داشتی، باید دستی وارد عمل بشی.

آموزش گام‌به‌گام افزودن کد JSON-LD از طریق فایل functions.php

اینجا می‌خوایم به وردپرس بگیم که «هر وقت داشتی یک صفحه محصول رو بارگذاری می‌کردی، لطفاً این کد اسکیمای سفارشی من رو هم در بخش <head> اضافه کن.»

⚠️ هشدار خیلی مهم: قبل از دستکاری فایل functions.php، سه تا کار حیاتی انجام بده: ۱. همیشه از سایتت یک بک‌آپ کامل بگیر. ۲. این تغییرات رو اول روی یک سایت تستی (Staging) اجرا کن. ۳. این کدها رو در functions.php قالب فرزند (Child Theme) خودت قرار بده، نه قالب اصلی. چون اگه قالب اصلی آپدیت بشه، تمام کدهای تو پاک می‌شن.

مراحل اجرا:

۱. وارد پیشخوان وردپرس شو، به «نمایش» -> «ویرایشگر فایل پوسته» برو. ۲. از ستون سمت چپ، فایل functions.php (توابع پوسته) مربوط به قالب فرزند (Child Theme) خودت رو انتخاب کن. ۳. کد PHP زیر رو به انتهای این فایل اضافه کن:

add_action( ‘wp_head’, ‘add_custom_product_schema_vazirseo’ );

 

function add_custom_product_schema_vazirseo() {

// اول چک می‌کنیم که فقط در صفحات محصول اجرا بشه

if ( is_product() ) {

 

// آبجکت محصول فعلی رو می‌گیریم

global $product;

if ( ! is_object( $product ) ) {

$product = wc_get_product( get_the_ID() );

}

 

// اینجا آرایه اسکیما رو می‌سازیم (در بخش بعدی کاملش می‌کنیم)

$schema_data = [

“@context” => “https://schema.org/”,

“@type” => “Product”,

“name” => $product->get_name(),

// … بقیه اطلاعات

];

 

// آرایه PHP رو به فرمت JSON تبدیل می‌کنیم و در تگ اسکریپت چاپ می‌کنیم

echo ‘<script type=”application/ld+json”>’ .

json_encode( $schema_data, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE ) .

‘</script>’;

 

} // پایان if is_product

} // پایان function

۴. فراموش نکن: بعد از اضافه کردن این کد، باید حتماً اسکیمای محصول رو از داخل تنظیمات افزونه سئوت (Yoast یا Rank Math) غیرفعال کنی تا کد تکراری نداشته باشی.

نمونه کد آماده JSON-LD برای یک محصول ساده (شامل offers, brand, sku)

حالا بیا اون بخش $schema_data در کد بالا رو کامل کنیم. این یک نمونه عالی و داینامیک برای یک محصول ساده هست. ما اطلاعات رو مستقیماً از خود محصول ووکامرس می‌خونیم:

// این کد باید داخل تابع add_custom_product_schema_vazirseo قرار بگیره

// …

if ( is_product() ) {

global $product;

if ( ! is_object( $product ) ) { $product = wc_get_product( get_the_ID() ); }

 

$schema_data = [

“@context” => “https://schema.org/”,

“@type” => “Product”,

“name” => $product->get_name(),

“sku” => $product->get_sku(), // کد SKU محصول

“description” => $product->get_short_description(), // توضیحات کوتاه محصول

“image” => wp_get_attachment_url( $product->get_image_id() ), // تصویر شاخص

 

// بخش برند – بهتره این رو از یک فیلد سفارشی بخونید

“brand” => [

“@type” => “Brand”,

“name” => “نام برند شما” // ایده آل: get_post_meta(get_the_ID(), ‘brand_name_field’, true)

],

 

// بخش پیشنهاد (Offer) برای محصول ساده

“offers” => [

“@type” => “Offer”,

“url” => get_permalink( $product->get_id() ), // لینک همین صفحه

“priceCurrency” => get_woocommerce_currency(), // واحد پول (مثلا IRR یا IRT)

“price” => $product->get_price(), // قیمت محصول

“itemCondition” => “https://schema.org/NewCondition”, // وضعیت محصول (نو)

“availability” => $product->is_in_stock() ? “https://schema.org/InStock” : “https://schema.org/OutOfStock” // وضعیت موجودی

]

];

 

// (اختیاری ولی به شدت توصیه شده) اضافه کردن امتیازات

if ( $product->get_review_count() > 0 ) {

$schema_data[“aggregateRating”] = [

“@type” => “AggregateRating”,

“ratingValue” => $product->get_average_rating(),

“reviewCount” => $product->get_review_count()

];

}

 

// چاپ نهایی کد

echo ‘<script type=”application/ld+json”>’ .

json_encode( $schema_data, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE ) .

‘</script>’;

}

// …

می‌بینی چقدر تمیز شد؟ ما داریم به صورت داینامیک تمام اطلاعات محصول رو می‌خونیم و در یک ساختار JSON-LD استاندارد قرار می‌دیم.

تجربه ما: چگونه اسکیمای محصولات متغیر را به صورت دستی مدیریت کنیم؟

اینجا همون‌جاییه که خیلی‌ها اشتباه می‌کنن و افزونه‌ها گاهی کم میارن. همون‌طور که قبلاً گفتم، برای محصول متغیر (Variable Product) نباید از $Offer استفاده کنیم، بلکه باید از $AggregateOffer (پیشنهاد تجمعی) استفاده کنیم تا بازه قیمتی (کمترین تا بیشترین قیمت) رو نشون بدیم.

ما باید کد قبلی رو هوشمندتر کنیم. باید چک کنیم «آیا این محصول ساده است یا متغیر؟» و بر اساس اون، بخش offers رو بسازیم.

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

add_action( ‘wp_head’, ‘add_custom_product_schema_vazirseo’ );

 

function add_custom_product_schema_vazirseo() {

 

if ( is_product() ) {

 

global $product;

if ( ! is_object( $product ) ) { $product = wc_get_product( get_the_ID() ); }

 

// بخش پیشنهادات (Offers) رو بر اساس نوع محصول تعریف می‌کنیم

$offers_data = [];

 

if ( $product->is_type( ‘variable’ ) ) {

// اگر محصول متغیر بود

$offers_data = [

“@type” => “AggregateOffer”,

“priceCurrency” => get_woocommerce_currency(),

“lowPrice” => $product->get_variation_price( ‘min’ ), // کمترین قیمت

“highPrice” => $product->get_variation_price( ‘max’ ), // بیشترین قیمت

“offerCount” => count( $product->get_available_variations() ), // تعداد متغیرها

“availability” => $product->is_in_stock() ? “https://schema.org/InStock” : “https://schema.org/OutOfStock”

];

} else {

// اگر محصول ساده بود

$offers_data = [

“@type” => “Offer”,

“url” => get_permalink( $product->get_id() ),

“priceCurrency” => get_woocommerce_currency(),

“price” => $product->get_price(),

“itemCondition” => “https://schema.org/NewCondition”,

“availability” => $product->is_in_stock() ? “https://schema.org/InStock” : “https://schema.org/OutOfStock”

];

}

 

// ساخت آرایه نهایی اسکیما

$schema_data = [

“@context” => “https://schema.org/”,

“@type” => “Product”,

“name” => $product->get_name(),

“sku” => $product->get_sku(),

“description” => $product->get_short_description(),

“image” => wp_get_attachment_url( $product->get_image_id() ),

“brand” => [

“@type” => “Brand”,

“name” => “نام برند شما” // اینجا رو داینامیک کنید

],

“offers” => $offers_data // تزریق بخش پیشنهادات که آماده کردیم

];

 

// اضافه کردن امتیازات (مشترک برای هر دو نوع)

if ( $product->get_review_count() > 0 ) {

$schema_data[“aggregateRating”] = [

“@type” => “AggregateRating”,

“ratingValue” => $product->get_average_rating(),

“reviewCount” => $product->get_review_count()

];

}

 

// چاپ نهایی کد

echo ‘<script type=”application/ld+json”>’ .

json_encode( $schema_data, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE ) .

‘</script>’;

 

} // پایان if is_product

} // پایان function

این کد، یک راه‌حل حرفه‌ای و کامل برای مدیریت اسکیمای محصولات ساده و متغیر در ووکامرسه.

یادت نره بعد از اجرای این کد، حتماً آدرس یکی از صفحات محصولت رو در ابزار Rich Results Test گوگل تست کنی تا مطمئن بشی هیچ خطایی (Error) یا هشداری (Warning) وجود نداره.

تست و اعتبارسنجی: از کجا بفهمیم اسکیمای ما درست کار می‌کند؟

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

برای اینکه مطمئن بشیم کارمون بی‌نقص بوده، سه تا ابزار اصلی داریم که باید مثل کف دستت بلد باشی.

راهنمای استفاده از ابزار Rich Results Test گوگل

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

چطور ازش استفاده کنی؟

۱. ورود به ابزار: به سادگی عبارت “Rich Results Test” رو در گوگل جستجو کن و وارد ابزار رسمی گوگل شو. ۲. دو حالت تست: تو دو تا گزینه داری: * URL (آدرس صفحه): آدرس صفحه‌ی محصولی که منتشر شده رو وارد می‌کنی. گوگل صفحه رو مثل یک کاربر واقعی (با گوگل‌بات موبایل) بررسی می‌کنه. * Code (قطعه کد): این گزینه فوق‌العاده‌ست. می‌تونی اون کد JSON-LD که به صورت دستی آماده کردی رو قبل از اینکه در سایتت بذاری، اینجا کپی کنی تا ببینی اصلاً خطایی داره یا نه.

چطور نتایج رو بخونیم؟

بعد از تست، سه حالت ممکنه ببینی:

  • تیک سبز (Valid): “Page is eligible for rich results” (صفحه واجد شرایط نتایج غنی است). این یعنی همه‌چیز عالیه. می‌تونی روی بخش “Products” (محصولات) کلیک کنی تا ببینی گوگل دقیقاً چه فیلدهایی (مثل نام، قیمت، امتیاز) رو شناسایی کرده.
  • علامت زرد (Warnings – هشدارها): این یعنی اسکیمای تو درسته و کار می‌کنه، اما گوگل پیشنهاد می‌ده که چند تا فیلد پیشنهادی (و نه اجباری) رو هم اضافه کنی تا کامل‌تر بشه. مثلاً ممکنه هشدار بده که فیلد brand (برند) یا sku رو نداری. این هشدارها رو جدی بگیر، چون تکمیل کردنشون به سیگنال‌های E-E-A-T (اعتبار) تو کمک می‌کنه.
  • علامت قرمز (Errors – خطاها): این یعنی فاجعه! اسکیمای تو یک مشکل اساسی داره و گوگل اصلاً اون رو نمی‌خونه. معمولاً به خاطر نبودن فیلدهای اجباری (مثل name یا price در بخش offers) یا یک خطای نگارشی در کد JSON-LD (مثلاً یک ویرگول اضافی) رخ می‌ده. تا این خطاهای قرمز رو برطرف نکنی، هیچ ریچ اسنیپتی دریافت نمی‌کنی.

تحلیل گزارش‌های بخش «محصولات» (Products) در گوگل سرچ کنسول

اگه ابزار Rich Results Test مثل «دماسنج» برای چک کردن لحظه‌ای یک صفحه باشه، گوگل سرچ کنسول مثل «گزارش کامل آزمایش خون» برای کل سایت تو در طول زمانه.

۱. کجا پیداش کنی؟ وارد گوگل سرچ کنسول سایتت شو. در منوی سمت چپ، پایین‌تر از بخش “Performance”، قسمتی به اسم “Enhancements” (بهبودها) وجود داره. ۲. گزارش “Products” (محصولات): اگه گوگل اسکیمای محصول رو در سایتت شناسایی کرده باشه، گزارشی به اسم “Products” یا “Product snippets” اینجا ظاهر می‌شه.

چطور این گزارش رو تحلیل کنیم؟

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

  • Valid (معتبر – سبز): تعداد کل صفحاتی که اسکیمای محصول صحیح دارن. هدف ما اینه که این عدد همیشه بالا باشه.
  • Valid with warnings (معتبر همراه با هشدار – زرد): همون هشدارهایی که در Rich Results Test دیدیم (مثل نبودن brand یا aggregateRating). این صفحات واجد شرایط ریچ اسنیپت هستن، اما می‌تونن بهتر بشن. می‌تونی روی این بخش کلیک کنی تا ببینی هشدار رایج چیه و برای رفعش اقدام کنی.
  • Invalid (نامعتبر/خطا – قرمز): صفحاتی که خطای اساسی اسکیما دارن. این بخش اولویت اول تو برای اصلاحه. باید فوراً روش کلیک کنی، ببینی نوع خطا چیه (مثلاً “Missing field ‘price'”) و اون‌ها رو در سایتت برطرف کنی.

نکته حرفه‌ای (اتصال به CRO): در گزارش “Performance” (عملکرد) سرچ کنسول، می‌تونی روی «ظاهر جستجو» (Search Appearance) کلیک کنی و ببینی صفحاتی که «Product results» (نتایج محصول) گرفتن، چقدر ورودی (Click) و نمایش (Impression) داشتن. اینطوری دقیقاً می‌فهمی اسکیمایی که پیاده کردی، چقدر روی افزایش نرخ کلیک (CTR) تو تأثیر مستقیم داشته.

بررسی کدهای اسکیما با Schema Markup Validator

این ابزار، ابزار «متخصص‌ها» و «دیباگرها»ست. این ابزار رسمی خودِ Schema.org هست.

تفاوتش با Rich Results Test چیه؟

  • Rich Results Test (گوگل): فقط به این اهمیت می‌ده که آیا اسکیمای تو برای نتایج غنی گوگل (مثل ستاره و قیمت) مناسبه یا نه. اگه اسکیمایی اضافه کنی که گوگل ازش برای ریچ اسنیپت استفاده نمی‌کنه، اصلاً بهت نشونش نمی‌ده.
  • Schema Markup Validator (Schema.org): این ابزار کاری به گوگل و ریچ اسنیپت نداره. اون فقط یک چیز رو چک می‌کنه: «آیا کدی که نوشتی، از نظر گرامر و واژگانorg درسته یا نه؟»

چه زمانی ازش استفاده کنیم؟

۱. وقتی می‌خوای تمام اسکیمای موجود در یک صفحه رو ببینی (نه فقط اون‌هایی که گوگل دوست داره). ۲. وقتی در Rich Results Test خطای نگارشی (Syntax Error) داری و نمی‌دونی دقیقاً کجای کد JSON-LD اشتباه کردی. این ابزار ساختار درختی اسکیما رو بهت نشون می‌ده و پیدا کردن خطا رو راحت‌تر می‌کنه. ۳. وقتی داری اسکیمای خیلی پیچیده و تو در تو (Nested) پیاده می‌کنی و می‌خوای مطمئن بشی روابط بین موجودیت‌ها (Entities) رو درست تعریف کردی.

جمع‌بندی من: برای ۹۵٪ کارهای روزمره ووکامرس، Rich Results Test کافی و عالیه. برای مانیتورینگ بلندمدت و پیدا کردن خطاهای انبوه، از سرچ کنسول استفاده کن. و هر وقت کارت جایی گیر کرد و نیاز به دیباگ عمیق کد داشتی، به سراغ Schema Markup Validator برو.

عیب‌یابی (Troubleshooting): رایج‌ترین خطاها و هشدارهای اسکیمای محصول در ووکامرس

وقتی گوگل می‌گه یک فیلد «Missing» (گمشده) است، منظورش اینه که «من انتظار داشتم این اطلاعات رو ببینم تا بتونم به کاربرم نشون بدم، اما تو اون رو در اسکیمات قرار ندادی.» رفع کردن این موارد مستقیماً به E-E-A-T (اعتبار و اعتماد) سایت تو کمک می‌کنه.

نحوه رفع خطای “Missing field ‘brand'”

این در واقع یک «هشدار» (Warning) زرد رنگه، اما هشداریه که باید خیلی جدی بگیریش.

  • چرا این اتفاق میفته؟ گوگل عاشق «موجودیت‌ها» (Entities) هست و «برند» (Brand) یک موجودیت خیلی مهمه. گوگل می‌خواد بدونه این محصول رو چه کسی ساخته. مشکل اینجاست که ووکامرس به‌طور پیش‌فرض جایی برای وارد کردن «برند» نداره، پس افزونه‌های سئو هم نمی‌تونن این اطلاعات رو بخونن و در اسکیما بذارن.
  • چطور رفعش کنیم؟ (۲ راه حل عالی)

۱. استفاده از افزونه Rank Math (راه‌حل ساده): اگه از رنک مث استفاده می‌کنی، این افزونه کار رو برات راحت کرده. * به صفحه «ویرایش محصول» برو. * در باکس تنظیمات رنک مث، به تب «اسکیما» (Schema) برو. * روی «ویرایش اسکیما» کلیک کن. * در تنظیمات “WooCommerce Product”، کمی پایین بیا تا فیلد “Brand” رو پیدا کنی. * اسم برند محصول رو اونجا تایپ کن. رنک مث به صورت خودکار این رو به کد JSON-LD اضافه می‌کنه.

۲. استفاده از افزونه‌های تخصصی برند (راه‌حل ساختاری): می‌تونی از یک افزونه رایگان مثل “Perfect Brands for WooCommerce” استفاده کنی. این افزونه یک بخش جدید مثل «دسته‌بندی‌ها» به اسم «برندها» به ووکامرس تو اضافه می‌کنه. تو می‌تونی برندها رو تعریف کنی و به محصولاتت اختصاص بدی. * مزیت: هم کاربر می‌تونه محصولات رو بر اساس برند فیلتر کنه، هم افزونه‌های سئو (مثل رنک مث و یواست) معمولاً به صورت خودکار با این افزونه‌ها سازگار می‌شن و اسم برند رو ازشون می‌خونن و در اسکیما قرار می‌دن.

نحوه رفع هشدار “Missing field ‘aggregateRating'” (و افزودن سیستم امتیازدهی)

این هشدار یعنی: «محصول تو هنوز هیچ امتیازی نگرفته، یا سیستم امتیازدهی تو فعال نیست.» این همون هشداریه که جلوی نمایش ستاره‌های طلایی جذاب رو در نتایج گوگل می‌گیره و مستقیماً روی نرخ کلیک (CTR) تو تأثیر منفی داره.

  • چطور رفعش کنیم؟

۱. گام اول: فعال‌سازی سیستم نقد و بررسی ووکامرس * مطمئن شو که اصلاً بخش نظرات و امتیازدهی در ووکامرس فعاله. * به ووکامرس -> پیکربندی -> محصولات -> عمومی برو. * مطمئن شو که تیک گزینه‌های «فعال کردن نقد و بررسی محصول» و «نمایش برچسب “خریدار تایید شده”» خورده باشه. * همچنین مطمئن شو که تیک «فعال کردن امتیاز ستاره‌ای در نقدها» فعال باشه.

۲. گام دوم (و مهم‌ترین): دریافت امتیاز واقعی! این اسکیما تا زمانی که محصول تو حداقل یک امتیاز دریافت نکنه، ساخته نمی‌شه. تو نمی‌تونی امتیاز فیک یا دستی در اسکیما وارد کنی (این کار نقض دستورالعمل‌های گوگله و بهش می‌گن Spammy Schema). * باید کاربران و خریداران واقعی‌ت رو تشویq کنی که برای محصول نظر و امتیاز ثبت کنن. * به محض اینکه اولین امتیاز ثبت بشه، ووکامرس و افزونه سئوی تو به صورت خودکار اسکیمای aggregateRating (شامل میانگین امتیاز و تعداد نقدها) رو تولید می‌کنن و این هشدار برطرف می‌شه.

نحوه رفع خطای “No global identifier provided” (افزودن SKU, GTIN یا ISBN)

این هم یکی از مهم‌ترین سیگنال‌های E-E-A-T هست. گوگل می‌گه: «من هیچ کد شناسایی جهانی برای این محصول پیدا نکردم که ثابت کنه این یک محصول واقعی و شناخته‌شده در دنیاست.»

  • منظور از Global Identifier چیه؟
    • SKU: (Stock Keeping Unit) کد انبارداری داخلی خودت. (این جهانی نیست، ولی از هیچی بهتره).
    • GTIN (یا EAN, UPC): کد جهانی محصول (همون بارکد روی جعبه).
    • ISBN: کد جهانی کتاب‌ها.
    • MPN: (Manufacturer Part Number) شماره قطعه سازنده.
  • چطور رفعش کنیم؟

۱. حداقل کار (وارد کردن SKU): این ساده‌ترین کاره. ووکامرس به صورت پیش‌فرض فیلد SKU (شناسه محصول) رو داره. * به صفحه «ویرایش محصول» برو. * در باکس «اطلاعات محصول» -> «انبار». * فیلد «شناسه محصول» (SKU) رو حتماً با یک کد یکتا پر کن. * بیشتر افزونه‌های سئو به صورت خودکار SKU رو می‌خونن و در اسکیما قرار می‌دن. این کار معمولاً هشدار رو رفع می‌کنه.

۲. کار ایده‌آل (وارد کردن GTIN یا MPN): اگه محصولی می‌فروشی که بارکد جهانی داره (مثل موبایل، لوازم خانگی، کتاب و…)، وارد کردن اون اعتبار تو رو به شدت بالا می‌بره. * با Rank Math: در همون بخش ویرایش اسکیمای محصول که برای «برند» رفتیم، فیلدهایی برای GTIN, MPN و ISBN هم وجود داره. کد محصول رو اونجا وارد کن. * با افزونه جانبی: می‌تونی از افزونه‌هایی مثل “Product GTIN (EAN, UPC, ISBN) for WooCommerce” استفاده کنی تا این فیلدها به صفحه محصولت اضافه بشن.

حل مشکل تداخل اسکیما (وقتی چند افزونه اسکیما اضافه می‌کنند)

این یکی از رایج‌ترین و بدترین مشکلاته. بهش می‌گن Schema Conflict یا Duplicate Schema.

  • چرا این اتفاق میفته؟ تو افزونه Rank Math رو نصب کردی که اسکیمای محصول اضافه می‌کنه. هم‌زمان، قالبت (مثلاً یک قالب فروشگاهی) هم خودش اسکیمای محصول اضافه می‌کنه. شاید یک افزونه نقد و بررسی (مثل WP Review) هم نصب کردی که اون هم اسکیمای محصول و نقد رو اضافه می‌کنه.
    • نتیجه: گوگل صفحه تو رو می‌خزه و ۳ تا اسکیمای محصول مختلف می‌بینه. گیج می‌شه و ممکنه تصمیم بگیره هیچ‌کدوم رو نشون نده!
  • چطور رفعش کنیم؟

۱. گام اول: تشخیص مشکل * آدرس صفحه محصولت رو در ابزار Rich Results Test گوگل وارد کن. * بعد از تست، در بخش “Detected structured data”، ببین چند تا آیتم “Product” پیدا کرده. اگه بیشتر از یکی بود، تو مشکل تداخل داری.

۲. گام دوم: انتخاب یک «منبع حقیقت» (Source of Truth) * باید تصمیم بگیری کدوم ابزار مسئول اصلی تولید اسکیمای تو باشه. توصیه اکید من: همیشه افزونه سئوی اصلی‌ت (Rank Math یا Yoast) رو مسئول این کار قرار بده.

۳. گام سوم: غیرفعال کردن بقیه * در قالب: به تنظیمات قالب (Theme Options) برو. دنبال بخشی به اسم SEO یا Schema بگرد و گزینه‌ای مثل “Enable Schema Markup” یا “Add WooCommerce Schema” رو پیدا و خاموش کن. * در افزونه‌های نقد و بررسی: اگه از افزونه دیگه‌ای برای نقد استفاده می‌کنی، به تنظیماتش برو و ببین گزینه‌ای برای «غیرفعال کردن اسکیما» یا «ادغام با رنک مث/یواست» داره یا نه. * در افزونه سئو (اگه لازمه): اگه تصمیم گرفتی از یک افزونه تخصصی مثل Schema Pro استفاده کنی، باید اسکیمای محصول رو از داخل رنک مث یا یواست غیرفعال کنی. (در رنک مث: Rank Math -> عناوین و متا -> محصولات -> نوع اسکیما رو بذار روی None).

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

بهینه‌سازی پیشرفته: چگونه اسکیمای محصول خود را برای حداکثر تاثیرگذاری تکمیل کنیم؟

تا اینجای کار، ما مطمئن شدیم که اسکیمای ما «معتبر» (Valid) هست. اما حالا می‌خوایم کاری کنیم که «کامل» (Complete) و «قابل اعتماد» (Authoritative) باشه.

این فیلدهای اضافی، سیگنال‌های E-E-A-T (تجربه، تخصص، اعتبار، اعتماد) رو مستقیماً به گوگل می‌فرستن. گوگل با دیدن این اطلاعات می‌فهمه که تو یک فروشگاه سازمان‌یافته، معتبر و شفاف هستی که محصولات واقعی و شناخته‌شده می‌فروشی.

اهمیت تکمیل فیلدهای brand, sku و mpn برای اعتبارسنجی

این سه فیلد، مثل «شناسنامه» و «کد ملی» محصول تو هستن.

  • sku (Stock Keeping Unit – شناسه محصول): این کد انبارداری داخلی خودته. وقتی تو این کد رو در اسکیما قرار می‌دی، به گوگل نشون می‌دی که یک سیستم مدیریت موجودی سازمان‌یافته داری. این یک سیگنال کوچک اما مثبت از حرفه‌ای بودن کسب‌وکار توئه.
  • brand (برند): این فیلد، محصول تو رو به یک «موجودیت» (Entity) شناخته‌شده در وب وصل می‌کنه. وقتی گوگل می‌بینه این محصول از «برند X» هست، می‌تونه تمام سیگنال‌های اعتباری اون برند رو به محصول تو هم مرتبط کنه. این برای جلب اعتماد حیاتیه.
  • mpn (Manufacturer Part Number) یا gtin (Global Trade Item Number): این‌ها قوی‌ترین سیگنال‌های اعتبارسنجی هستن. gtin همون بارکد جهانی روی جعبه محصوله. وقتی تو این کد رو ارائه می‌دی، به گوگل می‌گی: «این محصول من، همون محصولی هست که در آمازون، دیجی‌کالا و هزاران سایت معتبر دیگه هم فروخته می‌شه.» این کار محصول تو رو از یک «کالای ناشناس» به یک «کالای جهانی شناخته‌شده» تبدیل می‌کنه و اعتبار تو رو به شدت بالا می‌بره.

پیاده‌سازی اسکیمای Review (نقد و بررسی) برای نمایش ستاره‌ها

بیایم یکبار برای همیشه این موضوع رو شفاف کنیم. چیزی که باعث نمایش ستاره‌ها در نتایج جستجو می‌شه، فیلد aggregateRating (امتیاز تجمعی) هست که درون اسکیمای $Product تو قرار می‌گیره.

  • aggregateRating: به گوگل می‌گه «میانگین امتیاز این محصول ۴.۵ از ۵ است، بر اساس ۱۵۰ نقد.»

اما اسکیمای $Review (نقد) هم وجود داره. این اسکیما برای هر نقد و بررسی جداگانه به کار می‌ره و شامل متن نقد، نام نویسنده و امتیازیه که اون فرد داده.

چطور این دو با هم کار می‌کنند؟ وقتی کاربران در سایت ووکامرسی تو نقد ثبت می‌کنن: ۱. ووکامرس هر نقد رو به عنوان یک آیتم $Review ذخیره می‌کنه. ۲. بعد به صورت خودکار، میانگین همه اون نقدها رو محاسبه می‌کنه و در فیلد $aggregateRating اسکیمای اصلی محصول قرار می‌ده. ۳. افزونه سئوی تو (مثل رنک مث) این $aggregateRating رو برمی‌داره و به گوگل تحویل می‌ده.

نتیجه: برای گرفتن ستاره‌ها، تو فقط باید مطمئن بشی که سیستم نقد و بررسی ووکامرس فعاله و کاربرانت رو تشویq به ثبت امتیاز (حتی فقط ستاره خالی) بکنی.

استفاده از فیلدهای availability (موجود بودن) و priceCurrency

این دو فیلد مستقیماً با تجربه کاربر (User Experience) و بهینه‌سازی نرخ تبدیل (CRO) در ارتباط هستن.

  • availability (وضعیت موجودی): این فیلد به گوگل می‌گه محصول تو InStock (موجود)، OutOfStock (ناموجود)، PreOrder (پیش‌سفارش) و… هست. گوگل عاشق این فیلده. چرا؟
    • چون نمی‌خواد کاربر رو به صفحه‌ای بفرسته که محصولش ناموجوده (مگر اینکه کاربر صراحتاً دنبال اون باشه).
    • نشان دادن «موجود» یا «ناموجود» در خود نتایج جستجو (به صورت ریچ اسنیپت)، کاربر رو قبل از کلیک آگاه می‌کنه، نرخ پرش (Bounce Rate) تو رو کم می‌کنه و اعتبار تو رو به عنوان یک فروشگاه شفاف بالا می‌بره.
  • priceCurrency (واحد پول): این فیلد مشخص می‌کنه که اون عدد قیمت، به چه واحدی هست. (مثلاً: IRT برای تومان، IRR برای ریال، USD برای دلار).
    • چرا حیاتیه؟ اگه این فیلد رو خالی بذاری، گوگل ممکنه قیمت ۱,۵۰۰,۰۰۰ تومانی تو رو به اشتباه ۱.۵ میلیون دلار تشخیص بده و اصلاً در نتایج نشونش نده!
    • این فیلد برای فروشگاه‌های بین‌المللی حیاتیه و برای فروشگاه‌های داخلی، به گوگل کمک می‌کنه تا درک درستی از محدوده قیمتی تو داشته باشه.

افزودن اسکیمای سوالات متداول (FAQPage Schema) به صفحه محصول

این یکی از تاکتیک‌های سئوی پیشرفته و فوق‌العاده موثر برای صفحات محصوله.

  • چرا این کار رو بکنیم؟ هر صفحه محصولی، کلی سوال تکراری داره: «هزینه ارسال چقدره؟»، «گارانتی داره؟»، «نحوه نصب چطوره؟»، «مناسب چه پوستی هست؟».
  • مزایای استراتژیک: ۱. کمک به کاربر (CRO): تو به سوالات کاربر همون‌جا جواب می‌دی و شک و تردیدش رو برای خرید برطرف می‌کنی. این یعنی محتوای مفید! ۲. تصاحب فضای SERP (سئو): وقتی تو اسکیمای $FAQPage رو به صفحه محصولت اضافه می‌کنی، گوگل می‌تونه اون سوال و جواب‌ها رو زیر لینک تو در نتایج جستجو نشون بده. ۳. نتیجه؟ نتیجه‌ی جستجوی تو به شدت بزرگ‌تر و جذاب‌تر می‌شه، فضای بیشتری از صفحه اول گوگل رو می‌گیری و رقبای زیر دستت رو به پایین هل می‌دی. این کار نرخ کلیک (CTR) تو رو منفجر می‌کنه.
  • چطور اجرا کنیم؟ خیلی ساده. یک بخش «سوالات متداول» واقعی و قابل مشاهده (Hidden نباشه) در پایین صفحه محصولت ایجاد کن. بعد با استفاده از افزونه سئوت (مثل رنک مث که بلوک FAQ گوتنبرگ داره) یا به صورت دستی، اون‌ها رو با اسکیمای FAQPage نشانه‌گذاری کن.

هشدار مهم: گوگل اجازه می‌ده که اسکیمای $Product و $FAQPage رو در یک صفحه با هم داشته باشی، به شرطی که اون سوال و جواب‌ها واقعاً در صفحه برای کاربر قابل مشاهده باشن.

سوالات متداول (FAQ) درباره اسکیمای محصول در ووکامرس

این هم چند تا از سوالات پرتکراری که همیشه از من پرسیده می‌شه:

۱. آیا اسکیمای محصول مستقیماً باعث افزایش رتبه می‌شه؟

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

۲. ستاره‌های من در گوگل نمایش داده نمی‌شه، با اینکه اسکیمام درسته! مشکل چیه؟

این رایج‌ترین سواله. چند دلیل می‌تونه داشته باشه:

  • گوگل تصمیم می‌گیره: گوگل نمایش ریچ اسنیپت رو تضمین نمی‌کنه. این یک امتیاز ویژه است.
  • اعتبار سایت (E-E-A-T): اگه سایت تو خیلی جدیده یا اعتبار پایینی داره، گوگل ممکنه مدتی طول بکشه تا به امتیازات تو اعتماد کنه.
  • نقد و بررسی جعلی (Spammy): اگه گوگل شک کنه که نقدها رو خودت ساختی یا واقعی نیستن، اون‌ها رو نشون نمی‌ده.
  • کمبود نقد: گاهی اوقات داشتن فقط یکی دو نقد کافی نیست.
  • صبر: گاهی فقط باید صبر کنی تا گوگل داده‌های جدید تو رو پردازش کنه.

۳. آیا می‌تونم برای محصولی که امتیاز نداره، خودم امتیاز ۵ ستاره در اسکیما بذارم؟ هرگز!

این کار نقض صریح دستورالعمل‌های گوگل (Spammy Structured Data) محسوب می‌شه. تو باید فقط داده‌های واقعی و قابل مشاهده در صفحه رو نشانه‌گذاری کنی. اگه گوگل متوجه بشه، ممکنه کل سایت تو رو جریمه دستی (Manual Action) کنه و تمام ریچ اسنیپت‌هات رو از دست بدی. یادت باشه، ما دنبال جلب اعتماد (Trust) هستیم، نه فریب دادن.

جمع‌بندی

خب، تبریک می‌گم! تو الان یک دوره کامل و فشرده در مورد اسکیمای محصول ووکامرس رو گذروندی. از مفاهیم پایه شروع کردیم، یاد گرفتیم چطور با افزونه‌ها یا به صورت دستی پیاده‌سازیش کنیم، چطور تستش کنیم و مهم‌تر از همه، چطور با بهینه‌سازی‌های پیشرفته مثل اضافه کردن برند، SKU و FAQ، از رقبا جلو بزنیم.

یادت نره، اسکیمای محصول یک کار فنی یک‌باره نیست، بلکه بخش مهمی از استراتژی E-A-T (اعتبار و اعتماد) سایت توئه. این کدها به گوگل کمک می‌کنن تا به تو اعتماد کنه و تو رو به عنوان یک فروشگاه حرفه‌ای به کاربراش معرفی کنه.

از همین امروز شروع کن. برو سراغ صفحات محصولت، با Rich Results Test چکشون کن و ببین کدوم فیلدهای پیشنهادی رو جا انداختی. همین بهینه‌سازی‌های کوچیک می‌تونه تفاوت بزرگی در نرخ کلیک و در نهایت، فروش تو ایجاد کنه.

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

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