CMS Architecture for Nonprofits
How to structure your CMS for a nonprofit website — programs, impact stories, team, donors, and events.
Why nonprofits need structured content
Nonprofit websites serve multiple audiences at once: donors, volunteers, beneficiaries, partners, and the press. A well-structured CMS lets you tell your story consistently across all of them without duplicating content.
Recommended collections
Programs
The core of most nonprofit sites. Each program should have:
- Name (text, required) — the program title.
- Description (rich text) — what the program does.
- Impact area (select) — education, health, environment, etc.
- Featured image (image) — for cards and hero sections.
- Goals (rich text) — what the program aims to achieve.
- Status (select) — active, completed, upcoming.
- Partners (multi-reference) — link to a Partners collection.
Impact stories
Show donors their money at work. Structure these like mini case studies:
- Title (text, required)
- Story (rich text) — the narrative.
- Program (reference) — which program this relates to.
- Beneficiary name (text) — who was helped.
- Before/after image (image) — visual proof of impact.
- Date (date) — when the impact occurred.
Team & board members
Nonprofits often list both staff and board members. Use two separate collections:
- Team Members — name, role, photo, bio, department, email.
- Board Members — name, title, organization, bio, photo, committee, term dates.
Keeping them separate lets you display them differently and apply different fields (board members have terms; staff have departments).
Events
Fundraisers, galas, volunteer days, and awareness campaigns:
- Title (text, required)
- Date (date, required)
- Location (text)
- Description (rich text)
- Registration URL (url)
- Event type (select) — fundraiser, volunteer, awareness, conference.
- Featured image (image)
Partners & sponsors
Organizations you work with:
- Name (text, required)
- Logo (image)
- Website (url)
- Partnership type (select) — funder, corporate partner, government, etc.
- Description (text) — one-line summary.
Relationships to configure
- Programs → Partners (multi-reference)
- Impact stories → Programs (single reference)
- Events → Programs (multi-reference, optional)
- Team members → Department (select or reference)
Tips for nonprofit CMS
- Lead with impact — make impact stories easy to add so your team actually uses them.
- Keep partner logos in a collection — not hardcoded in a page. Logos change frequently.
- Use "featured" boolean fields — so you can highlight specific programs or stories on the homepage.
- Plan for annual reports — structured data (impact stats, financials) is easier to repurpose than PDFs.