Schema markup generator for non-profits and charities
Non-profits and charities should use the NGO type, a more specific kind of Organization. Fill in the form and I’ll build valid JSON-LD you can paste into your site.
NGO JSON-LD
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "NGO",
"@id": "https://bowriverfood.example/#organization",
"name": "Bow River Food Collective",
"description": "A Calgary charity that rescues surplus food from grocers and delivers it to community kitchens across the city.",
"url": "https://bowriverfood.example/",
"telephone": "+1-403-555-0142",
"email": "hello@bowriverfood.example",
"logo": "https://bowriverfood.example/images/logo.png",
"address": {
"@type": "PostalAddress",
"streetAddress": "100 Example Street SW",
"addressLocality": "Calgary",
"addressRegion": "AB",
"postalCode": "T2P 1J9",
"addressCountry": "CA"
},
"foundingDate": "2019",
"areaServed": [
"Calgary",
"Airdrie",
"Cochrane",
"Okotoks"
],
"knowsAbout": [
"Food security",
"Food rescue",
"Community kitchens",
"Volunteer coordination"
],
"slogan": "Good food belongs on plates, not in landfills.",
"keywords": [
"Calgary charity",
"food bank partner",
"volunteer Calgary"
],
"sameAs": [
"https://www.instagram.com/bowriverfoodcollective",
"https://www.linkedin.com/company/bowriverfoodcollective"
]
}
</script>Paste this into your page’s head, then test it with Google’s Rich Results Test and validator.schema.org. The example values are made up: replace every one.
Want this added to your organization’s website?
Send me your site and I’ll check your current structured data and send back corrected JSON-LD for it. Free.
The properties that matter for non-profits and charities
Type: NGO. Every property below is a real schema.org property.
| Property | Why it matters |
|---|---|
name | Use your registered legal name or the name on your charity registration, so search engines and AI tools can match you to official records. |
knowsAbout | Your cause areas tell AI tools what you actually do, which helps when someone asks for charities working on a specific issue. |
areaServed | Donors and volunteers often look locally. Naming Calgary or Alberta makes your reach clear. |
sameAs | Link your social profiles and your listing on the Canada Revenue Agency charities search or a similar directory, so your identity is easy to confirm. |
foundingDate | A founding year is a simple trust signal and a fact AI answers often repeat. |
Common mistakes
Adding nonprofitStatus with a US value like Nonprofit501c3. Those enum values are US tax categories and don’t describe a Canadian registered charity.
Marking up every fundraising event inside the Organization block. Each event deserves its own Event markup on its own page.
Using a volunteer’s home address. Use the office or mailing address you publish, or leave the street out.
How to add it to your site
- Replace every example value in the form with your own details. They should match your Google Business Profile exactly.
- Copy the code and paste it into your page’s
<head>. Most site builders have a custom code field. On a hand-built site, it goes in the template. - Test the live page with Google’s Rich Results Test and validator.schema.org, and fix anything they flag.
- Add the same facts to the visible page. Structured data should describe what visitors can see. My website checklist for non-profits and charities covers the rest.
Schema for non-profits and charities: questions
NGO is a subtype of Organization, so it is a slightly more specific fit for most charities and non-profits. Either is valid. I use NGO because it tells search engines a little more about what you are.
There isn’t a dedicated Canadian charity number property. You can show it clearly on your About or Donate page, where people and search engines will read it. I keep the schema to properties schema.org actually defines.
Not directly. It helps search engines and AI tools understand who you are and what you do. The donate page itself still has to be clear and quick.
Keep reading
- nick@tavro.ca
- 587-439-9994
- Calgary, Alberta