XooCode(){

Beach

Beach is a direct CivicStructure subtype, which is slightly unusual for a natural feature. Schema.org classifies beaches with other public-access places that have opening hours, attendance policies, and amenities. It adds no properties of its own; use the inherited openingHours, amenityFeature, and Place geospatial properties.

For the natural coastal feature in isolation (the geomorphology, not the public-access facility), consider Landform.

Full example of schema.org/Beach json-ld markup

The markup is verified as valid with Rich Results Test from Google.

schema.org/Beach
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Beach",
  "name": "Lackawanna Public Beach",
  "description": "Municipal sand beach on the eastern shore of fictional Lake Xoo. Lifeguard-staffed 09:00-18:00 during the summer season.",
  "address": { "@type": "PostalAddress", "streetAddress": "1 Lake Shore Dr", "addressLocality": "Dunmore", "addressRegion": "PA", "postalCode": "18512", "addressCountry": "US" },
  "geo": { "@type": "GeoCoordinates", "latitude": 41.4104, "longitude": -75.5789 },
  "openingHours": "Mo-Su 08:00-20:00",
  "isAccessibleForFree": true,
  "amenityFeature": [
    { "@type": "LocationFeatureSpecification", "name": "Lifeguard on duty", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Restrooms", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Parking", "value": true }
  ]
}
</script>

Minimal valid version

The smallest markup that still produces a valid Beach entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.

schema.org/Beach (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Beach",
  "name": "Lackawanna Public Beach",
  "geo": { "@type": "GeoCoordinates", "latitude": 41.4104, "longitude": -75.5789 }
}
</script>

Google rich results this unlocks

Beach is a structural type. It does not produce a rich result on its own.

Its value comes from combining it with a primary type whose markup earns a rich result (Article, Product, Event, and so on). Beach becomes the trunk that the primary type branches off viamainEntityorbreadcrumb. Include it on every page as the backbone of your markup.

Common Beach mistakes

Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.

  1. 01

    Marking a beach as a Landform

    Wrong
    Landform for a managed public beach with opening hours
    Right
    Beach (CivicStructure subtype) for public-access beaches with facilities; Landform for raw coastal geomorphology

    Schema.org drew the line at public access. If there are opening hours, lifeguards, or parking, it's a Beach.

About the example data

Fictional "Lackawanna Public Beach", a municipal beach on a fictional inland lake near Dunmore, PA.

Comments

Loading comments...

Leave a comment