Schema guides Industry
Schema generator for Hotels
Common schema types for Hotels
- Hotel
- LocalBusiness
- Review
SEO tips
- Include room types and amenities that match booking pages
- Add pricing and availability only when shown to users
- Highlight location and highlights (airport shuttle, parking)
Example JSON-LD
{ "@context": "https://schema.org", "@type": "Hotel", "name": "Riverfront Inn Portland", "description": "Boutique hotel on the Willamette with river views and complimentary breakfast.", "url": "https://example.com/riverfront-inn", "telephone": "+1-503-555-0101", "image": ["https://example.com/hotel-lobby.jpg", "https://example.com/guest-room.jpg"], "address": { "@type": "PostalAddress", "streetAddress": "1510 SW Harbor Way", "addressLocality": "Portland", "addressRegion": "OR", "postalCode": "97201", "addressCountry": "US" }, "geo": { "@type": "GeoCoordinates", "latitude": "45.5122", "longitude": "-122.6756" }, "starRating": { "@type": "Rating", "ratingValue": "4" }, "checkinTime": "15:00", "checkoutTime": "11:00", "amenityFeature": [ { "@type": "LocationFeatureSpecification", "name": "Free WiFi", "value": true }, { "@type": "LocationFeatureSpecification", "name": "Airport shuttle", "value": true }, { "@type": "LocationFeatureSpecification", "name": "On-site parking", "value": true } ], "containsPlace": { "@type": "HotelRoom", "name": "Deluxe King River View", "bed": { "@type": "BedDetails", "type": "King" }, "occupancy": { "@type": "QuantitativeValue", "maxValue": 2 } }}Overview
Hotel markup should align with booking reality: rates and availability change fast—mark up what is stable on the URL (property name, address, star tier if shown, amenity list). Mismatch with OTA feeds causes trust issues.
Use SEWWA to prototype JSON-LD for property templates, then wire dynamic fields from your CMS.