Wix Hotels schema markup: LodgingBusiness, Hotel and Room schema

Module 18: Wix Bookings, Hotels & Service Business SEO | Lesson 220 of 687 | 58 min read

By Michael Andrews, Wix SEO Expert UK

Schema markup (structured data) tells Google exactly what your accommodation business offers in a machine-readable format. When implemented correctly, it can earn you rich results in search: star ratings, price ranges, availability indicators and review counts displayed directly in the search results. For accommodation businesses, the relevant schema types are Hotel, LodgingBusiness, BedAndBreakfast, and HotelRoom. This lesson provides complete JSON-LD implementations for each type, explains when to use which schema, shows you how to add it to your Wix Hotels pages, and covers testing and validation to ensure Google can parse your structured data correctly.

Schema markup types for accommodation businesses showing Hotel, LodgingBusiness, BedAndBreakfast and HotelRoom with their properties and relationships
Implementing the correct schema types helps Google display rich results for your accommodation, including star ratings, prices and availability directly in search results.

Choosing the Right Schema Type for Your Accommodation

Schema.org provides several types for accommodation businesses. Choosing the correct one ensures Google categorises your property accurately. Using the wrong type (e.g., Hotel schema for a holiday cottage) can confuse Google and reduce the effectiveness of your structured data.

Hotel Schema: Full JSON-LD Implementation

The Hotel schema is the most comprehensive accommodation type. Add this to your homepage or Rooms Overview page as a JSON-LD script in the Wix Editor custom code section (Settings > Custom Code > Head).

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "The Harbour Hotel",
  "description": "Boutique hotel overlooking Whitby harbour with 12 individually designed rooms, harbour view restaurant, and direct access to the historic town centre.",
  "url": "https://www.yoursite.com",
  "telephone": "+44-1234-567890",
  "email": "[email protected]",
  "image": [
    "https://www.yoursite.com/images/hotel-exterior.jpg",
    "https://www.yoursite.com/images/harbour-view-room.jpg",
    "https://www.yoursite.com/images/restaurant.jpg"
  ],
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "15 Harbour Road",
    "addressLocality": "Whitby",
    "addressRegion": "North Yorkshire",
    "postalCode": "YO21 3PU",
    "addressCountry": "GB"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "54.4858",
    "longitude": "-0.6206"
  },
  "starRating": {
    "@type": "Rating",
    "ratingValue": "4"
  },
  "numberOfRooms": 12,
  "petsAllowed": false,
  "checkinTime": "15:00",
  "checkoutTime": "10:30",
  "amenityFeature": [
    { "@type": "LocationFeatureSpecification", "name": "Free Wi-Fi", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Free Parking", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Restaurant", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Bar", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Room Service", "value": true }
  ],
  "priceRange": "£120 - £280 per night"
}

HotelRoom Schema for Individual Room Pages

Each individual room page should have its own HotelRoom schema that describes the specific room type. This tells Google about the bed type, occupancy, pricing, and amenities for that particular room.

{
  "@context": "https://schema.org",
  "@type": "HotelRoom",
  "name": "Sea View Double Room",
  "description": "Elegant double room with king-size bed and panoramic harbour views through floor-to-ceiling windows. En-suite bathroom with roll-top bath.",
  "url": "https://www.yoursite.com/rooms/sea-view-double-room",
  "image": "https://www.yoursite.com/images/sea-view-double.jpg",
  "bed": {
    "@type": "BedDetails",
    "typeOfBed": "King",
    "numberOfBeds": 1
  },
  "occupancy": {
    "@type": "QuantitativeValue",
    "value": 2
  },
  "amenityFeature": [
    { "@type": "LocationFeatureSpecification", "name": "Harbour View", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "En-suite Bathroom", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Roll-top Bath", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Nespresso Machine", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Smart TV", "value": true }
  ],
  "offers": {
    "@type": "Offer",
    "priceCurrency": "GBP",
    "price": "160",
    "priceValidUntil": "2026-12-31",
    "availability": "https://schema.org/InStock",
    "url": "https://www.yoursite.com/rooms/sea-view-double-room"
  },
  "containedInPlace": {
    "@type": "Hotel",
    "name": "The Harbour Hotel",
    "url": "https://www.yoursite.com"
  }
}

BedAndBreakfast Schema Implementation

If you operate a B&B or guesthouse, use BedAndBreakfast instead of Hotel. The schema properties are largely the same, but the type tells Google your property is a B&B, which affects how it appears in accommodation search filters.

{
  "@context": "https://schema.org",
  "@type": "BedAndBreakfast",
  "name": "Moorside Guest House",
  "description": "Family-run B&B with 6 en-suite rooms, full English breakfast, and stunning views across the North York Moors.",
  "url": "https://www.yoursite.com",
  "telephone": "+44-1234-567890",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "22 Moor Lane",
    "addressLocality": "Goathland",
    "addressRegion": "North Yorkshire",
    "postalCode": "YO22 5AN",
    "addressCountry": "GB"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "54.4012",
    "longitude": "-0.7234"
  },
  "numberOfRooms": 6,
  "petsAllowed": true,
  "checkinTime": "14:00",
  "checkoutTime": "10:00",
  "priceRange": "£85 - £145 per night"
}

Adding Schema to Wix Hotels Pages

How to add schema markup to your Wix Hotels pages

Adding AggregateRating to Your Schema

If you display guest reviews on your Wix Hotels site, you can add AggregateRating to your Hotel schema. This can result in star ratings appearing in search results, which significantly improves click-through rates.

"aggregateRating": {
  "@type": "AggregateRating",
  "ratingValue": "4.7",
  "bestRating": "5",
  "worstRating": "1",
  "ratingCount": "156",
  "reviewCount": "89"
}
Review Schema Guidelines: Google requires that AggregateRating schema reflects genuine reviews visible on the page. Do not add review schema if you do not display reviews on the page. The rating value and count must match what visitors can actually see. Misleading review schema can result in a manual penalty from Google.

Testing and Validating Your Schema

How to test accommodation schema markup


Final Tip: Start with the Hotel or LodgingBusiness schema on your homepage, then add HotelRoom schema to each individual room page. Test every page after adding schema. Building structured data incrementally and testing at each step catches errors early and ensures Google can parse your accommodation data correctly.

This lesson on Wix Hotels schema markup: LodgingBusiness, Hotel and Room schema is part of Module 18: Wix Bookings, Hotels & Service Business SEO in The Most Comprehensive Complete Wix SEO Course in the World (2026 Edition). Created by Michael Andrews, the UK's No.1 Wix SEO Expert with 14 years of hands-on experience, 750+ completed Wix SEO projects and 425+ verified five-star reviews.