Nonprofits can improve their search visibility without buying an SEO subscription. Start with the pages that help people receive a service, volunteer or support your work. Use Google Search Console to identify discovery problems and existing search queries, then correct the content and journeys those visitors actually need.
These 29 nonprofit SEO tasks use a browser, a spreadsheet, your existing website editor and free Google tools. “Without paid tools” refers to software subscriptions: staff time, hosting and any restrictions in your current website plan still matter. You need permission to edit the site, and some checks require verified Search Console access.
Choose a small set of priority pages rather than trying to fix everything at once:
| Situation | Start here | Useful evidence |
|---|---|---|
| A public program page cannot be found | Tasks 7–10 | URL Inspection result and any access restriction |
| Visitors reach the wrong or outdated information | Tasks 3–6 and 19–23 | Search query, intended audience and corrected page |
| People struggle to take the next step | Tasks 13–15 and 25–26 | Source URL, observed obstacle and successful recheck |
The examples below are illustrative. They are not results from a nonprofit campaign we ran. No checklist can guarantee indexing, rankings or donations; the aim is a useful website and a record of improvements you can verify.
1. Secure organization-owned Search Console access
Google Search Console is free. It shows how your website appears in Google Search and helps investigate indexing problems. Paying for an SEO platform is not a prerequisite.
Check whether your nonprofit already has a verified property before creating another one. Ask the person responsible for the website to grant appropriate access to an organization-controlled Google account. Keep a record of who manages access so a departing volunteer does not become the only person able to administer it.
Verification methods depend on the property type; a Domain property requires DNS verification. Have the authorized domain administrator handle that step.
Finish with a working property, a named access owner and a handover note. Do not put passwords, verification tokens or donor information in the SEO tracker.
2. Inventory the pages that matter to your mission
Make a spreadsheet of the pages you would be disappointed to lose: the homepage, active programs, service locations, volunteer opportunities, donation information, current events and useful reports.
For each URL, record its audience, intended next step, content owner and whether it should be public in search. A public “how to get help” page and a private application record have very different requirements.
Start with your CMS page list, navigation and sitemap. This is a practical inventory, not proof that you found every page. Label any missing coverage instead of calling a partial list a complete audit.
A small organization might begin with its ten most important pages. That is a manageable working sample, not a Google rule. Our content audit guide explains how to expand the inventory when the site needs a broader review.
3. Separate service, volunteer and donor searches
A person seeking food assistance is not asking the same question as someone offering to volunteer. Sending both visitors to a generic mission page makes each work harder.
Write down the questions your team actually receives, using anonymized themes rather than private messages or case details. An illustrative audience map might look like this:
| Audience | Question | Suitable destination |
|---|---|---|
| Service recipient | Where can I collect food this week? | Current service and access information |
| Volunteer | Can I help on Saturday mornings? | Open roles and commitment requirements |
| Supporter | What will my donation support? | Donation information and evidence of the work |
Use these distinctions to choose page priorities. Do not turn every question into a separate article: several related questions may belong on one useful page. Google's people-first content guidance supports helping an intended audience rather than publishing primarily for search traffic.
4. Find existing query evidence in Search Console
Open the Search results performance report, choose a date range and review Queries and Pages. Filter to one priority URL to see which reported searches are associated with it. Keep the country, device and search type visible in your notes.
Look for useful mismatches: a service page appearing for volunteer questions, or an old campaign attracting searches about a current program. Record the query, landing page and likely correction before rewriting anything.
These are your site's observed impressions and clicks, not the total search volume for a keyword. Google's report documentation also explains data limits and anonymized queries. An absent query does not prove nobody searches for it.
If the site has no usable data yet, say so. Use the audience questions from task 3 as hypotheses; do not replace missing evidence with invented estimates.
5. Read search results before choosing a page format
Search a small set of relevant phrases in the language and market you serve. Inspect the actual pages that appear, rather than copying their titles or treating the first result as a permanent ranking.
For example, results for “food assistance in [city]” may emphasize locations, opening times and eligibility. A long opinion article would not necessarily serve that need. A query about organizing a community food drive may require instructions instead.
Record the date, location context, query and dominant page types. Note which practical questions remain unanswered. This is a qualitative intent check, not proof of search volume or a reason to reproduce another organization's content.
Choose the format your team can support with accurate information. If you cannot maintain current opening times, assign an owner before creating a new service directory.
6. Assign each important query to one useful destination
Add a primary question or closely related query group to each page in your inventory. This is a planning map, not a rule that a page may rank for only one keyword.
An example row could be: “Saturday food-bank volunteering → /volunteer/ → explain open shifts and application steps.” If that page already exists, improve it before launching a second version with nearly the same purpose.
When two pages appear to overlap, read both. Different programs, locations or audiences can justify separate pages. Similar wording alone does not prove a duplicate-content problem.
Reserve consolidation for pages that genuinely serve the same job, and preserve useful details before retiring one. Task 11 covers duplicate URL versions; this task decides which content destination should answer the reader's question.
7. Inspect whether priority URLs are indexed
Use URL Inspection for an important public page. Record Google's indexed status, any reported restriction, the selected canonical and the last crawl information when available.
Then use the live test when you need to check the current page. The indexed record describes Google's stored information; a live test checks the URL now. Neither a successful live test nor an indexing request guarantees inclusion in search results.
Prioritize pages that people need today: an active service, an open volunteer role or current donation information. Investigate the stated reason for exclusion instead of repeatedly requesting indexing.
Your completion evidence is the inspection result and the action it supports. A manually searched brand name or a missing result from one search is not a complete indexing diagnosis.
8. Remove accidental noindex from public program pages
A site can remain hidden after launch because a staging or “discourage search engines” setting was left enabled. Check the affected public page's CMS settings and the evidence shown in URL Inspection.
Remove an unintended noindex only after confirming that the page should be publicly discoverable. Keep private applications, donor records and other sensitive information behind appropriate access controls. A thank-you page also does not automatically need to appear in search.
Google must be able to crawl a page to see its noindex instruction. Blocking the same URL in robots.txt can prevent that instruction being read.
After the correction, verify the actual public response or ask the site administrator to do so. A changed checkbox in the editor is not enough if a template or HTTP header still supplies noindex.
9. Check robots rules before changing crawl access
Open your site's robots.txt file, usually at the root URL, and check whether it blocks a section containing public program pages. If the rules are unfamiliar, record the affected path and ask the person maintaining the site to review them.
Do not delete the whole file because one page is missing. A rule can serve a legitimate purpose, and broad changes can expose crawl paths you did not intend to prioritize.
Google's robots.txt introduction explains an important limitation: blocking crawling is not a reliable way to keep a URL out of search. Robots rules also do not secure confidential information.
Finish with a specific finding, such as “the public /programs/ section is blocked,” and a targeted recheck after an authorized correction. Keep this crawl-access decision separate from task 8's indexing instruction.
10. Submit a clean sitemap of intended public pages
Find the sitemap generated by your current CMS. Open it and check a few important URLs: are they the live, preferred versions, and do they include active programs rather than only old blog posts?
Submit the sitemap in Search Console when you have access. Investigate reported fetching problems and compare its contents with the priority inventory. Do not publish sensitive records in a sitemap.
A sitemap helps Google discover URLs; it does not guarantee that every listed page will be crawled or indexed. Small, well-linked sites may already be discoverable without one.
Record the sitemap address, submission result and any missing public priority page. You usually need to correct the CMS's sitemap output rather than maintaining a second, conflicting manual list.
11. Resolve duplicate URL and canonical conflicts
The same page may be accessible through several URL versions, such as an old HTTP address, a preferred HTTPS address or a tracking-parameter variant. Check whether links, sitemaps and the page's canonical declaration consistently favor the intended version.
Google's canonical guidance concerns duplicate or very similar versions. Do not point every program page's canonical to the homepage, or combine distinct service locations merely because their layouts match.
In URL Inspection, compare your declared canonical with Google's selected canonical when that information is available. They may differ; the declaration is a signal rather than an instruction Google must follow.
Document the affected variants and preferred URL. Ask the site administrator to resolve conflicting template settings, then verify the rendered page and relevant links.
12. Repair redirects after program or site changes
Keep an old-to-new URL map when a program changes name, a campaign moves or the website is rebuilt. Open an old address and confirm it reaches the intended replacement without a loop or unrelated detour.
For a permanent move, use a supported permanent redirect, commonly HTTP 301 or 308. Your current CMS or host may provide this setting; if it does not, give the administrator the exact mapping instead of buying a tool just to identify the problem.
A discontinued program does not automatically have a suitable replacement. Do not redirect every retired page to Donate or the homepage. Preserve a useful explanation or return an appropriate removal response when there is no equivalent destination.
Also update links you control to the final address, so visitors do not depend on an avoidable redirect.
13. Fix broken links on high-value journeys
Start from the pages people use to get help, volunteer or donate. Follow the important links, including downloads, booking pages and external forms. Record both the page containing the link and the destination that fails.
A useful repair ticket says: “The registration link in the second paragraph of /volunteer/ opens a missing form.” A bare list of error URLs leaves the editor hunting for the place to make the correction.
Replace the link with the correct current destination, remove an obsolete promise or explain that the opportunity has closed. Then repeat the same journey.
This manual sample cannot certify every link on a large website. Mark the pages checked and the date. The goal is to repair meaningful failures first, not to report an unexplained sitewide error count.
14. Make mission-critical pages easy to find
Review the main menu and the routes from your homepage. Can someone quickly identify where to get help, find an open volunteer role or understand your work?
Use labels that describe the destination. An internal campaign name such as “Project Horizon” may mean little to a newcomer; “Youth mentoring” can be clearer when that is what the page actually offers.
Check that important destinations are ordinary working links. Google recommends crawlable links with descriptive anchor text, not navigation that relies on a visitor guessing an unlabeled control.
There is no universal rule that every page must be exactly three clicks from the homepage. Concentrate on the journeys your organization needs to support, and record where a visitor would get lost. Menu clarity is a different job from adding links inside articles.
15. Add contextual links from related stories
A story about a successful tutoring program can help a reader understand the work. It can also lead naturally to current enrollment information, volunteer requirements or the program's support page.
Read a few relevant stories and add the next step at the point where it makes sense. For example: “See the current tutoring volunteer roles and time commitments” is more useful than a repeated “click here.”
Choose the destination that answers the immediate question. Do not send a parent seeking enrollment information to a donation form simply because fundraising is an organizational priority.
Our internal linking guide covers common mistakes. For this task, keep a short record of the source story, anchor and target URL, then verify the link. Adding more links is not an independent success metric.
16. Write specific page titles instead of campaign slogans
Review the title field of each priority page. It should distinguish that page's subject and help a searcher decide whether the result answers their question.
For an illustrative food-assistance page, “Together We Can” gives little context. “Food Assistance in Dayton | Example Community Pantry” explains the service, location and organization. Use only facts that are true for your page.
Keep titles concise and avoid repeating the same keyword or slogan across the entire site. A meaningful title is more useful than filling a rigid character allowance.
Google may generate a different title link from the page's visible content and other sources. Check that the main heading and content agree with the title, rather than assuming your saved wording will always appear unchanged in search.
17. Give priority pages accurate meta descriptions
Write a short, distinct summary for pages people need to recognize in search. Describe what the visitor can do or learn, without adding conditions or benefits that the page does not support.
An illustrative volunteer description could be: “Explore current food-pantry volunteer roles, shift options and application steps. Check requirements before choosing an opportunity.”
Do not promise immediate placement when applications require review, or free services when fees actually apply. The summary should match the visible page.
Google sometimes uses a meta description, but can choose other page text for its snippet. There is no universal fixed character limit that guarantees display. Prioritize accuracy and readability over a colored length indicator in the editor, and keep a copy of the previous description when evaluating a change.
18. Use headings that explain the page
Read only the headings on a program page. Could a newcomer understand its purpose, who it helps and what to do next?
Replace vague headings such as “Our Approach” when a specific heading would answer a real question. “Who can apply for the mentoring program?” and “Where sessions take place” can make a page easier to navigate.
Use the editor's actual heading controls instead of making a paragraph large and bold. Arrange subheadings logically beneath the main subject, without forcing the same phrase into every line.
Do not treat a particular H1 count as a guaranteed ranking penalty or fix. The practical check is whether the visible heading structure accurately describes the content and helps people find the information. Keep the title, main heading and page purpose consistent.
19. Answer practical questions on each service page
Choose one active program and ask its owner to check the facts a potential participant needs. Depending on the service, these may include who it is for, the area served, opening times, costs, access arrangements and how to ask a question.
Put the essential information on the page, rather than hiding everything in a brochure or requiring a phone call for basic details. Explain any application process in plain language.
For example, a food-assistance page should distinguish collection hours from office hours and say whether an appointment is required. Confirm those details with the actual service team before publishing.
Name a person or role responsible for updates. Do not add sensitive case histories to make the page appear more authoritative, or lengthen a complete answer simply to reach a word-count target.
20. Make volunteer opportunities concrete and current
A visitor searching for volunteer work needs more than “join our amazing team.” Explain the role, where it happens, typical commitment, available times, relevant requirements and the application process.
Distinguish an open opportunity from a general expression-of-interest list. If a role is full, say so and offer a relevant next step rather than leaving an outdated application promise in search.
Have the volunteer coordinator verify the information. Avoid inventing age limits, screening requirements or training arrangements to fill gaps in the page.
A useful completion record could say: “Saturday warehouse role updated with the actual location, shift times, application contact and current availability.” This is a separate audience and maintenance responsibility from the service-recipient page in task 19.
21. Check the donation landing page and external handoff
Review the public page explaining how to support your work. Does it identify the organization, explain what the contribution supports and lead to the intended donation service?
Follow the donation link far enough to confirm the correct destination and a secure connection. Check that the organization name and any selected campaign still make sense after the handoff. This check does not require submitting a real payment or entering personal donor information.
Keep public explanatory content separate from private account records and transaction pages. Do not index every checkout or confirmation URL because a checklist says donation pages should be searchable.
Search Console records search activity to your website; it does not establish completed donations on a separate host. Treat donation measurement as a separate, authorized analytics task rather than reporting every donation-button click as a gift.
22. Update event pages when dates or plans change
Review pages for fundraisers, workshops and community events. Confirm the date, time zone, venue, booking link and current status with the organizer.
If an event is canceled or rescheduled, explain that prominently. Where your site already uses Event structured data, ask its maintainer to update the markup consistently with Google's event guidance. Markup must reflect the actual event; it does not guarantee a special search appearance.
An old event page may still be useful as an archive. Label it clearly as a past event and link to a genuinely relevant current event when one exists. Do not silently replace last year's details with this year's unrelated event just to preserve a URL.
The result should let someone distinguish “attend now,” “rescheduled” and “past event” without guessing.
23. Give useful reports an accessible HTML introduction
If an impact report exists only as a PDF download, add a normal web page that explains what it covers. Include the reporting period, principal findings, how figures were produced and a descriptive link to the full report.
For an illustrative annual food-distribution report, distinguish households served from individual visits. Explain the date range and any counting limitations instead of presenting the biggest available number without context.
The HTML introduction should be useful on its own, not a teaser that withholds every answer. Link it from the relevant program and accountability pages.
This is not a claim that PDFs cannot rank or must all be converted. It is a way to make important evidence easier to read, understand and reference. Check that the downloadable file contains only information approved for public release.
24. Write image alternatives that fit their purpose
Check important images in your editor, especially images that carry instructions, dates or links. A useful alternative explains the image's meaning or function in that context.
For a photograph illustrating a volunteer role, “Volunteers packing food parcels at the distribution table” may be appropriate when it accurately describes the image. Do not identify beneficiaries or add personal details merely for SEO.
The W3C alt decision tree distinguishes informative, functional and decorative images. A purely decorative image can need empty alt text; an image that is the only content of a link should communicate the destination or action.
Google's image guidance also discourages keyword stuffing. Do not paste the same cause-and-city phrase into every image field. Put essential event details in actual page text, not only in a poster.
25. Check mobile and keyboard access to the next step
Open a priority page on a phone and try the intended journey. Can you read the service details, dismiss an overlay and find the registration or donation link without horizontal scrolling or a hidden button?
On a computer, use the keyboard to move through the same controls. Note whether the focus is visible and whether form fields have understandable labels and error messages. Do not submit a real application or donation solely to perform this check.
Record the device, page, obstacle and exact point where the journey fails. Send a screenshot without personal information if the editor needs one.
A successful short walkthrough is not an accessibility certification or a complete audit. It can still uncover an immediate barrier that an overall SEO score would not explain.
26. Use PageSpeed Insights to choose one performance repair
Run an important public page through PageSpeed Insights and examine the mobile report. Start with a specific bottleneck, such as an unnecessarily large hero image or an embedded widget delaying the main content.
The report separates laboratory diagnostics from real-user field data. Google's explanation describes field data as a trailing 28-day view; low-traffic pages may not have enough data. Missing field data is not a pass or a failure.
Choose one feasible repair using the tools already available in your CMS, then rerun under comparable conditions. Record what changed and which metric or diagnostic you checked.
Do not spend a week chasing a perfect score while a service page remains inaccessible. A better laboratory score is not proof of better rankings, and field results will not instantly reflect today's edit.
27. Maintain a Business Profile only when eligible
Nonprofit status alone does not make an organization eligible for a Google Business Profile. Check Google's representation guidelines, including whether the organization has eligible in-person contact with people it serves.
If the organization qualifies, maintain its real name, appropriate category, contact information, public hours and website link. Distinguish office hours from the times a particular service is available.
Do not create a listing for a virtual address or publish a confidential service location simply to pursue Maps visibility. An online-only organization should not manufacture a storefront.
For eligible organizations, our local SEO website guide explains how the linked service or location page can help visitors. Profile activity and organic website search are different surfaces, so keep their measurements separate.
28. Earn relevant references through existing relationships
Review real partnerships: a community center hosting your workshop, a volunteer network listing opportunities or a local publication covering your work. Check whether their existing pages could use accurate, current information from you.
Offer a specific destination and a reader benefit. An illustrative message is: “Your community resources page lists food assistance. Our updated page explains collection times, access requirements and the contact route. Would it be useful for your readers?”
Let the publisher decide whether to include the reference. Do not demand a particular keyword anchor, buy ranking-credit links or arrange unrelated exchanges.
Useful resources and accurate program information give someone a reason to link. Our local link building guide explains how to evaluate that fit. Record the source page and verify any published link rather than counting an outreach email as a placement.
29. Review matched periods and record the next action
Return to the priority pages in Search Console on a regular schedule. Compare similar periods with the same page, country, device and search-type filters. Note school terms, major appeals, seasonal services and other context that could change interest.
Review clicks and impressions alongside whether the page still answers the intended question. Average position is an aggregate, not a permanent rank for every visitor. Our Search Console interpretation guide explains that distinction.
Record the date of a meaningful edit, the evidence reviewed and the next action. Avoid attributing every increase to your latest title change.
Keep completed donations, applications and volunteer placements separate from search clicks unless appropriate measurement connects them. A useful monthly review ends with a decision, such as correcting outdated hours, improving an already-visible page or leaving an accurate page alone.
Turn the checklist into a small work queue
Copy this CSV into your existing spreadsheet. Replace the example addresses and observations with your own evidence; the rows are illustrative, not findings from a real organization.
priority,source_url,audience,issue,evidence,owner,next_action,recheck_date,status
High,https://example.org/get-help/,Service recipient,Public page has unintended noindex,URL Inspection result,Website editor,Correct public-page indexing setting,YYYY-MM-DD,Open
High,https://example.org/volunteer/,Volunteer,Application link opens missing form,Source paragraph and destination URL,Volunteer coordinator,Replace link and verify destination,YYYY-MM-DD,Open
Normal,https://example.org/impact/,Supporter,Report period unclear,Visible report introduction,Communications lead,Add verified reporting dates and method,YYYY-MM-DD,Open
Work on a few items at a time. A blocked active-service page or broken application route usually deserves attention before a cosmetic description change. This is a practical prioritization judgment, not a universal SEO scoring formula.
For each item, keep the affected URL, observation, responsible person and the recheck result. “Done” should mean the intended correction is visible and verified, not merely that someone changed a CMS field. Record what remains unavailable when access, data or your current platform prevents completion.
These nonprofit SEO tasks are most useful as ongoing maintenance around real programs. Choose the next action that helps the right person reach accurate information, then keep the evidence small enough for the next staff member or volunteer to understand.