Technical SEO
Vacation Rental Structured Data for Glamping Sites
A plain-English guide to marking up your glamping or holiday let pages so Google can read the details.
You’ve been told your glamping site needs “schema”, and nobody has explained what that means. Vacation rental structured data is a block of code that tells Google what your unit is, where it is, how many it sleeps and what it looks like. You add it once per page, and it sits invisibly behind your normal text.
The type to use is VacationRental, with an Accommodation inside it for the beds and guest numbers. Below is a copy-paste example for a shepherd’s hut, the properties Google asks for and how to test it.
Why vacation rental structured data is worth doing on a glamping site
It’s worth doing if your site has a page per unit and you’re happy to spend an hour on it. It won’t make a poor page rank, but it removes guesswork for Google about what you’re offering.
Structured data is part of getting found without paying commission. Guests often find you on a listing site and then search for your own site, so you want Google to read your own pages as clearly as it reads the listing.
Google’s documentation for vacation rental markup also has eligibility guidelines, and it can limit which sites get rich results. Treat the markup as a tidy foundation, not a promise of special treatment. If your site is brand new, a clear page with good photos and honest copy comes first.
VacationRental, Accommodation and LodgingBusiness explained
VacationRental is the type to use for a single property rented for short stays, which describes most glamping units and holiday lets. Schema.org describes it as a kind of lodging business that focuses on renting single properties for limited time.
There are three names you’ll see.
| Type | What it means | When to use it |
|---|---|---|
VacationRental |
A single property rented for short stays | One page per hut, pod, cabin or lodge |
Accommodation |
The place itself, with beds, rooms and occupancy | Inside VacationRental, under containsPlace |
LodgingBusiness |
A general lodging business | A broader description of a site with several units |
Google’s vacation rental guidance asks for one Accommodation inside the listing to carry details such as beds, occupancy and number of rooms. So the pattern is a VacationRental containing an Accommodation.
Copy-paste example for a shepherd’s hut
Here’s a JSON-LD example for a single hut. Swap every value for your own, and keep the structure. The details below are made up for the example.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "VacationRental",
"@id": "https://www.example.co.uk/huts/meadow-hut/",
"name": "Meadow Hut",
"identifier": "meadow-hut",
"url": "https://www.example.co.uk/huts/meadow-hut/",
"description": "A shepherd's hut with a wood-fired hot tub in a quiet meadow, sleeping two.",
"image": [
"https://www.example.co.uk/images/meadow-hut-exterior.jpg",
"https://www.example.co.uk/images/meadow-hut-bedroom.jpg",
"https://www.example.co.uk/images/meadow-hut-hot-tub.jpg"
],
"latitude": 52.2,
"longitude": -3.0,
"address": {
"@type": "PostalAddress",
"streetAddress": "Meadow Farm, Example Lane",
"addressLocality": "Exampletown",
"addressRegion": "Herefordshire",
"postalCode": "HR1 1AA",
"addressCountry": "GB"
},
"checkinTime": "15:00:00",
"checkoutTime": "10:00:00",
"containsPlace": {
"@type": "Accommodation",
"additionalType": "EntirePlaces",
"occupancy": {
"@type": "QuantitativeValue",
"value": 2
},
"numberOfBedrooms": 1,
"numberOfBathroomsTotal": 1,
"bed": {
"@type": "BedDetails",
"numberOfBeds": 1,
"typeOfBed": "Double"
}
}
}
</script>
Use the real coordinates of your unit, not the placeholders above. Put the block in the page’s HTML, in the head or the body.
The properties Google asks for
Google splits the properties into required and recommended. Check its vacation rental page for the current list, because it has been updated before. At the time of writing, the core ones for a glamping unit are these.
- Name and identifier. A unique name and a short ID for each unit.
- Images. Several good photos of the unit. Google’s documentation sets a minimum number, so check it.
- Latitude and longitude. The location of the unit.
- Address. A full postal address, including postcode and country. Google has tightened its wording on address detail, so give the street, town, county, postcode and country.
- Accommodation details. Occupancy, plus beds and rooms.
- Optional extras. Check in and out times, description, ratings and reviews if you have real ones on the page.
If you have several units on one site
Give each unit its own page and its own VacationRental block, with a different @id and identifier. Don’t squash three pods into one block.
A site with a hut, a pod and a treehouse has three unit pages and three blocks. Each block describes one unit and its own Accommodation.
If you want to describe the whole site as a business as well, a LodgingBusiness block on the homepage can do that. Keep it consistent with the unit pages, with the same name, address and contact details.
How to test it
The quickest check is Google’s Rich Results Test. Paste in the page URL, or paste the code before you publish, and fix anything marked as an error.
- Run the page through the Rich Results Test and read any errors.
- Fix the code and test again until it comes back clean.
- Publish, then request indexing for the page in Search Console.
- A few days later, look at the enhancements reports in Search Console for problems Google finds while crawling.
Common mistakes
Most problems are small and easy to fix.
- Missing address parts. Leaving out the postcode or country is the most common slip.
- Copy-pasted values. Forgetting to change the example’s name, URL or coordinates.
- Broken JSON. A missing comma or quote mark stops the whole block working.
- Markup that doesn’t match the page. Occupancy, prices or reviews that aren’t shown on the page.
- One block for every unit. Each unit needs its own page and block.
FAQs
Is vacation rental schema the same as holiday let schema markup?
Yes. Schema.org calls the type VacationRental, but it covers holiday lets, cabins, shepherd’s huts and similar single properties rented for short stays. There is no separate UK or holiday let type, so you use VacationRental either way.
Do I need a developer to add it?
Not always. The markup is a block of JSON-LD text that goes in the page. Many website builders and SEO plugins let you paste it in. If you can edit your page’s code or a custom code box, you can add it yourself.
Will structured data get me to the top of Google?
No. Structured data helps Google understand your page, and it can make you eligible for richer results, but it is not a ranking boost on its own. Good pages, clear copy and links still do the heavy lifting.
How do I test my markup?
Paste your page URL or code into Google’s Rich Results Test and fix anything it flags. After the page is live, check the enhancements reports in Search Console for errors Google finds when it crawls your site.
If you’re not sure whether your pages are marked up properly, or what else is holding back bookings, send us your website and we’ll tell you, for free, what’s stopping it getting bookings.