Loading

Close

E-commerce SEO

Product Schema: Google-এ দাম, Stock ও Rating দেখানোর JSON-LD গাইড

EOMS Editorial Team আপডেট: 06 Oct 2026 7 মিনিট পড়া

সংক্ষেপে উত্তর

Product schema হলো product page-এ রাখা structured data (সাধারণত JSON-LD), যা Google-কে product-এর নাম, দাম, currency (BDT), stock অবস্থা ও rating পরিষ্কারভাবে জানায়। এতে search result-এ দাম, availability ও rating দেখানোর যোগ্যতা তৈরি হয়, যদিও rich result নিশ্চিত নয়। WooCommerce মৌলিক schema নিজেই দেয়; আসল কাজ হলো duplicate সরানো, দাম page-এর সাথে মেলানো এবং শুধু আসল review থাকলে rating দেওয়া।
এই লেখায় যা আছে (10)
  1. Product schema কী, আর কেন দরকার
  2. মূল অংশগুলো: Product, Offer, AggregateRating
  3. একটা সম্পূর্ণ JSON-LD উদাহরণ
  4. Shipping ও return তথ্য
  5. Variant (size/color) থাকলে
  6. WordPress/WooCommerce-এ Product schema
  7. Custom site (Laravel)-এ Product schema
  8. সাধারণ ভুলগুলো
  9. Schema-র বাইরেও যা জরুরি
  10. এখন কী করবেন

Google-এ কিছু product result-এর নিচে দাম, "In stock" আর তারকা rating দেখা যায়, আর কিছু result শুধু নীল title আর দুই লাইন লেখা। এই পার্থক্যের পেছনে একটা বড় কারণ হলো Product schema — page-এর ভেতরে রাখা structured data, যা Google-কে পরিষ্কারভাবে বলে "এটা একটা product, এর দাম এত, stock-এ আছে"। এই গাইডে দেখবেন Product, Offer ও AggregateRating কী, একটা সঠিক JSON-LD দেখতে কেমন, আর WooCommerce ও Laravel site-এ কীভাবে বসাবেন ও test করবেন।

Product schema কী, আর কেন দরকার

Schema হলো schema.org-এর নির্ধারিত একটা শব্দভান্ডার, যা দিয়ে page-এর তথ্যকে machine-readable করা হয়। Customer page-এ দেখেন "দাম: ৳১,৮৫০, stock-এ আছে" — Google-ও text পড়ে বুঝতে পারে, কিন্তু structured data থাকলে কোনটা দাম, কোনটা currency, কোনটা stock অবস্থা তা নিয়ে সন্দেহ থাকে না।

এর ফলে কী পেতে পারেন:

  • Rich result: search result-এ দাম, availability, rating দেখানোর যোগ্যতা।
  • Merchant listing: যেখানে সরাসরি কেনা যায় এমন product-কে Google-এর shopping-ধরনের জায়গায় দেখানোর যোগ্যতা (structured data থেকে, আর Merchant Center feed থাকলে তার সাথে মিলিয়ে)।
  • পরিষ্কার বোঝাপড়া: Google ও AI-নির্ভর search tool page-এর তথ্য সঠিকভাবে পড়তে পারে।

একটা সতর্কতা: schema দিলে rich result নিশ্চিত নয়। Google যোগ্যতা যাচাই করে এবং নিজের বিবেচনায় দেখায়। আর schema নিজে ranking factor হিসেবে সরাসরি position বাড়ায় না — তবে result আকর্ষণীয় হলে click-এর সম্ভাবনা বাড়ে।

মূল অংশগুলো: Product, Offer, AggregateRating

Type/Propertyকী বোঝায়উদাহরণ
Product → nameproduct-এর নামলাল সুতি কাজ করা Kurti
imageproduct ছবির URL (এক বা একাধিক)https://.../kurti-red.webp
descriptionসংক্ষিপ্ত বর্ণনা১০০% সুতি, হাতের কাজ
sku / gtin / mpnপরিচয় নম্বরনিজের SKU; brand product-এ barcode থাকলে gtin
brandbrand নামনিজের brand বা manufacturer
Offer → priceবর্তমান বিক্রয়মূল্য (শুধু সংখ্যা)1850
priceCurrencyISO currency codeBDT
availabilitystock অবস্থাhttps://schema.org/InStock
AggregateRatingগড় rating ও সংখ্যা4.6, 23টা review

Availability-র সাধারণ মান: InStock, OutOfStock, PreOrder, BackOrder। Pre-order-এ বিক্রি করলে সেটাই দিন — "In stock" লিখে পরে customer-কে ১৫ দিন অপেক্ষা করানো বিশ্বাস নষ্ট করে।

একটা সম্পূর্ণ JSON-LD উদাহরণ

Google JSON-LD format পছন্দ করে, যা page-এর <head> বা <body>-তে একটা script tag-এ বসে:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "লাল সুতি কাজ করা Kurti",
  "image": [
    "https://example.com.bd/img/kurti-red-1200.webp"
  ],
  "description": "১০০% সুতি কাপড়, গলায় হাতের কাজ, M/L/XL size।",
  "sku": "KRT-RED-014",
  "brand": { "@type": "Brand", "name": "Example Fashion" },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com.bd/product/lal-suti-kurti",
    "price": "1850",
    "priceCurrency": "BDT",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.6",
    "reviewCount": "23"
  }
}
</script>

লক্ষ্য করুন: price-এ ৳ চিহ্ন বা কমা নেই, শুধু সংখ্যা। Currency আলাদা করে BDT। উপরের rating সংখ্যাগুলো শুধু উদাহরণ — আপনার page-এ আসলে যত review দেখানো আছে, সেটাই দিতে হবে।

Shipping ও return তথ্য

Google merchant listing-এর জন্য shippingDetails (delivery খরচ ও সময়) এবং hasMerchantReturnPolicy (return নীতি) দেওয়ার পরামর্শ দেয়। বাংলাদেশে ঢাকা ও ঢাকার বাইরে delivery charge আলাদা হলে সেটা এখানে প্রকাশ করা যায়। এগুলো product-প্রতি Offer-এর ভেতরে দেওয়া যায়; পুরো shop-এর একটাই নীতি হলে Organization markup-এর ভেতরে (hasShippingService, hasMerchantReturnPolicy) একবার দেওয়া যায়, আবার Search Console-এর shipping ও return settings বা Merchant Center-এও সেট করা যায়। একাধিক জায়গায় দিলে Google-এর নিয়মে Search Console/Merchant Center-এর settings markup-এর চেয়ে অগ্রাধিকার পায়, তাই সব জায়গায় একই তথ্য রাখুন। শুরুতে মূল Product/Offer ঠিক করুন, তারপর এগুলো যোগ করুন।

Variant (size/color) থাকলে

একই kurti-র ৩টা size ও ২টা color থাকলে, আর প্রতিটার দাম একই হলে একটা Offer যথেষ্ট। দাম আলাদা হলে AggregateOffer (lowPrice/highPrice) ব্যবহার করা যায়, অথবা Google-এর সমর্থিত ProductGroup কাঠামো (productGroupID, variesBy যেমন size/color, আর hasVariant-এর ভেতরে প্রতিটা variant-এর আলাদা Product ও Offer) ব্যবহার করা যায় — product snippets ও merchant listings দুটোই variant markup সমর্থন করে। কোনটা আপনার site-এর জন্য ঠিক, তা developer-এর সাথে বসে ঠিক করুন।

WordPress/WooCommerce-এ Product schema

WooCommerce নিজেই product page-এ মৌলিক Product structured data যোগ করে (name, price, availability, review থাকলে rating)। Yoast (WooCommerce add-on সহ) বা Rank Math-এর মতো SEO plugin এটা আরও সমৃদ্ধ করে — brand, gtin ইত্যাদি। মূল কাজ হলো একটাই সুসংগত schema নিশ্চিত করা।

  1. 1
    যেকোনো একটা product page-এর URL Google Rich Results Test-এ দিন এবং কী কী item ধরা পড়ছে দেখুন।
  2. 2
    একাধিক Product item বা conflict থাকলে কোন plugin/theme থেকে আসছে খুঁজে বের করে অতিরিক্তটা বন্ধ করুন।
  3. 3
    প্রতিটা product-এ SKU পূরণ করুন; brand product হলে barcode (GTIN) থাকলে সেটাও দিন।
  4. 4
    SEO plugin-এর settings-এ brand field বা attribute ঠিক করুন।
  5. 5
    Sale price চালু করে test করুন — schema-র price যেন page-এ দেখানো দামের সাথে মেলে।
  6. 6
    Out of stock product-এর availability schema-তে OutOfStock দেখাচ্ছে কিনা দেখুন।
  7. 7
    Search Console-এর Merchant listings ও Product snippets report-এ কয়েক সপ্তাহ পর error/warning দেখুন।

Custom site (Laravel)-এ Product schema

Laravel-এ product model থেকে একটা PHP array বানিয়ে JSON-এ রূপান্তর করাই সবচেয়ে নিরাপদ — হাতে string জোড়া দিলে quote বা কমার ভুলে JSON ভেঙে যায়।

@php
$schema = [
  '@context' => 'https://schema.org',
  '@type' => 'Product',
  'name' => $product->name,
  'image' => [$product->image_url],
  'sku' => $product->sku,
  'offers' => [
    '@type' => 'Offer',
    'url' => url()->current(),
    'price' => (string) ($product->sale_price ?: $product->price),
    'priceCurrency' => 'BDT',
    'availability' => $product->stock > 0
        ? 'https://schema.org/InStock'
        : 'https://schema.org/OutOfStock',
  ],
];
@endphp
<script type="application/ld+json">
{!! json_encode($schema, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_HEX_TAG) !!}
</script>

JSON_HEX_TAG দেওয়ায় product-এর নামে < বা > থাকলেও তা escape হয়ে যায়, ফলে script tag ভাঙে না; আর {!! !!} ব্যবহার করা হয়েছে যাতে Blade আবার HTML-escape না করে। Column-এর নাম (sale_price, price, stock, image_url) আপনার database অনুযায়ী বদলে নিন। Rating যোগ করবেন শুধু তখনই, যখন site-এ আসল review system আছে এবং review page-এ দেখা যায়। Review না থাকলে aggregateRating অংশটা বাদ দিন — খালি বা ০ rating দেবেন না।

সাধারণ ভুলগুলো

Schema-র বাইরেও যা জরুরি

Schema হলো page-এর তথ্যকে গুছিয়ে Google-কে বলার উপায় — কিন্তু তথ্যটাই যদি দুর্বল হয়, schema বাঁচাতে পারবে না। ভালো title, মৌলিক description, স্পষ্ট ছবি ও দাম থাকলে তবেই পুরো লাভ পাবেন। পুরো ছবি পেতে পড়ুন Product SEO গাইড ও product description SEO। Google Shopping-এ product দেখাতে চাইলে Google Merchant Center setup-ও দেখুন — schema আর feed-এর তথ্য একই হওয়া দরকার। Product page-এ প্রশ্নোত্তর রাখলে FAQ schema নিয়ে বাস্তব চিত্রও জেনে নিন।

এখন কী করবেন

আপনার ৩টা best-selling product-এর URL Rich Results Test-এ দিন। দেখুন Product item আছে কিনা, price/currency/availability ঠিক আছে কিনা, আর duplicate আছে কিনা। সমস্যা পেলে প্রথমে duplicate সরান, তারপর SKU ও brand পূরণ করুন, সবশেষে shipping ও return তথ্য যোগ করার পরিকল্পনা করুন।

Checklist: Product Schema: Google-এ দাম, Stock ও Rating দেখানোর JSON-LD গাইড

সাধারণ প্রশ্ন (FAQ)

Product schema দিলে কি Google-এ অবশ্যই দাম ও তারকা দেখাবে?
না, schema শুধু যোগ্যতা তৈরি করে। Google নিজের বিবেচনায় ঠিক করে কখন rich result দেখাবে, এবং এটা query, site-এর মান ও তথ্যের নির্ভুলতার উপর নির্ভর করে।
Facebook page-এর review কি product schema-তে rating হিসেবে দেওয়া যাবে?
যে review সেই product page-এ customer দেখতে পান না, সেগুলো schema-তে দেওয়া Google-এর নির্দেশনার সাথে মেলে না। Website-এ product review system চালু করুন, অথবা review দেখানোর ব্যবস্থা করুন, তারপর সেগুলোর ভিত্তিতে rating দিন।
দাম কি টাকা চিহ্নসহ লিখতে হবে?
না। price field-এ শুধু সংখ্যা দিন, যেমন 1850, আর priceCurrency-তে BDT লিখুন। ৳ চিহ্ন, কমা বা 'Tk' লিখলে Google দাম ভুল পড়তে পারে বা error দেখাতে পারে।
Schema ঠিক আছে কিনা কীভাবে যাচাই করব?
Google-এর Rich Results Test-এ product URL দিয়ে দেখুন কোন item ধরা পড়ছে এবং error আছে কিনা। সাধারণ schema.org যাচাইয়ের জন্য Schema Markup Validator আছে, আর দীর্ঘমেয়াদে Search Console-এর Merchant listings ও Product snippets report দেখুন।
E
EOMS Editorial Team E-commerce Consultants, Dhaka

EOMS ২০০৯ সাল থেকে বাংলাদেশের ব্যবসার জন্য e-commerce website, ERP ও marketing system তৈরি করছে।