A nonprofit site that keeps donors, not an intern.
Fast, low-maintenance build with a Stripe or Every.org donation flow, CMS your team can actually use, and tax-receipt + CRM wiring. 3 weeks, from $2,000.
Who this is for
Small nonprofit executive director or board member whose WordPress site has a broken donation flow, no staff to maintain it, and donors who are quietly churning.
The pain today
- Donate button that 404s or breaks on mobile
- WordPress install with 15 plugins no one on staff understands
- Tax-receipt emails that don't send automatically
- Donor data living in a spreadsheet, not a CRM
- Board asking why the site costs so much to maintain
The outcome you get
- Reliable donation flow (Stripe, Every.org, or both) tested end-to-end
- Automated tax-receipt emails at the moment of donation
- Donor data syncing to your CRM (Bloomerang, DonorPerfect, Kindful, HubSpot)
- CMS simple enough that a volunteer can update the impact page
- Low-maintenance Next.js architecture — no plugin update hell
Website pillars for nonprofits
A nonprofit site has to do four jobs well. Explain the mission in plain language, fast. Show recent program work and impact — concrete stories beat mission statements. Make donating frictionless — one click from any page, mobile-friendly, one-time and recurring options both clear. Enable participation — volunteer signup, event registration, newsletter. Everything else (about page, board bios, annual report archive) is secondary. The common mistake is treating the site like a filing cabinet. Donors decide in 60 seconds; the architecture has to reflect that. I build the nav and homepage around donor + participant flows, with the filing-cabinet content discoverable but not primary.
Donation flow best practices
The donation page is where most nonprofit sites lose money. Patterns that actually work: suggested amounts with a clear default, one-time vs monthly toggle (monthly is the long-term survival metric), frictionless payment (Stripe's Payment Element accepting Apple Pay, Google Pay, cards, ACH), ability to cover fees optionally, and immediate tax-receipt email. I use Stripe Checkout for smaller nonprofits (2.9%+30¢ with full brand control) or Every.org integration for access to their donor-advised-fund pipeline (they take a small platform fee but DAFs are high-value). Some clients run both side by side. The donate page is never buried in a menu — it's one click from every page.
Tax-receipt and CRM wiring
Two systems have to get the donation data without manual effort. Your CRM — Bloomerang, DonorPerfect, Kindful, Salesforce NPSP, or HubSpot — tracks the donor relationship. Your email tool (or CRM if it sends) fires the tax-deductible receipt immediately. I wire both through Stripe webhooks or Every.org callbacks. Receipt template is legally compliant (501(c)(3) status, EIN, donation amount, date, no-goods-or-services language). CRM records include attribution — what campaign or page drove the donation — so you can see which content actually moves giving. Without this plumbing, development staff spend Monday mornings reconciling donations by hand.
Low-maintenance CMS
Most nonprofit staff turnover is brutal. Whoever built the site won't be the one editing it in 18 months. I pick CMS based on editor comfort: Sanity Studio for team-edit with clear fields, Notion-as-CMS for a single person managing content, or MDX-in-repo for tech-savvy orgs. Whichever it is, I set up explicit schemas for the three content types a small nonprofit actually needs: Pages, Blog Posts, Impact Stories. No free-form blocks that a volunteer accidentally breaks. The site also ships without plugins to update, without a separate hosting panel to manage, without SSL renewals to schedule — Vercel handles all of that. Your annual maintenance should feel like zero, not like a part-time job.
Pricing with nonprofit discount
Standard Starter tier at $2,000 covers most small-nonprofit builds. I also offer a nonprofit discount: 15% off on first engagement, meaning a typical build lands around $1,700. Business tier ($5,000, ~15% off) covers larger nonprofits with multi-program IA, volunteer portal, or event ticketing. Timeline 3 weeks. 14-day money-back guarantee, 1-year bug warranty, Work Made for Hire. I also don't take on more than 2 nonprofit engagements per quarter — not because of capacity but because pro-rata discount means these projects shouldn't crowd out the main practice's revenue model.
Hosting and renewal costs
Most of the 'website cost' nonprofit boards complain about isn't the site — it's the hosting, plugin licenses, and freelance retainers. I move the site to Vercel (free or ~$20/month depending on traffic), drop plugin dependencies, and document ongoing costs clearly so the board can see exactly what the site costs to run. Typical post-launch operating cost for a small-nonprofit site: $20–50/month total (Vercel + CMS + Stripe fees on donations). If you're currently paying an agency $300+/month to 'maintain' a WordPress site, the math usually pays for this rebuild in under 12 months.
Frequently asked questions
The questions prospects ask before they book.
- Do you work with small nonprofits or only large ones?
- Both, but I cap nonprofit engagements at 2 per quarter so smaller orgs actually get capacity. The Starter tier at $2,000 (with 15% nonprofit discount) is designed for budgets that don't have six figures to spend. Larger nonprofits with enterprise CRM and multi-program complexity fit the Business tier.
- Can you integrate with my CRM?
- Yes — Bloomerang, DonorPerfect, Kindful, Salesforce NPSP, HubSpot for Nonprofits are all standard. Integration is donation-record creation via webhook plus optional contact sync. If your CRM is niche, I'll check its API first and let you know if it's feasible before committing.
- Will tax-receipt emails go out automatically?
- Yes. Stripe (or Every.org) webhook fires at the moment of successful donation; email tool (or CRM if it sends) fires a legally compliant tax-receipt email within minutes. The template includes your EIN, 501(c)(3) status confirmation, donation amount, and no-goods-or-services language.
- What happens after launch if something breaks?
- 1-year bug warranty — if something I built stops working in the first 12 months, I fix it at no charge. After that, a light quarterly check-in is usually enough for most small nonprofits. Vercel hosting means no plugins to update, no SSL to renew, no hosting control panel to manage.
- Can volunteers edit the site?
- Yes — the CMS is set up with clear schemas (Pages, Blog Posts, Impact Stories) so a volunteer can add a story or update a program page in 10 minutes. You can grant and revoke CMS access without a developer. I also include a short training doc and a 30-minute handover call.
Ready to start?
Tell me what you need in 60 seconds. Tailored proposal in your inbox within 6 hours.