এই নির্দেশিকায় বর্ণনা করা হয়েছে কীভাবে আপনার ওয়েবসাইটকে মাইক্রোডাটা এবং নেভিগেশন অ্যাট্রিবিউট দিয়ে ট্যাগ করবেন, যাতে গুগলের প্রাইস অ্যাকুরেসি ক্রলার স্বয়ংক্রিয়ভাবে আপনার বুকিং ফানেলে নেভিগেট করতে এবং আপনার রুমের রেট যাচাই করতে পারে।
উপলব্ধ সকল স্ট্রাকচার্ড ডেটা প্রপার্টির (আইটেমাইজড ট্যাক্স, ফি এবং রুমের বিবরণ সহ) সম্পূর্ণ প্রযুক্তিগত স্পেসিফিকেশনের জন্য, হোটেল প্রাইস স্ট্রাকচার্ড ডেটা রেফারেন্সটি দেখুন।
১. নেভিগেশন বাস্তবায়ন ( data-nav-* )
ইন্টারেক্টিভ এলিমেন্টগুলোকে চিহ্নিত করতে এবং ফানেলের পর্যায়গুলো ঘোষণা করতে কাস্টম data-nav-* HTML অ্যাট্রিবিউট ব্যবহার করুন, যাতে ক্রলার আপনার বুকিং ফ্লোটি অতিক্রম করতে পারে।
১.১ পৃষ্ঠার শীর্ষে পর্যায় ঘোষণা ( data-nav-stage )
আপনার বুকিং ফানেলের প্রতিটি পৃষ্ঠা, যেখানে রেট দেখানো হয়, সেখানে <body> ট্যাগ বা একটি প্রাইমারি র্যাপার ট্যাগের (যেমন <div> , <section> , বা <main> ) সাথে তার পর্যায় ঘোষণা করা উচিত। এটি ক্রলারকে জানিয়ে দেয় যে বুকিং ফ্লো-এর কোন পর্যায়টি সক্রিয় এবং পরবর্তীতে সমস্যা সমাধানে সহায়তা করে।
-
data-nav-stage(প্রস্তাবিত): সক্রিয় ফানেল স্টেজ ঘোষণা করে। যদিও এটি কঠোরভাবে বাধ্যতামূলক নয়, নাম উল্লেখ করলে (উদাহরণস্বরূপ,"landing","room-selection","checkout","ready-for-payment") ভ্যালিডেশনের সময় সক্রিয় স্টেজ শনাক্ত করতে সুবিধা হয়।
১.২ চূড়ান্ত পর্যায়ের সূচক ( data-nav-stage-final )
ব্যবহারকারীর ব্যক্তিগত বা পেমেন্টের তথ্য প্রবেশের আগে মূল্য প্রদর্শনকারী চূড়ান্ত পৃষ্ঠায়, আপনার পৃষ্ঠার শীর্ষের কন্টেইনারে একটি পর্যায় ঘোষণার (উদাহরণস্বরূপ, data-nav-stage="ready-for-payment" ) পাশাপাশি final-stage ফ্ল্যাগটি যোগ করুন।
-
data-nav-stage-final(ঐচ্ছিক): পেমেন্টের আগে চূড়ান্ত মূল্যের পেজে এটিকে"true"(data-nav-stage-final="true") সেট করুন। এটি ক্রলারকে নির্দেশ করে যে এই পেজটিই চূড়ান্ত পেজ এবং যাচাইকরণের জন্য মূল্যটি সংগ্রহ করা যেতে পারে। এই পেজে অবশ্যই মাইক্রোডেটা ট্যাগিং সহ মূল্যের কাঠামো থাকতে হবে।
১.৩ সংকটপূর্ণ পথের মিথস্ক্রিয়া বৈশিষ্ট্য
মধ্যবর্তী পৃষ্ঠাগুলিতে, সেই ইন্টারেক্টিভ উপাদানগুলিকে (বাটন বা লিঙ্ক) ট্যাগ করুন যেগুলি ব্যবহারকারীকে বুকিংয়ের মূল পথে এগিয়ে নিয়ে যায়। যদি একই পৃষ্ঠায় একাধিক কাজের প্রয়োজন হয়, তবে সেগুলি সম্পাদনের ক্রম নির্দিষ্ট করে দিন। ক্রলারটি চূড়ান্ত পৃষ্ঠায় মূল্য বের করার চেষ্টা করার আগে নির্দিষ্ট ক্রমটি অনুসরণ করে।
| বৈশিষ্ট্য | প্রয়োজনীয় মান | উদ্দেশ্য |
|---|---|---|
data-nav-criticalpath | "true" | এটি সেই আবশ্যিক বাটন/লিঙ্কটিকে চিহ্নিত করে, যা অগ্রসর হওয়ার জন্য ক্রলারকে অবশ্যই ক্লিক করতে হবে। |
data-nav-interactiontype | "CLICK" | ঘোষণা করা হচ্ছে যে, কার্যপ্রবাহকে এগিয়ে নিয়ে যাওয়ার জন্য একটি ক্লিক ক্রিয়া প্রয়োজন। |
data-nav-interactionorder | "1" , "2" , ... | একই পৃষ্ঠায় একাধিক কাজের প্রয়োজন হলে, সেগুলোর সম্পাদনের ক্রম ঘোষণা করে। |
ন্যূনতম নেভিগেশন উদাহরণ
<button data-nav-criticalpath="true"
data-nav-interactiontype="CLICK"
data-nav-interactionorder="1">
Continue
</button>
২. মূল্য ঘোষণা (মাইক্রোডাটা)
আপনার বুকিং ফানেলের সর্বশেষ অ্যাক্সেসযোগ্য পৃষ্ঠায় (ব্যক্তিগত বা পেমেন্টের তথ্য দেওয়ার আগে), মূল্যের অফারটিকে (এক মূল্যের অফার) মাইক্রোডাটা ট্যাগ দিয়ে ট্যাগ করুন। পৃষ্ঠাটিতে শুধুমাত্র একটি অফার ট্যাগ করা উচিত, যা নির্দেশ করবে যে ব্যবহারকারী আপনার ওয়েবসাইটে আসার আগে গুগলে যে রেটটি নির্বাচন করেছেন, ক্রলারটি সেই রেটটিই সংগ্রহ করবে। ল্যান্ডিং পেজের প্যারামিটার নির্ধারণের বিস্তারিত তথ্যের জন্য, ভ্যারিয়েবল এবং কন্ডিশন দেখুন।
যদিও গুগল হোটেলের মূল্যের স্ট্রাকচার্ড ডেটা রেফারেন্সে সম্পূর্ণ হায়ারার্কি (যার মধ্যে আইটেমভিত্তিক বেস রেট, স্বতন্ত্র ট্যাক্স, ফি এবং রুমের বিবরণ অন্তর্ভুক্ত) পুরোপুরি সমর্থন করে, তবুও এটি একটি সরলীকৃত স্ট্রাকচার্ড ডেটা ট্রি-ও গ্রহণ করে, যাতে আপনার ওয়েবপেজগুলিতে হোটেলের মূল্য ট্যাগ করা সহজ হয়।
উপলব্ধ রেটগুলির জন্য মোট থাকার খরচ বাধ্যতামূলক। যদি কোনো ভ্রমণসূচী বা রুম অনুপলব্ধ বা বিক্রি হয়ে যায়, তাহলে priceSpecification ছাড়া makesOffer অধীনে https://schema.org/SoldOut ঘোষণা করুন।
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer">
<meta itemprop="availability" content="https://schema.org/SoldOut"/>
Sold Out
</div>
আরও তথ্যের জন্য, availability বৈশিষ্ট্যের বিবরণ দেখুন।
২.১ সরলীকৃত কাঠামোগত ডেটা ট্রি
আপনার বুকিং পেজগুলিতে ট্যাগিং সহজ করার জন্য, আপনাকে শুধুমাত্র মূল হোটেল এবং রিজার্ভেশন কন্টেইনার, থাকার তারিখ ( YYYY-MM-DD ), অকুপেন্সি, এবং মোট থাকার মূল্য সম্বলিত একটিমাত্র অফার ঘোষণা করতে হবে:
Hotel / LodgingReservation (Root Container)
├── identifier [Meta/Attribute] Hotel ID
├── name [Visible text] Hotel Name
├── checkinTime / checkoutTime [Visible text with YYYY-MM-DD in content="..."] Stay Dates
├── numAdults / numChildren [Visible text] Occupancy
└── makesOffer (Offer)
└── priceSpecification (CompoundPriceSpecification)
├── priceCurrency [ISO Code, such as "USD"] Currency
└── price [Visible text] Total Stay Price (Taxes & Fees Included)
২.২ গুরুত্বপূর্ণ দৃশ্যমানতার নিয়মাবলী
নির্ভরযোগ্য মূল্য নিষ্কাশন নিশ্চিত করতে, আপনার HTML ট্যাগ করার সময় এই দৃশ্যমানতার নিয়মগুলি অনুসরণ করুন:
- মোট থাকার খরচ অবশ্যই দৃশ্যমান হতে হবে:
itemprop="price"ব্যবহার করে সরাসরি পেজে দৃশ্যমান মূল্য সংখ্যাটি ট্যাগ করুন। মূল্য সংখ্যার জন্য লুকানো মেটাডেটা (<meta>) বা অ্যাট্রিবিউট ভ্যালু (value="..."বাcontent="...") ব্যবহার করবেন না। - মেশিন-পঠনযোগ্য থাকার তারিখ: পৃষ্ঠায় দৃশ্যমান থাকার তারিখগুলো যথাসম্ভব ট্যাগ করুন। প্রয়োজনে, দৃশ্যমান তারিখটি দেখানোর সময় একটি প্রমিত
YYYY-MM-DDফরম্যাট প্রদান করতে আপনি<span>এলিমেন্টেcontent="..."অ্যাট্রিবিউট ব্যবহার করতে পারেন (উদাহরণস্বরূপ,<span itemprop="checkinTime" content="2026-08-10">August 10, 2026</span>)। - অদৃশ্য ফিল্ড: যে ফিল্ডগুলো পেজে সরাসরি প্রদর্শিত হয় না (যেমন হোটেল আইডি বা কারেন্সি কোড), সেগুলোর জন্য
<meta>ট্যাগ অথবাcontent="..."অ্যাট্রিবিউট ব্যবহার করা যেতে পারে।
৩. উদাহরণ
নিম্নলিখিত সম্পূর্ণ উদাহরণগুলিতে দেখানো হয়েছে কীভাবে নেভিগেশন অ্যাট্রিবিউট এবং মাইক্রোডাটা ব্যবহার করে ফানেলের মধ্যবর্তী ধাপ এবং চূড়ান্ত চেকআউট পেজগুলিকে ট্যাগ করতে হয়।
উদাহরণ ১: ক্লিকযোগ্য বোতাম সহ মধ্যবর্তী পৃষ্ঠা
নিম্নলিখিত কোড স্নিপেটটি একটি অন্তর্বর্তী রুম নির্বাচন পৃষ্ঠা ( room-selection ) প্রদর্শন করে, যেখানে ফ্লোকে এগিয়ে নিয়ে যাওয়ার জন্য ট্যাগ করা একটিমাত্র ক্রিটিক্যাল পাথ অ্যাকশন বাটন রয়েছে:
<body data-nav-stage="room-selection">
<!-- Main page content -->
<button class="btn-continue"
data-nav-criticalpath="true"
data-nav-interactiontype="CLICK"
data-nav-interactionorder="1">
Book This Room
</button>
</body>
উদাহরণ ২: পর্যায় নির্দেশক এবং ন্যূনতম মাইক্রোডেটা সহ চূড়ান্ত মূল্য পৃষ্ঠা
নিম্নলিখিত কোড স্নিপেটটি পেমেন্টের আগের শেষ পৃষ্ঠাটি ( ready-for-payment ) প্রদর্শন করে, যেখানে র্যাপারে data-nav-stage-final="true" ঘোষণা করা হয়েছে এবং থাকার চূড়ান্ত মূল্য দৃশ্যমানভাবে প্রদর্শিত হয়:
<body data-nav-stage="ready-for-payment" data-nav-stage-final="true">
<!-- Root Container: Co-Typed Hotel & LodgingReservation -->
<div itemscope itemtype="https://schema.org/Hotel https://schema.org/LodgingReservation">
<!-- Hotel Identifier (Can be hidden meta tag) -->
<meta itemprop="identifier" content="grand-view-001" />
<h1 itemprop="name">Grand View Hotel</h1>
<!-- Visible Stay Dates & Occupancy -->
<p>
Check-in: <span itemprop="checkinTime" content="2026-08-10">Aug 10, 2026</span> |
Check-out: <span itemprop="checkoutTime" content="2026-08-15">Aug 15, 2026</span> |
Guests: <span itemprop="numAdults">2</span> Adults, <span itemprop="numChildren">1</span> Child
</p>
<!-- Single Minimal Rate Offer -->
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer">
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<p class="summary-total">
Total Stay Price (Taxes & Fees Included):
<!-- 3-letter ISO Currency Code (can use content="" for hiding the 3-letter currency code while displaying a symbol) -->
<span itemprop="priceCurrency" content="EUR">€</span>
<!-- VISIBLE TOTAL STAY PRICE (Directly wrapped, no hidden attributes) -->
<span itemprop="price">650.00</span>
</p>
</div>
</div>
</div>
</body>
৪. আপনার বাস্তবায়ন যাচাই করুন
আপনার পরিবর্তনগুলি প্রয়োগ করার আগে, আপনার মার্কআপ এবং নেভিগেশন ট্যাগিং পরীক্ষা করে দেখুন, যাতে ক্রলারটি আপনার মূল্যের ডেটা সফলভাবে যাচাই করতে পারে।
৪.১ মূল্য এবং মাইক্রোডেটা কাঠামো যাচাই করুন
আপনার পেজের URL বা HTML কন্টেন্ট থেকে সংগৃহীত মাইক্রোডাটা পরীক্ষা করার জন্য আপনি Schema.org Validator অথবা Google Rich Results Test ব্যবহার করতে পারেন। হোটেল প্রাইস স্ট্রাকচার্ড ডেটা রেফারেন্সে থাকা স্পেসিফিকেশনের সাথে সংগৃহীত ফিল্ডগুলো যাচাই করুন এবং নিশ্চিত করুন যে আপনার itemprop="price" এলিমেন্টটি পেজে একটি দৃশ্যমান আইটেম।
৪.২ নেভিগেশন যাচাই করুন
আপনার ট্যাগগুলো যাচাই করতে, গুগল ক্রোমে ব্রাউজার ডেভেলপার টুলস খুলুন। এর জন্য আপনার ওয়েবপেজে রাইট-ক্লিক করে ইন্সপেক্ট (অথবা F12 চেপে) নির্বাচন করুন এবং HTML DOM পরীক্ষা করুন।
নিশ্চিত করুন যে আপনার বাস্তবায়ন নিম্নলিখিত নেভিগেশন প্রয়োজনীয়তাগুলি পূরণ করে:
- পৃষ্ঠার শীর্ষ পর্যায় ঘোষিত হয়: বুকিং ফ্লো-এর প্রতিটি পৃষ্ঠার
<body>বা রুট র্যাপার ট্যাগেdata-nav-stage="..."অন্তর্ভুক্ত থাকে, এবং চূড়ান্ত মূল্যের পৃষ্ঠায়data-nav-stage-final="true"অন্তর্ভুক্ত থাকে। - ক্রিটিক্যাল পাথ সম্পূর্ণ হয়েছে: মধ্যবর্তী পেজগুলোর ইন্টারেক্টিভ এলিমেন্টগুলো (বাটন বা লিঙ্ক)
data-nav-criticalpath="true",data-nav-interactiontype, এবংdata-nav-interactionorderদিয়ে চিহ্নিত করা হয়েছে। যদি একাধিক অ্যাকশন থাকে, তবে অর্ডার নম্বরগুলো সঠিকভাবে সেট করা আছে কিনা তা নিশ্চিত করুন।
৪.৩ দৃশ্যমানতা এবং মার্কআপের গুণমান যাচাই করুন
নিশ্চিত করুন যে আপনার মাইক্রোডাটা সমস্ত কাঠামো এবং দৃশ্যমানতার প্রয়োজনীয়তা পূরণ করে (বিস্তারিত জানার জন্য, সরলীকৃত কাঠামোগত ডেটা ট্রি এবং গুরুত্বপূর্ণ দৃশ্যমানতার নিয়মাবলী দেখুন):
- কঠোর ক্রমবিন্যাস: নিশ্চিত করুন যে আপনার মার্কআপ প্রয়োজনীয় নেস্টিং ক্রম অনুসরণ করে (হয় সরলীকৃত ট্রি অথবা সম্পূর্ণ স্ট্রাকচার্ড ডেটা রেফারেন্স স্পেসিফিকেশন)। ভুল ক্রমে থাকা বা ভুলভাবে নেস্ট করা এলিমেন্টগুলো ক্রলারের নজর এড়িয়ে যেতে পারে।
- দৃশ্যমান মূল্য:
itemprop="price"কোনো হিডেন অ্যাট্রিবিউট বা<meta>ট্যাগ ছাড়াই সরাসরি দৃশ্যমান মূল্য সংখ্যাটিকে যুক্ত করে। - মেশিন-পঠনযোগ্য থাকার তারিখ:
checkinTimeএবংcheckoutTimeসাধারণYYYY-MM-DDবিন্যাসে থাকে (ঐচ্ছিকভাবেcontent="..."অ্যাট্রিবিউট ব্যবহার করে)। - সরাসরি এলিমেন্ট ট্যাগিং: সমস্ত দৃশ্যমান প্রপার্টি (হোটেলের নাম, থাকার তারিখ, অকুপেন্সি) পেজের দৃশ্যমান টেক্সটের মধ্যে র্যাপ করা হয়।