# 12 non-profit transparency checks the Mega Analyzer now runs (when it detects a 501(c)(3))

When the Mega Analyzer detects a 501(c)(3), it now runs twelve donor-trust checks gated on the vertical: EIN visibility, GuideStar links, donation platform freshness, NGO schema, DonateAction, more.

Author: J.A. Watte
Published: May 21, 2026
Source: https://jwatte.com/blog/blog-mega-analyzer-nonprofit-transparency/

---

Most free SEO audit tools treat every site the same. That works for general hygiene, but a non-profit website carries a different set of expectations than a commercial site. Donors specifically look for: EIN, 501(c)(3) status, tax-deductibility language, the ability to verify the org on Candid or Charity Navigator, a clear path to give. Those signals don't appear in any standard SEO checklist, but their absence quietly costs a non-profit its larger gifts.

I added a round to the [Mega Analyzer](/tools/mega-analyzer/) this week that detects when a site is a 501(c)(3) and runs a separate set of donor-trust checks on it. The detection is gated — if you paste a for-profit URL, the non-profit card doesn't render and you only see the standard checks. The detection fires when any one of these signals is present: the literal phrase "501(c)(3)" in the body, an EIN-shaped string (`XX-XXXXXXX`) near the words "EIN" or "Tax ID," `nonprofitStatus` or `taxID` fields in the JSON-LD, `@type: NGO`, `@type: NonprofitOrganization`, `@type: Charity`, or the combination of "tax-deductible" and "donate" both appearing in the body.

If any of those fires, the analyzer adds a non-profit transparency card to the results with these checks.

## EIN visible on the site

Sophisticated donors — anyone making a major gift, anyone vetting on behalf of a corporate foundation — look for the EIN before they donate. When it's not on the site, they have to leave to find it on Candid, and some give up. The IRS publishes every 501(c)(3)'s EIN; there's no reason to hide it. The analyzer scans the page body for an EIN-shaped string and flags absence with a recommended footer line: "EIN XX-XXXXXXX. Donations tax-deductible to the extent allowed by law."

## 501(c)(3) status explicitly stated

The literal phrase. Most non-profits assume the status is obvious from context. To a donor looking at five candidate organizations, the one that puts "501(c)(3) public charity" in the footer is easier to trust than the one that doesn't. The analyzer flags absence of the phrase in body text.

## Tax-deductibility language present

"Donations are tax-deductible to the extent allowed by law." Required by state-level fundraising compliance in many U.S. states. Trust signal for major-gift donors. The analyzer flags absence.

## Candid (formerly GuideStar) profile linked

Every U.S. 501(c)(3) has a public profile on Candid at `candid.org/profile/<EIN>` (or the older `guidestar.org/profile/<EIN>`). Donors doing diligence visit it. Linking to your own profile from the website footer or About page is a transparency signal — it says you have nothing to hide. The analyzer scans anchors and JSON-LD for the Candid profile URL pattern.

## Donate link somewhere on the page

Surprisingly common: the donation flow lives inside a homepage scroll section but has no link in the navigation or footer. Donors landing on a deep page (a program page, a press-release reprint, an event announcement) have to scroll back to the homepage to find the donate option. The analyzer flags absence of an anchor with "donate," "give," "contribute," or "sponsor" in the href.

## NGO or NonprofitOrganization schema @type (not generic Organization)

`Organization` is the parent type; `NGO` and `NonprofitOrganization` are specific subtypes. Google's Knowledge Graph treats the subtypes as more specific entities and is more likely to render a Donate button in the Knowledge Panel when the schema uses one. The analyzer flags when only the generic Organization @type is used on a detected non-profit site.

## nonprofitStatus: NonprofitType501c3

A structured-data field Google uses to identify U.S. 501(c)(3) status. It pairs with the `taxID` field and the Knowledge Graph's understanding of your IRS record. The analyzer flags absence of the `nonprofitStatus` value matching `NonprofitType501c3`.

## taxID (EIN) in the JSON-LD

Same EIN that should appear in the body, but also as a structured-data field. Lets Google cross-reference your IRS record. The analyzer flags absence.

## DonateAction in Organization.potentialAction

The schema convention for "this organization accepts donations." When present, Google's Knowledge Panel can render a Donate button that links directly to your donation page. The analyzer flags absence; the fix is one block:

```json
"potentialAction": {
  "@type": "DonateAction",
  "target": "https://yourdomain.org/donate"
}
```

## Modern donation platform vs only a PayPal hosted button

PayPal hosted buttons (`paypal.com/donate/?hosted_button_id=...`) are functional but dated. They don't capture the donor's email reliably, don't support recurring giving, and don't issue tax receipts automatically. Modern platforms — Donorbox (free tier under $1k/month), Givebutter (free), Give Lively (truly free), Classy (premium), Network for Good — handle all of that and integrate back into PayPal or Stripe as the payment processor.

The analyzer detects the donation processor from anchor hrefs and recommends an upgrade if only a hosted PayPal button is found. If no donation processor at all is detected, it flags that as a higher-severity issue.

## Charity Navigator badge or profile linked

Charity Navigator scores eligible non-profits on a 0-100 scale and issues badges that embed on your site. Even pre-rating, claiming the profile gives partial information control. The analyzer scans for any anchor to `charitynavigator.org/ein/`, `/profile/`, or `/index.cfm`.

## BBB Wise Giving Alliance badge

BBB Wise Giving (the give.org program) accredits non-profits that meet 20 standards across governance, finance, fundraising, and transparency. The Accredited Charity Seal is trusted especially by donors over 50. Free to apply. The analyzer scans for any anchor to `give.org` or `bbb.org/charity`.

## One general check that came out of the same round (R11-18)

Independent of non-profit detection: if a page emits Organization (or NGO, or NonprofitOrganization, or LocalBusiness, or Corporation, or ProfessionalService) JSON-LD without an `@id` field, the analyzer flags it. Without an `@id`, every sub-page's Organization block looks like a separate entity to Google's reconciler — fragmenting your Knowledge Graph anchor. The fix is one line: `"@id": "https://yoursite.org/#org"`. Sub-pages can then reference the canonical Organization via `{"@id": "https://yoursite.org/#org"}` instead of repeating the whole block.

## How to run the checks yourself

Paste any URL into [jwatte.com/tools/mega-analyzer/](https://jwatte.com/tools/mega-analyzer/). If the site is detected as a 501(c)(3), the non-profit transparency card appears between the standard SEO checks and the cross-validation layer. Each check is pass / fail with a one-line explanation and a paste-ready remediation snippet where applicable. The "copy AI fix prompt" button at the bottom of the analyzer page emits a consolidated prompt that includes all the failing non-profit checks plus the regular ones — paste into Claude or ChatGPT to get specific edits for each.

For non-profits, the bigger force-multiplier than fixing the website is applying to Google for Nonprofits ($10,000/month in free Google Ad Grants), the YouTube Nonprofit Program (if you have video content), Microsoft for Nonprofits, and the various trust-seal programs (Candid Platinum, Charity Navigator, BBB Wise Giving). All are gated on a free TechSoup verification using the EIN. None cost anything.

The companion post on the brand and copy hygiene checks shipped in the same week is at [12 brand and copy hygiene checks that should be in your SEO audit](/blog/blog-mega-analyzer-brand-copy-hygiene/). For the deeper context on why Knowledge Graph entity anchors matter — the layer underneath checks like DonateAction and `@id` continuity — see [Your schema validates. Google AI Mode still can't find you](/blog/blog-ai-mode-entity-anchors-knowledge-graph/).

If you run a small organization on a thin budget, the broader argument for keeping the digital stack affordable is in [The $50-a-Month AI Stack for SMB](/blog/blog-50-month-ai-stack-smb/) and in [*The $97 Launch*](https://www.amazon.com/dp/B0DXXXXXXX) — the under-$100 build-your-own-web playbook this whole free-tools site grew out of.

## Fact-check notes and sources

- 501(c)(3) public-charity definition and EIN public-record status: IRS Publication 557, "Tax-Exempt Status for Your Organization." <https://www.irs.gov/publications/p557>.
- Candid (formerly GuideStar) profile URL pattern and free-claim process: <https://learn.candid.org/resources/knowledge-base/how-do-i-claim-my-organizations-guidestar-profile/>.
- `NonprofitOrganization` and `NGO` schema.org type definitions: <https://schema.org/NonprofitOrganization> and <https://schema.org/NGO>.
- `nonprofitStatus` enumeration including `NonprofitType501c3`: <https://schema.org/NonprofitType501c3>.
- `DonateAction` schema and Knowledge Panel Donate-button enablement: <https://schema.org/DonateAction>.
- Google for Nonprofits eligibility (501(c)(3) plus TechSoup verification) and Ad Grants $10,000/month value: <https://www.google.com/nonprofits/eligibility/> and <https://www.google.com/grants/>.
- Charity Navigator rating methodology: <https://www.charitynavigator.org/about-us/our-methodology/>.
- BBB Wise Giving Alliance standards: <https://give.org/charity-landing-page/give-org-charity-accreditation>.
- Mega Analyzer Round 11 source and per-check logic: <https://jwatte.com/tools/mega-analyzer/> — paste a known non-profit URL to trigger the card, then view source for the exact regex patterns.

This post documents Mega Analyzer Round 11. The companion brand-and-copy hygiene round (Round 10) is described in [12 brand and copy hygiene checks that should be in your SEO audit](/blog/blog-mega-analyzer-brand-copy-hygiene/).


---

Canonical HTML: https://jwatte.com/blog/blog-mega-analyzer-nonprofit-transparency/
RSS: https://jwatte.com/feed.xml
JSON Feed: https://jwatte.com/feed.json
Hero image: https://jwatte.com/images/blog-mega-analyzer-nonprofit-transparency.webp
