Skip to content

Repository files navigation

NGO Landing — Free Next.js Template for Nonprofits

A free, open-source landing page template built with Next.js 16 and Tailwind CSS v4 — designed specifically for NGOs, nonprofits, and charities who need a professional website without the agency price tag.

Preview

📸 To add the preview image: save a screenshot of the home page as docs/preview.png and push it to the repo.


Stack

Next.js Tailwind CSS TypeScript License


Features

  • 10 fully designed sections — Hero, Impact Stats, Mission/About, Programs, Testimonials, Team, News, Newsletter, Donate, and FAQ page
  • Mobile-first & fully responsive — looks great on every screen size
  • Accessible — semantic HTML, ARIA labels, keyboard-navigable accordion
  • SEO readymetadataBase, Open Graph, Twitter Card, robots.txt, sitemap.xml, JSON-LD Organization schema, FAQ structured data
  • Custom 404 page — branded, with suggested links
  • Single content file — all text and data in lib/content.ts, no need to touch components
  • Best practices — Next.js App Router, React Server Components, TypeScript, zero any

Pages

Route Description
/ Full landing page (all sections)
/faq FAQ page with accordion + JSON-LD schema
/robots.txt Auto-generated by Next.js
/sitemap.xml Auto-generated by Next.js
/* (404) Branded not-found page

Quick Start

# 1. Clone the repo
git clone https://github.com/santichausis/NGO-Template.git
cd NGO-Template

# 2. Install dependencies
npm install

# 3. Start the dev server
npm run dev

# 4. Open in browser → http://localhost:3000

Customization Guide

Step 1 — Update your content

All text, data, and configuration lives in lib/content.ts. It's the only file you need to touch to personalize the entire site:

Export What to change
siteConfig Organization name, URL, email, phone, address, social links
heroContent Headline, subheadline, CTA buttons, hero image
missionContent About text, values, mission image
impactStats Your real impact numbers
programs Your programs/projects (add or remove cards)
teamMembers Team names, roles, bios, photos
testimonials Real quotes from beneficiaries
newsArticles Latest news/blog posts
footerLinks Footer navigation columns

FAQ content lives separately in lib/faq.ts.

Step 2 — Replace placeholder images

The hero uses an Unsplash placeholder. All other images use picsum.photos. Replace them with your own:

  1. Add images to the /public folder
  2. Update the image field in lib/content.ts to /your-image.jpg

Recommended sizes:

Section Size
Hero 1920×1080px
Program cards 600×400px
Team headshots 400×400px (square)
News thumbnails 800×500px
Testimonial avatars 200×200px

Step 3 — Change the color palette

Open app/globals.css and update the --color-brand-* CSS variables. Use oklch.com to generate a full scale from your brand hex code.

Step 4 — Set your domain

Update siteConfig.url in lib/content.ts with your real domain (no trailing slash). This is used by the SEO metadata, robots.txt, and sitemap.xml.

url: "https://yourorganization.org",

Step 5 — Connect your donation platform

The donate section (components/sections/Donate.tsx) is UI-only. Connect it to a real processor:

Platform Notes
Donorbox Easiest — embed their widget
Give Lively Free for US nonprofits
Stripe Full control, requires dev work
PayPal Giving Fund Simple, widely trusted

Step 6 — Connect your email list

The newsletter form (components/sections/Newsletter.tsx) needs a Server Action. Create app/actions/newsletter.ts and call your email platform's API (Mailchimp, ConvertKit, Beehiiv, etc.).


Project Structure

NGO-Template/
├── app/
│   ├── faq/
│   │   └── page.tsx            # FAQ page with JSON-LD schema
│   ├── icon.svg                # Favicon (replace with your logo)
│   ├── layout.tsx              # Root layout, metadata, JSON-LD org schema
│   ├── not-found.tsx           # Custom 404 page
│   ├── page.tsx                # Home page (assembles all sections)
│   ├── robots.ts               # Generates /robots.txt
│   ├── sitemap.ts              # Generates /sitemap.xml
│   └── globals.css             # Global styles + brand color variables
│
├── components/
│   ├── layout/
│   │   ├── Navbar.tsx          # Sticky navbar, transparent → opaque on scroll
│   │   └── Footer.tsx          # 4-column footer with social icons
│   ├── sections/
│   │   ├── Hero.tsx            # Full-screen hero with image overlay
│   │   ├── Impact.tsx          # Stats grid (dark green background)
│   │   ├── Mission.tsx         # Two-column about + values
│   │   ├── Programs.tsx        # Card grid of programs/projects
│   │   ├── Testimonials.tsx    # Beneficiary quote cards
│   │   ├── Team.tsx            # Team member cards with LinkedIn
│   │   ├── News.tsx            # News/blog article cards
│   │   ├── Newsletter.tsx      # Email capture form
│   │   └── Donate.tsx          # Donation amount selector (monthly/once)
│   └── ui/
│       ├── Button.tsx          # Reusable link/button component
│       ├── FaqAccordion.tsx    # Animated accordion (client component)
│       └── SectionHeader.tsx   # Section label + headline block
│
└── lib/
    ├── content.ts              # ALL site content (edit this to customize)
    └── faq.ts                  # FAQ questions and answers

Extending the Site

The template is a single-page landing, but it's built to grow:

app/
├── programs/[slug]/page.tsx   # Individual program detail pages
├── blog/page.tsx              # Blog listing
├── blog/[slug]/page.tsx       # Blog post
├── about/page.tsx             # Full about page
└── contact/page.tsx           # Contact form

Deployment

One-click deploy on Vercel (free tier works perfectly for NGOs):

Deploy with Vercel

Or build manually:

npm run build   # Build for production
npm start       # Start production server

Contributing

Contributions are welcome! If you add something useful for nonprofits:

  1. Fork the repo
  2. Create a feature branch (git checkout -b feat/my-feature)
  3. Open a Pull Request

License

MIT — free to use, modify, and distribute for any purpose. A credit link is appreciated but not required.


Built with care for the nonprofits doing the hard work. 🌱

About

Free, open-source Next.js landing page template for NGOs and nonprofits. 9 sections, fully responsive, easy to customize.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages