PlaceOfWorship
PlaceOfWorship is a CivicStructure subtype (which extends Place), not a LocalBusiness. This matters: it inherits from Place, not from Organization or LocalBusiness. That means properties like priceRange, paymentAccepted, and currenciesAccepted are not available. A church is a place, not a business.
Schema.org provides 5 subtypes: BuddhistTemple, Church, HinduTemple, Mosque, and Synagogue. Use the most specific one. If the place of worship does not fit any subtype (for example, a Sikh gurdwara or a Quaker meetinghouse), use the parent type PlaceOfWorship.
Full example of schema.org/PlaceOfWorship json-ld markup
The markup is verified as valid with Rich Results Test from Google.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@id": "https://stmichaelsdunmore.org#church",
"@type": "Church",
"name": "St. Michael's Catholic Church",
"description": "Catholic parish serving the Dunmore community since 1873. Sunday Mass at 9:00 AM and 11:30 AM. Weekday Mass Tuesday through Friday at 7:30 AM.",
"url": "https://stmichaelsdunmore.org",
"image": "https://stmichaelsdunmore.org/images/facade.jpg",
"telephone": "+1-570-555-0250",
"address": {
"@type": "PostalAddress",
"streetAddress": "220 Elm Street",
"addressLocality": "Dunmore",
"addressRegion": "PA",
"postalCode": "18512",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 41.4208,
"longitude": -75.6320
},
"isAccessibleForFree": true,
"publicAccess": true,
"maximumAttendeeCapacity": 450,
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "07:00",
"closes": "17:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Saturday", "Sunday"],
"opens": "08:00",
"closes": "13:00"
}
],
"containedInPlace": {
"@type": "City",
"name": "Dunmore",
"containedInPlace": {
"@type": "State",
"name": "Pennsylvania"
}
}
}
</script>CivicStructure, not LocalBusiness
The type hierarchy is Thing → Place → CivicStructure → PlaceOfWorship. CivicStructure also parents types like Park, Airport, Museum, and Library. These are public structures, not businesses. They have address, geo, openingHoursSpecification, telephone, and photo from Place, but no business-specific properties.
openingHoursSpecification for service times
For a place of worship, openingHoursSpecification typically represents when the building is open to visitors, not service times. Service times are better represented as event entries (each service is an Event with a startDate and schedule). The distinction matters because a church might be open for visits from 9 AM to 5 PM but hold services only on Sunday morning.
maximumAttendeeCapacity
maximumAttendeeCapacity (inherited from Place) records the building's seating capacity. Google and event platforms read this when listing events at the venue. For a church, this is the sanctuary seating capacity.
Minimal valid version
The smallest markup that still produces a valid PlaceOfWorship 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.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Church",
"name": "St. Michael's Catholic Church",
"address": {
"@type": "PostalAddress",
"addressLocality": "Dunmore",
"addressRegion": "PA"
}
}
</script>Google rich results this unlocks
Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.
- Google docsPlace knowledge panel (indirect)
Common PlaceOfWorship 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.
- 01
Using LocalBusiness for a place of worship
Wrong"@type": "LocalBusiness" for a church or mosqueRight"@type": "Church" or "@type": "Mosque"PlaceOfWorship is a CivicStructure, not a LocalBusiness. Using LocalBusiness for a church implies it is a commercial business, which misrepresents the entity. The correct hierarchy is Thing → Place → CivicStructure → PlaceOfWorship → Church.
- 02
Adding priceRange or paymentAccepted
Wrong"priceRange": "Free" on a ChurchRight"isAccessibleForFree": truepriceRange and paymentAccepted are LocalBusiness properties. PlaceOfWorship does not inherit from LocalBusiness, so these properties are invalid. Use isAccessibleForFree (a Place property) to indicate free admission.
- 03
Service times in openingHoursSpecification
WrongopeningHoursSpecification showing only Sunday 9:00-11:00 (the service time)RightopeningHoursSpecification for when the building is open to visitors; service times as Event objectsopeningHoursSpecification represents when the physical building is accessible. Service times are events. A church open 7 AM to 5 PM daily with services on Sunday at 9 AM and 11:30 AM should show the full open hours in openingHoursSpecification and the services as event entries.
- 04
Using parent PlaceOfWorship when a subtype fits
Wrong"@type": "PlaceOfWorship" for a Catholic churchRight"@type": "Church"Schema.org has 5 subtypes: BuddhistTemple, Church, HinduTemple, Mosque, Synagogue. Use the most specific one for better categorization in Google Maps. Use PlaceOfWorship only for faith traditions not covered by the five subtypes.
Schema properties in this example
About the example data
St. Michael's Church is a fictional Catholic parish in downtown Dunmore, part of the same Main Street cluster as the other Xoo universe businesses. The church holds a community breakfast after Sunday services at The Dunmore Grill.
Comments
Loading comments...