We use cookies for analytics and to serve ads. Accept to enable Google Analytics and AdSense. You can decline to stay opt-out.
Volunteer hubs listing opportunities with CollectionPage + Event + Organization context, FAQs, and breadcrumbs.
Represents a hub page aggregating volunteer opportunities.
Defines each volunteer opportunity with date/time and location.
Anchors the nonprofit or organizer identity.
Answers questions about eligibility, training, and time commitments.
Provides navigation context to the volunteer hub.
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": "Organization",
"@id": "https://www.example.com/volunteer#org",
"name": "Northwind Community Outreach",
"url": "https://www.example.com/volunteer",
"logo": "https://www.example.com/assets/logo.svg",
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+1-512-555-0164",
"contactType": "Volunteer Coordinator"
}
},
{
"@context": "https://schema.org",
"@type": "CollectionPage",
"@id": "https://www.example.com/volunteer#page",
"name": "Volunteer Opportunities",
"description": "Browse upcoming volunteer events and sign up to support local initiatives.",
"url": "https://www.example.com/volunteer",
"inLanguage": "en",
"hasPart": [
{ "@id": "https://www.example.com/volunteer/park-cleanup#event" },
{ "@id": "https://www.example.com/volunteer/food-drive#event" }
]
},
{
"@context": "https://schema.org",
"@type": "Event",
"@id": "https://www.example.com/volunteer/park-cleanup#event",
"name": "Riverfront Park Cleanup",
"startDate": "2025-06-14T09:00:00-05:00",
"endDate": "2025-06-14T12:00:00-05:00",
"eventStatus": "https://schema.org/EventScheduled",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"url": "https://www.example.com/volunteer/park-cleanup",
"location": {
"@type": "Place",
"name": "Riverfront Park",
"address": {
"@type": "PostalAddress",
"streetAddress": "600 Riverside Dr",
"addressLocality": "Austin",
"addressRegion": "TX",
"postalCode": "78701",
"addressCountry": "US"
}
},
"organizer": { "@id": "https://www.example.com/volunteer#org" },
"offers": {
"@type": "Offer",
"url": "https://www.example.com/volunteer/park-cleanup#signup"
}
},
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Do I need experience?",
"acceptedAnswer": {
"@type": "Answer",
"text": "No experience required. We provide on-site instructions and supplies."
}
},
{
"@type": "Question",
"name": "Is there a minimum age?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Volunteers must be 16+ or accompanied by a guardian."
}
},
{
"@type": "Question",
"name": "What should I bring?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Wear comfortable clothing and closed-toe shoes. Water and snacks are provided."
}
}
]
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.example.com" },
{ "@type": "ListItem", "position": 2, "name": "Volunteer", "item": "https://www.example.com/volunteer" }
]
}
]Yes. Add one Event per opportunity and include each in CollectionPage.hasPart.
Use a wider start/end date range or list recurring events separately with clear dates.