এই নির্দেশিকায় বর্ণনা করা হয়েছে কীভাবে আপনার ওয়েবসাইটকে মাইক্রোডাটা এবং নেভিগেশন অ্যাট্রিবিউট দিয়ে ট্যাগ করবেন, যাতে গুগলের প্রাইস অ্যাকুরেসি ক্রলার স্বয়ংক্রিয়ভাবে আপনার বুকিং ফানেলে নেভিগেট করতে এবং আপনার রুমের রেট যাচাই করতে পারে।
ধারণাগত ক্রলার প্রবাহ
নিম্নলিখিত অনুক্রমটি দেখায় কিভাবে ক্রলারটি একটি সাধারণ বুকিং ফানেলে চলাচল করে, পরিবর্তনশীল লোডিং অবস্থা সামাল দেয় এবং গুরুত্বপূর্ণ পদক্ষেপগুলি শনাক্ত করে।
🗺️ প্রবাহের সংক্ষিপ্ত বিবরণ
- 🔗 পর্যায় ১: গুগল সারফেস — ক্রলারটি ডাইনামিক ল্যান্ডিং পেজের ইউআরএল (আপনার টেমপ্লেটের উপর ভিত্তি করে গুগলে কনফিগার করা) অ্যাক্সেস করে এবং ঠিক একজন আসল ব্যবহারকারীর মতোই আপনার সাইটে প্রবেশ করে।
- 🛬 পর্যায় ২: ল্যান্ডিং পেজ — ক্রলারটি পার্টনার সাইটে অবতরণ করে (
data-nav-stage="landing")। - 🖱️ পর্যায় ৩: নেভিগেশন — ক্রলার
data-nav-*অ্যাট্রিবিউট ব্যবহার করে ঘোষিত বাধ্যতামূলক ইন্টারঅ্যাকশনগুলো (ক্লিক, নির্বাচন) সম্পাদন করে। - 🏁 পর্যায় ৪: চূড়ান্ত পৃষ্ঠা — ক্রলার সর্বশেষ প্রবেশযোগ্য পৃষ্ঠায় পৌঁছায় (
data-nav-stage-final="true")। - 📊 পর্যায় ৫: মূল্য নিরূপণ — ক্রলার মাইক্রোডেটা-ট্যাগযুক্ত মূল্য সংগ্রহ করে এবং মোট থাকার খরচ যাচাই করে।
ধাপ ১: ল্যান্ডিং পেজ (হোটেল নির্বাচন অথবা ঐচ্ছিক আপসেল পেজ)
ক্রলারটি ল্যান্ডিং পেজের ইউআরএল ভিজিট করে (গুগল আইটেমগুলিতে ক্লিক করার পর ব্যবহারকারী পার্টনার সাইটের যে পেজে পৌঁছান)। সঠিক রেট নির্বাচন নিশ্চিত করতে ল্যান্ডিং পেজের প্যারামিটার কনফিগার করার বিস্তারিত তথ্যের জন্য, ভ্যারিয়েবল এবং কন্ডিশন দেখুন।
অবস্থা A: লোডিং স্ক্রিন
একটি লোডিং ইন্ডিকেটর মাস্ক ক্ষণিকের জন্য দৃশ্যমান হয়। ক্রলারটি এই নেভ ট্যাগটি অদৃশ্য হওয়া পর্যন্ত অপেক্ষা করে (সর্বোচ্চ ১৫ সেকেন্ড)।
<body data-nav-stage="landing">
<!-- Loading indicator: Crawler waits for this to disappear (max 15s) -->
<div data-nav-loading-indicator="true">Loading Page...</div>
</body>
অবস্থা B: পৃষ্ঠা লোড হয়েছে
লোডিং ইন্ডিকেটরটি অদৃশ্য হয়ে গেলে পেজের কন্টেন্ট লোড হয়ে যায়। ক্রলারটি অগ্রসর হওয়ার জন্য ক্রিটিক্যাল পাথ এলিমেন্টটি খুঁজে বের করে এবং ক্লিক করে।
<body data-nav-stage="landing">
<!-- Ignored: Crawler skips non-selected rates -->
<div class="hotel-result">
<h3>Grand Hotel - Basic Room</h3>
<button>View Rates</button>
</div>
<!-- critical path: crawler clicks this to advance -->
<div class="hotel-result selected-rate">
<h3>Grand Hotel - Deluxe Suite</h3>
<button data-nav-criticalpath="true"
data-nav-interactiontype="CLICK"
data-nav-interactionorder="1">
View Rates
</button>
</div>
</body>
ধাপ ২: ঐচ্ছিক মধ্যবর্তী পৃষ্ঠা (রুম বা বিকল্প নির্বাচন)
ক্রলারটি রেট নির্বাচনের পেজে এসে পৌঁছায়।
অবস্থা A: লোডিং স্ক্রিন
রেটগুলো সংগ্রহ করার সময় একটি স্পিনার প্রদর্শিত হয়।
<body data-nav-stage="room-selection">
<div data-nav-loading-indicator="true">Fetching Rates...</div>
</body>
অবস্থা B: পৃষ্ঠা লোড হয়েছে
লোডিং শেষ হওয়ার পর, ক্রলারটি সামনে এগোনোর আগে ক্রমানুসারে একাধিক উপাদানের সাথে ইন্টারঅ্যাক্ট করতে পারে। শুধুমাত্র বাধ্যতামূলক ইন্টারঅ্যাকশনগুলো (যেমন, বাধ্যতামূলক শর্তাবলীতে সম্মত হওয়া, অথবা গুগলে ব্যবহারকারীর পছন্দের উপর ভিত্তি করে প্রয়োজনীয় কনফিগারেশন নির্বাচন করা, কিংবা সর্বনিম্ন বাধ্যতামূলক মূল্যের পথ) ট্যাগ করা উচিত।
<body data-nav-stage="room-selection">
<!-- Step 1: mandatory interaction (e.g., select bed configuration) -->
<div class="rate-option">
<p>Deluxe Suite</p>
<!-- Note: Either the value selected by the user on Google should be pre-selected,
or navigation elements must be provided so the crawler can select it. -->
<div class="bed-selection">
<button data-nav-criticalpath="true"
data-nav-interactiontype="CLICK"
data-nav-interactionorder="1">
Select Queen Bed
</button>
<button>Select King Bed</button>
</div>
</div>
<!-- Step 2: mandatory interaction (e.g., mandatory insurance opt-out or agreement) -->
<div class="mandatory-notice">
<label>
<input type="checkbox"
data-nav-criticalpath="true"
data-nav-interactiontype="CLICK"
data-nav-interactionorder="2">
I agree to the non-refundable dynamic pricing waiver.
</label>
</div>
<!-- Step 3: Continue to checkout -->
<button data-nav-criticalpath="true"
data-nav-interactiontype="CLICK"
data-nav-interactionorder="3">
Continue Reserving
</button>
</body>
ধাপ ৩: চূড়ান্ত ক্রলিং পেজ (মূল্য যাচাইকরণ / বুকিং সারাংশ)
ক্রলারটি সর্বশেষ অ্যাক্সেসযোগ্য পৃষ্ঠায় পৌঁছায় (ব্যবহারকারীর ব্যক্তিগত বা অর্থপ্রদানের তথ্য প্রবেশের আগের শেষ পৃষ্ঠা)। এটি যাচাই করে যে data-nav-stage-final ফ্ল্যাগটি `true` আছে। এটি ক্রলারকে অবশিষ্ট নেভিগেশনের পরে মাইক্রোডেটা-ট্যাগযুক্ত মূল্যটি নিষ্কাশন করার জন্য সংকেত দেয়। মূল্য নিষ্কাশন করার আগে সর্বদা নেভিগেশন ট্যাগগুলির সাথে প্রথমে ইন্টারঅ্যাক্ট করা হয়।
মূল আইটেম স্কোপগুলোর কোটাইপ Hotel এবং LodgingReservation হওয়া উচিত (যেমন, itemtype="https://schema.org/Hotel https://schema.org/LodgingReservation" )। পূর্ববর্তী সংস্করণের সাথে সামঞ্জস্য রাখার জন্য, আমরা এমন একটি প্যারেন্ট Hotel স্কোপও গ্রহণ করি যার মধ্যে Offer এবং LodgingReservation উভয় কোটাইপের একটি চাইল্ড এলিমেন্ট থাকে (উদাহরণস্বরূপ, <div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer https://schema.org/LodgingReservation"> )। পেজে শুধুমাত্র একটি Hotel এবং সেই Hotel অধীনে Offer ট্যাগ করা উচিত।
এই উদাহরণটিতে শুধুমাত্র বাধ্যতামূলক মোট মূল্য ট্যাগিং দেখানো হয়েছে, যা সরলতার জন্য সুপারিশ করা হয়েছে। {সাধারণ মোট মূল্য}
<!-- End of Scope comments identify container boundaries --> <body data-nav-stage="checkout" data-nav-stage-final="true"> <!-- Booking Summary Cart Scope (Hotel + LodgingReservation) --> <div class="booking-summary" itemscope itemtype="https://schema.org/Hotel https://schema.org/LodgingReservation"> <!-- Hotel Identifier (Can be hidden meta tag) --> <meta itemprop="identifier" content="grand-hotel-001" /> <h2 itemprop="name">Grand Hotel</h2> <!-- Visible Stay Dates & Occupancy (checkinDate / checkoutDate are also acceptable) --> <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> <!-- Offer Scope --> <div class="cart-details" itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer"> <!-- Compound Price Scope --> <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification"> <div class="total-line"> <span>Total Stay (Taxes Included):</span> <!-- The crawler extracts this final rate as total price --> <span itemprop="price">440.00</span> <meta itemprop="priceCurrency" content="USD" /> </div> </div> <!-- End of CompoundPriceSpecification Scope --> </div> <!-- End of Offer Scope --> </div> <!-- End of Hotel/LodgingReservation Scope --> </body>এই উদাহরণে মোট মূল্যের পাশাপাশি আইটেমভিত্তিক বিভাজন (মূল দর, ফি) দেখানো হয়েছে। {মোট মূল্য + বিভাজন}
<!-- End of Scope comments identify container boundaries --> <body data-nav-stage="checkout" data-nav-stage-final="true"> <!-- Booking Summary Cart Scope (Hotel + LodgingReservation) --> <div class="booking-summary" itemscope itemtype="https://schema.org/Hotel https://schema.org/LodgingReservation"> <!-- Hotel Identifier (Can be hidden meta tag) --> <meta itemprop="identifier" content="grand-hotel-001" /> <h2 itemprop="name">Grand Hotel</h2> <!-- Visible Stay Dates & Occupancy (checkinDate / checkoutDate are also acceptable) --> <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> <!-- Offer Scope --> <div class="cart-details" itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer"> <!-- Compound Price Scope --> <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification"> <div class="line-item"> <span>Base Rate (2 Nights):</span> <!-- Unit Price Scope for Base --> <span itemprop="priceSpecification" itemscope itemtype="https://schema.org/UnitPriceSpecification"> <span itemprop="price">400.00</span> <meta itemprop="priceCurrency" content="USD" /> </span> <!-- End of UnitPriceSpecification Scope --> </div> <div class="line-item"> <span>Resort Fee:</span> <!-- Unit Price Scope for Fee --> <span itemprop="priceSpecification" itemscope itemtype="https://schema.org/UnitPriceSpecification"> <span itemprop="price">40.00</span> <meta itemprop="priceCurrency" content="USD" /> </span> <!-- End of UnitPriceSpecification Scope --> </div> <div class="total-line"> <span>Total Stay:</span> <!-- The crawler extracts this final rate as total price --> <span itemprop="price">440.00</span> <meta itemprop="priceCurrency" content="USD" /> </div> </div> <!-- End of CompoundPriceSpecification Scope --> </div> <!-- End of Offer Scope --> </div> <!-- End of Hotel/LodgingReservation Scope --> </body>
১. নেভিগেশন বাস্তবায়ন ( 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" | মিথস্ক্রিয়ার ক্রিয়া ঘোষণা করে। বাটন/লিঙ্কের জন্য CLICK ব্যবহৃত হয়। |
data-nav-interactionorder | "1" , "2" , ... | একই পৃষ্ঠায় একাধিক কাজের প্রয়োজন হলে, সেগুলোর সম্পাদনের ক্রম ঘোষণা করে। |
data-nav-loading-indicator | "true" | এমন একটি উপাদানকে চিহ্নিত করে যা লোডিং অবস্থা নির্দেশ করে (যেমন, স্পিনার)। ক্রলারটি অগ্রসর হওয়ার আগে এই উপাদানটি অদৃশ্য হওয়ার জন্য অপেক্ষা করে। |
ন্যূনতম নেভিগেশন উদাহরণ
<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>;checkinDateও গ্রহণযোগ্য)। - অদৃশ্য ফিল্ড: যে ফিল্ডগুলো পেজে সরাসরি প্রদর্শিত হয় না (যেমন হোটেল আইডি বা কারেন্সি কোড), সেগুলোর জন্য
<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>
<!-- Rest of the Main page content -->
</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 পরীক্ষা করুন। data-nav-* অ্যাট্রিবিউটযুক্ত এলিমেন্টগুলো খুঁজুন।
নিশ্চিত করুন যে আপনার বাস্তবায়ন নিম্নলিখিত নেভিগেশন প্রয়োজনীয়তাগুলি পূরণ করে:
- পৃষ্ঠার শীর্ষ পর্যায় ঘোষিত হয়: বুকিং ফ্লো-এর প্রতিটি পৃষ্ঠার
<body>বা রুট র্যাপার ট্যাগেdata-nav-stage="..."অন্তর্ভুক্ত থাকে, এবং চূড়ান্ত মূল্যের পৃষ্ঠায়data-nav-stage-final="true"অন্তর্ভুক্ত থাকে। - ক্রিটিক্যাল পাথ সম্পূর্ণ হয়েছে: মধ্যবর্তী পেজগুলোর ইন্টারেক্টিভ এলিমেন্টগুলো (বাটন বা লিঙ্ক)
data-nav-criticalpath="true",data-nav-interactiontype, এবংdata-nav-interactionorderদিয়ে চিহ্নিত করা হয়েছে। যদি একাধিক অ্যাকশন থাকে, তবে অর্ডার নম্বরগুলো সঠিকভাবে সেট করা আছে কিনা তা নিশ্চিত করুন।
৪.৩ দৃশ্যমানতা এবং মার্কআপের গুণমান যাচাই করুন
নিশ্চিত করুন যে আপনার মাইক্রোডাটা সমস্ত কাঠামো এবং দৃশ্যমানতার প্রয়োজনীয়তা পূরণ করে (বিস্তারিত জানার জন্য, সরলীকৃত কাঠামোগত ডেটা ট্রি এবং গুরুত্বপূর্ণ দৃশ্যমানতার নিয়মাবলী দেখুন):
- কঠোর ক্রমবিন্যাস: নিশ্চিত করুন যে আপনার মার্কআপ প্রয়োজনীয় নেস্টিং ক্রম অনুসরণ করে (হয় সরলীকৃত ট্রি অথবা সম্পূর্ণ স্ট্রাকচার্ড ডেটা রেফারেন্স স্পেসিফিকেশন)। ভুল ক্রমে থাকা বা ভুলভাবে নেস্ট করা এলিমেন্টগুলো ক্রলারের নজর এড়িয়ে যেতে পারে।
- দৃশ্যমান মূল্য:
itemprop="price"কোনো হিডেন অ্যাট্রিবিউট বা<meta>ট্যাগ ছাড়াই সরাসরি দৃশ্যমান মূল্য সংখ্যাটিকে যুক্ত করে। - মেশিন-পঠনযোগ্য থাকার তারিখ:
checkinTimeএবংcheckoutTime(অথবা বিকল্পভাবেcheckinDateএবংcheckoutDateঅ্যাট্রিবিউট)-এ সাধারণYYYY-MM-DDতারিখ ফরম্যাট থাকে (প্রয়োজনে ঐচ্ছিকভাবেcontent="..."অ্যাট্রিবিউট ব্যবহার করা যেতে পারে)। যদি একটি পূর্ণ সময় (যেমন2027-08-21T23:59:59বা অনুরূপ) ব্যবহার করা হয়, তবে শুধুমাত্র শুরুরYYYY-MM-DDঅংশটি নেওয়া হয়। - সরাসরি এলিমেন্ট ট্যাগিং: সমস্ত দৃশ্যমান প্রপার্টি (হোটেলের নাম, থাকার তারিখ, অকুপেন্সি) পেজের দৃশ্যমান টেক্সটের মধ্যে র্যাপ করা হয়।