seo for nonprofits and community organisations
most seo advice assumes you are selling something with a margin on it. it talks about conversion value, customer acquisition cost, and outranking competitors. none of that translates cleanly to a community association running four annual events with a volunteer board, or a health charity publishing a self-management guide.
the goals are different — reach, trust, and being findable at the moment someone needs you — and so is the work. this is what actually matters for a nonprofit, drawn from building and maintaining sites for community and health organisations in the ottawa area.
your audience is searching by problem, not by name
this is the single biggest strategic difference and it changes everything downstream.
a restaurant's customers search for the restaurant. a nonprofit's audience mostly does not know you exist. someone whose parent was just diagnosed searches "how to help someone after a stroke", not the name of the organisation that publishes the best guide on it. a resident searches "stittsville canada day 2026", not the name of the association that runs it.
if all your content is about your organisation — our mission, our board, our history — you are optimised for people who already know you. that is a real audience (funders, members, media) but it is the smallest one.
the practical version: write a page for each problem you solve, not each programme you run. those are often the same content with a different title and opening paragraph, and the difference in findability is large. a page called "youth programmes" is invisible; a page called "free after-school activities in stittsville" is the sentence someone types.
the events problem, which is really a maintenance problem
for community organisations, events are the traffic. they are also where most sites quietly die.
a community site with last year's canada day still on the front page is worse than no site, because residents check it, find stale information, and stop checking. that is a content-freshness problem that google notices and users notice faster.
but the root cause is almost never that nobody cares. it is that updating the site requires someone technical, and in a volunteer organisation that person eventually moves, or steps off the board, and the path is simply blocked. we treat "can a volunteer with no technical background do this in five minutes?" as a hard requirement on community sites — as we did for the stittsville village association — and it is as much an seo decision as an operational one. the most sophisticated technical seo in the world does not survive a site nobody can update.
a few things worth getting right on event pages specifically:
- one permanent url per recurring event, not a new one each year.
/canada-daythat gets updated annually accumulates links and ranking history./canada-day-2026,/canada-day-2025,/canada-day-2024splits it three ways and leaves two dead pages behind. Eventstructured data with dates, location and organiser. this is one of the few schema types with a genuinely visible payoff — google surfaces events directly in search and maps.- do not delete the page after the event. update it to say what happened and when the next one is. deleting it throws away every link it earned.
local seo is disproportionately valuable, and free
if your organisation serves a geographic community, local search is where you will get the most for the least effort. and nearly all of it costs nothing but attention.
a google business profile is available to nonprofits with a physical location or a defined service area, and it feeds the map pack — the three results above the organic listings. complete it properly: accurate name, address and phone matching exactly what is on your site, a specific category, current hours including holidays, and recent photos. organisations that post updates through it tend to do better than those that set it up once.
LocalBusiness or NGO structured data on your site, with a real service area rather than an aspirational one, backs this up. and consistency matters more than people expect — "St." on your site and "Street" in a directory listing is the kind of small mismatch that muddies things.
the full version of this is in local seo for ottawa small businesses; almost all of it applies unchanged to a charity.
accessibility and seo pull in the same direction
this is the happiest overlap in the field, and nonprofits are usually already motivated on the accessibility side.
proper heading hierarchy — one h1, logical h2s and h3s — is what screen readers use to navigate and what google uses to understand structure. descriptive alt text serves both a blind user and image search. link text that says "read the nutrition guide" instead of "click here" helps everyone. captions on video are content google can read. plain language scores better with both a stressed reader and a language model deciding whether your page answers the question.
for one health guide we built, the primary readers are largely older, often on a phone, sometimes managing a condition affecting concentration. every decision that followed from taking that seriously — larger type, short line lengths, plain-language rewriting of clinical material, no reliance on hover — is also, incidentally, good technical seo. more on the general case in website accessibility for small businesses in canada.
if you are a federally regulated organisation or receive certain funding, accessibility is also a compliance question rather than a nice-to-have. that it helps you rank is a bonus, not the argument.
bilingual sites: parity or nothing
many canadian nonprofits publish in english and french, and this is where good intentions produce technical problems.
the failure modes we see most: a language switcher that dumps you on the homepage rather than the equivalent page; a french section that is a partial summary of the english one; and both versions served at the same url with javascript swapping the text, which means google only ever sees one of them.
what to do instead:
- distinct urls per language —
/fr/nutritionand/nutrition, server-rendered, each independently crawlable hreflangannotations on both, each pointing at the other and at itself, so google knows they are alternates rather than duplicates- a per-page canonical in its own language, not pointing at the english version
- real parity of content. a thin french mirror is a thin page, and google evaluates it as one
done properly this roughly doubles the queries you can appear for. done as a partial translation it produces a set of low-quality duplicates and helps nobody.
what to ignore
nonprofits get sold a lot. some things worth declining:
"guaranteed page one" packages. google does not sell placement, so nobody can guarantee it. this is worth being blunt about because charities are targeted with this pitch constantly.
paid directory listings. the free, relevant ones — 211, volunteer matching platforms, sector associations, your municipality's community directory — are worth the twenty minutes each. paying for a listing in a directory nobody reads buys you nothing; that link economy stopped working over a decade ago.
publishing more, faster. two thin posts a month is worse than one substantial page a quarter. for most community organisations the highest-value writing is not a blog at all — it is making the four pages you already have (programmes, events, how to get help, how to volunteer) genuinely complete.
chasing keywords you cannot win. a local food bank is not going to outrank national organisations for "food insecurity". it can absolutely own "food bank stittsville hours" and every variation of it, and that is the query that actually helps someone.
google ad grants, and the honest caveat
google offers eligible registered charities up to $10,000 usd per month in search advertising through the ad grants programme. it is real, it is substantial, and if you are eligible and not using it that is the highest-value item on your list.
the caveat: grant accounts carry requirements — an active account, relevant keywords, and a click-through rate floor that gets accounts suspended when ignored. it is not free money that spends itself, and it needs someone to look at it monthly. it also does not replace organic search, because grant traffic stops the day the account lapses while a page that ranks keeps working. on the general trade-off between the two, google ads vs seo for small businesses applies to charities with the arithmetic changed.
the technical floor
none of the above matters if google cannot crawl the site. the checks are the same as for any site and they are quick:
- is a sitemap submitted to search console — not merely served at
/sitemap.xml? these are different things, and we caught ourselves failing it - does every url in that sitemap return a real page? a url returning http 200 with "not found" on it is a soft 404, and we shipped twenty-four of them
- does every page declare one canonical, in the head, on the host google actually uses?
- is there a
noindexleft on anything from a staging build?
set up search console first — it is free, it is the only authoritative view of what google thinks of you, and how to actually read google search console covers the parts that mislead people. if your site is on next.js, technical seo for next.js app router sites has the framework-specific traps.
a realistic order of work
- claim and complete the google business profile
- set up search console as a domain property and submit the sitemap
- fix anything in the coverage report that is a bug rather than a judgement
- give each programme a page named after the problem it solves
- put one permanent url per recurring event, with
Eventschema - make sure a volunteer can update all of it without asking anyone
- apply for ad grants if you are eligible
that is months of work at volunteer pace, and it is in priority order for a reason — the first three are cheap and unlock the ability to measure anything at all.
we build and maintain sites for ottawa community organisations and charities, and technical seo is part of that rather than an upsell. see what our seo work covers, or read what actually matters for nonprofit websites in ottawa.