We use cookies for analytics and to serve ads. Accept to enable Google Analytics and AdSense. You can decline to stay opt-out.
Campground/RV park pages with Campground + Offer context, FAQs, and breadcrumb navigation.
Anchors the campground location and amenities.
Represents campsite or RV site pricing and booking URL.
Answers questions about hookups, check-in, and policies.
Provides navigation context to the campground page.
Ensure every applicable required property is present in your implementation. Nested props reference their parent objects (for example, `offers.priceCurrency`).
Paste as a single script tag. Keep product details, offer data, shipping/returns, and FAQ answers in sync with the page.
[
{
"@context": "https://schema.org",
"@type": "Campground",
"@id": "https://www.example.com/campgrounds/pine-ridge#campground",
"name": "Pine Ridge Campground",
"url": "https://www.example.com/campgrounds/pine-ridge",
"telephone": "+1-406-555-0182",
"image": "https://www.example.com/images/pine-ridge.webp",
"address": {
"@type": "PostalAddress",
"streetAddress": "100 Forest Rd",
"addressLocality": "Bozeman",
"addressRegion": "MT",
"postalCode": "59715",
"addressCountry": "US"
},
"amenityFeature": [
{ "@type": "LocationFeatureSpecification", "name": "Electric Hookups", "value": true },
{ "@type": "LocationFeatureSpecification", "name": "Shower Facilities", "value": true }
]
},
{
"@context": "https://schema.org",
"@type": "Offer",
"@id": "https://www.example.com/campgrounds/pine-ridge#offer",
"name": "RV Site Nightly Rate",
"price": "45.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://www.example.com/campgrounds/pine-ridge#book",
"itemOffered": { "@id": "https://www.example.com/campgrounds/pine-ridge#campground" },
"category": "RVSite",
"description": "Full hookup RV sites with 30/50 amp power and water."
},
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What time is check-in?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Check-in begins at 2 PM. Late arrivals should contact the office in advance."
}
},
{
"@type": "Question",
"name": "Are pets allowed?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. Pets are welcome on leash. Please clean up after your pet."
}
},
{
"@type": "Question",
"name": "Do you offer tent sites?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. Tent sites are available and can be reserved online."
}
}
]
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.example.com" },
{ "@type": "ListItem", "position": 2, "name": "Campgrounds", "item": "https://www.example.com/campgrounds" },
{ "@type": "ListItem", "position": 3, "name": "Pine Ridge", "item": "https://www.example.com/campgrounds/pine-ridge" }
]
}
]Yes. Use one Offer per site type with unique @id values and matching pricing.
Use priceValidUntil and update availability to match the visible booking calendar.