AI Visibility Audit for a Nonprofit

TL;DR

  • Site: FamilyCaregiversOnline.net, a free, ad-free, publicly funded resource for family caregivers, built on Divi
  • Starting AI Visibility Score: 65/100
  • Ending AI Visibility Score: 91/100
  • What changed: no llms.txt or llms-full.txt, no AI usage signals in robots.txt, a duplicated headline, missing Twitter/X cards, no markdown version for AI agents, and a caching hiccup quietly holding the score down at the finish line
  • Time to fix: one focused audit, worked through page by page and setting by setting

The website Family Caregivers Online exists for one reason: to make sure the people quietly caring for a parent, a spouse, a sibling (while also working, raising their own kids, running their own lives) have somewhere free and trustworthy to turn. No ads. No upsells. Just a publicly funded website doing exactly what caregivers do for everyone else: showing up, consistently, asking nothing in return.

This website is doing good, important work for its community. It just hadn’t had anyone check its own vitals in some time.

The AI Visibility Audit for a Nonprofit

I ran this AI Visibility audit for my client’s nonprofit website to see if tools like ChatGPT, Claude, and Perplexity can actually find the site, read it, understand what it offers, and confidently point someone toward it. Starting score: 65 out of 100. Not neglected. Just under-cared-for in the specific ways that don’t show up unless you go looking.

Here’s what the assessment turned up:

  • No care plan on file.
    No llms.txt or llms-full.txt, the files that tell AI tools what a site is, who it’s for, and where to find its resources. Without them, AI tools were left guessing at a site whose whole purpose is to not make people guess.
  • No documented consent for AI visits.
    The robots.txt file had no Content Signals: the emerging standard that tells AI crawlers explicitly whether they’re welcome to use a site’s content for search and citation versus training. Silence isn’t the same as an answer.
  • A confused intake form.
    Two H1 headings competing on the homepage, a leftover of a Divi responsive design pattern, where a desktop hero and a mobile hero had both been marked as the page’s primary headline. Harmless to a human visitor. Confusing to a crawler trying to figure out what the page is actually about.
  • No way to properly introduce itself.
    Twitter/X Card tags were missing, so when the site’s resources got shared on social media, there was no proper preview card, just a bare link doing none of the work of explaining what someone was about to click into.
  • No easy-read version for visitors who need one.
    No markdown delivery for AI agents, meaning AI tools had to wade through full page HTML to read an article instead of getting a clean, direct version of the content.

None of this was visible to a family caregiver landing on the homepage at midnight looking for help. All of it mattered to whether an AI tool would ever reliably find and recommend this site to the person who needed it.

The Care Plan

Here’s what actually got treated, one item at a time:

  • Wrote the care plan.
    Generated llms.txt (a structural index of the site’s core pages) and llms-full.txt (an expanded reference with mission, funders, and program details), so AI tools reading the site now get an intentional summary instead of having to piece one together themselves.
  • Documented consent for AI visits.  
    Added Content Signals to robots.txt (search=yes, ai-input=yes, ai-train=no), explicitly welcoming AI tools to read and cite the site’s content for real-time answers, while opting out of it being used to train foundation models.
  • Resolved the intake mix-up.
    Traced the duplicate H1 to Divi’s separate desktop and mobile hero blocks and brought the mobile heading down to an H2 in the Divi Builder, so the page has one clear, unambiguous headline again.
  • Enabled the introduction card.
    Turned on Twitter/X Card output in Yoast’s social sharing settings and set explicit Twitter title and description fields on the homepage, since Yoast quietly skips writing those tags when they’d just duplicate the Open Graph ones.
  • Added the easy-read version.
    Enabled VigIA’s built-in Markdown-for-Agents feature across posts and pages, so any AI tool that wants a clean, direct version of an article (instead of full page HTML) can request one automatically.
  • Caught a filing error along the way.
    Both new AI files initially displayed with garbled special characters (em dashes and accented letters turning into gibberish) because the server wasn’t declaring a character set. Fixed it by adding a UTF-8 byte-order-mark directly to the files, so they’d render correctly no matter what the server did or didn’t announce.
  • Checked vitals on the way out.
    Homepage response time briefly spiked to over a full second right after all the changes went in, a caching side effect of the edits, not a real problem. A cache purge brought it back down to 33 milliseconds.

The AI Visibility Audit for a Nonprofit Results

Score progression over the audit:

  • Initial audit ……………………………………………… 65/100
  • After llms.txt, llms-full.txt, and Content Signals …… 82/100
  • After Twitter Cards, the duplicate H1 fix, and Markdown for Agents … 86/100 (masked by a temporary caching hiccup)
  • Final, after clearing the cache …………………………… 91/100 (A+)

AI visibility audit for a nonprofit

Before and after, by category: 

CategoryBeforeAfter
Access and AI discovery20/3737/37
Structured data and semantic context18/2521/25
Content structure and readability13/2015/20
AI interaction and distribution4/88/8
Access performance10/10 10/10

Same site, same content. No redesign. Just the kind of check-in this site has been giving to family caregivers all along, finally turned around and pointed at itself.

What I Learned

There’s nothing exotic about what was wrong here. It’s the ordinary, invisible residue of a site whose entire team has always been focused outward, on the caregivers who need it, rather than on the site’s own technical upkeep. That’s not a failure. It’s just what happens when an organization’s whole reason for existing is taking care of other people first.

It’s also exactly the blind spot an AI visibility audit is built to catch. If your organization’s website has been quietly doing good work for a while without anyone checking whether AI tools can actually find and recommend it, that’s the same nagging feeling I hear from a lot of clients, nonprofits especially, where there’s rarely time or budget for this specific kind of maintenance.

Book a free strategy session and let’s run an AI Visibility Audit on your site. Even the sites that take care of everyone else deserve a little care of their own.


AI Visibility Score Reference 

What a Competitive Analysis Told Us Before We Launched

Notebook with wooden SWOT letter tiles surrounded by handwritten Strength, Weakness, Opportunity, and Threat labels, next to the Strategic Online Solutions logo and blog title "What a Competitive Analysis Told Us Before We Launched"

TL;DR

  • Client: Lynn Busch — an established Marriage and Family Therapist in Fort Worth, now rebranding as a marriage coach and launching a new flagship service: 2–3 day intensives for high-achieving couples
  • What we did: A full competitive landscape review of three direct competitors, followed by a SWOT analysis, before writing a single word of launch marketing
  • What we found: The “compressed intensive” format isn’t blue ocean — one competitor already owns it. But the combination Lynn can bring to it — deep clinical tenure, a blunt no-fluff voice, an explicit high-achiever niche, and a gender-inclusive audience — is a combination no competitor currently holds
  • What changed: We now have a positioning statement and a ranked list of whitespace opportunities to build the intensive launch campaign around, instead of guessing at what makes Lynn different

Why We Conducted Competitor Research….Before Writing A Word Of Marketing Copy

Lynn Busch has been my client for years. She recently made the decision to shift her practice — moving from traditional marriage counseling into marriage coaching, and building a new flagship offer around it: 2–3 day intensives for “marriages in crisis” who want fast, effective results instead of months of weekly sessions.

We didn’t start with marketing copy. We started with an AI visibility audit and got her foundation in shape so she could actually be found. Then we built out what the intensives would include. Only after that did we sit down and ask the question that should come before you write a single headline: who else is already selling something like this, and where does Lynn actually stand apart?

That’s what a competitive analysis and SWOT analysis are for. A SWOT — Strengths, Weaknesses, Opportunities, Threats — is a standard business-strategy framework for mapping what’s true internally (strengths and weaknesses) against what’s true in the outside market (opportunities and threats). It’s not a formality here — it’s a filter. It tells you which claims are actually true, which ones are already taken, and which ones are sitting there unclaimed.

What We Looked At

We identified three direct competitors in the marriage coaching space and compared them across the dimensions that actually matter to a prospect trying to choose between them: practitioner credentials, target niche, delivery format, pricing transparency, content and acquisition strategy, brand voice, scale claims, and — critically — whether they already offer anything like a multi-day intensive.

The short version of what we found across the category as a whole:

  • Every competitor leads with founder story and testimonials as their primary proof — none publish independently verified outcome data.
  • Every competitor claims national or remote reach — geography isn’t a differentiator for anyone anymore.
  • Nobody has a visible technology layer — no assessments, dashboards, or structured between-session tools on any competitor’s site.
  • One competitor already offers a multi-day intensive format, and markets it explicitly to “busy executives.” So the format itself isn’t the differentiator — how Lynn frames it has to be.

That last point mattered the most. It would have been easy to market “the intensive” as a novel idea. It isn’t. The real opportunity was somewhere else.

Where the Real Whitespace Is

Once we mapped all three competitors against each other, a pattern showed up: each competitor’s biggest strength is also, structurally, its biggest limitation.

  • Competitor A has built a genuine media business around a high-achiever niche — but restricts it to men only, and two of three of their practitioners aren’t licensed clinicians.
  • Competitor B has the deepest tenure and the largest scale claim in the category — but no niche at all, and a delivery format (phone-only, no video) that reads as dated next to everyone else.
  • Competitor C has a large staff and full pricing transparency — but is a generalist clinic with no specific niche, competing on breadth instead of focus.

None of these are accidents or oversights. Each business made a deliberate trade-off to build the brand it has. That’s exactly why the gap is stable — closing it would mean a competitor tearing down years of their own brand equity. Which means the opening isn’t going anywhere.

That opening is this: nobody in the category combines deep clinical tenure, a blunt/tactical voice, an explicit high-achiever niche, and a gender-inclusive audience. Lynn can hold all four at once. No one else reviewed can.

We ranked the resulting opportunities by strategic value, from strongest to weakest:

  1. The tenure + tactical voice + high-achiever niche + gender-inclusive combination — the strongest, least contestable position available
  2. Executive intensives, positioned on niche rather than format novelty — real demand, and most of the category still doesn’t compete here
  3. The dual-career executive couple segment — no competitor reviewed markets to this group directly, and it’s a growing one
  4. AI-native discoverability — none of the three show any content built for AI answer engines to cite, which is a compounding advantage the earlier you claim it
  5. A hybrid or async engagement model — real whitespace, but the easiest for a competitor to copy once someone proves it works, so it’s the weakest of the four on its own

The Positioning Statement That Came Out of It

Every piece of this fed into a single sentence we can now build the entire intensive launch around:

For high-achieving professionals whose marriages are in crisis and want quick and effective results instead of open-ended therapy. Lynn Busch is a marriage coach who has seen it all with 40+ years of clinical training and practice behind her, she offers straight-forward, tactical strategy without the restrictions, the funnel-driven marketing, or the one-size-fits-all approach that limit today’s leading competitors.

That statement only stakes a claim on ground nobody else in the category currently holds. It doesn’t compete on scale, on price transparency, or on being first to market with a multi-day format — because we already confirmed none of those are winnable claims for Lynn to make. It competes on the one combination that is winnable.

What’s Next for Lynn’s Marketing? 

With the competitive landscape mapped and the positioning locked, the next phase is building the actual launch campaign for the intensives — messaging, page content, and outreach built directly around this positioning statement, instead of marketing copy written in a vacuum and hoping it lands.

If you’re about to launch a new offer and haven’t yet asked who else is already selling something like it, that’s the step to take before you write a single word of marketing copy. It’s a lot cheaper to find out where you actually stand out before launch than after.

I Gave a Client’s Website an AI Visibility “Check-Up” (and the Diagnosis Wasn’t Pretty)

Illustration of a computer character with a thermometer and ice pack labeled "before," next to a healthy computer screen with a speech bubble and person icon labeled "after," representing an AI visibility audit checkup.

TL;DR

  • Site: LynnBusch.com — originally built in 2010, redesigned at least five times
  • Starting AI Visibility Score: 48/100 — Grade D
  • Ending AI Visibility Score: 90/100 — Grade A
  • What changed: missing schema, no way for AI tools to read the site, a duplicated headline, no FAQ content marked up for AI, and a server response time too slow to make Google (and ChatGPT) wait around.
  • Time to fix: one focused audit, worked through page by page and setting by setting

I Gave a Client’s Website an AI Visibility “Check-Up” (and the Diagnosis Wasn’t Pretty)

Lynn Busch is a Marriage Coach in Fort Worth. Her whole practice is built on noticing what’s actually going on underneath the surface — the pattern nobody named out loud, the thing a couple has been avoiding for years. So when I ran an AI visibility audit on her website, I liked the symmetry: I was doing for her site exactly what she does in her office. Looking past what looks fine on the surface to find what’s actually going on underneath.

What I found was a website that looked professional and put-together — and was, underneath, almost invisible to the AI tools that are increasingly how people find a therapist in the first place.

The AI Visibility “Exam”

If a client’s website were a patient, this is the medical intake exam I ran: could AI tools like ChatGPT, Claude, and Perplexity actually find the site, read it, understand what Lynn does, and trust it enough to recommend her? I used an AI Visibility Score tool to get a baseline, then went through the site page by page — homepage, specialty pages on infidelity and medical marriages, the works.

AI Visibility starting score: 48 out of 100. Not a website that was broken. A website that was quietly underperforming in ways nobody could see just by looking at it.

Here’s what the “exam” turned up:

  • No medical chart on file.
    No llms.txt — the file that tells AI tools what your site is and how to read it, the same way a new patient’s chart tells a doctor what they’re walking into.
  • Vitals running slow.
    Homepage response time (TTFB) was sitting at 836 milliseconds — sluggish enough to matter to both visitors and the crawlers trying to index the site.
  • No paperwork on the practice itself.
    No structured data (schema) identifying Lynn as a person, a local business, or a professional service — meaning AI tools had no reliable way to confirm who she is, where she practices, or what she specializes in.
  • A duplicated diagnosis.
    Two H1 headings effectively competing on the homepage — a leftover of how the page’s blurb modules had been built out over time — confusing AI crawlers about what the page is actually about.
  • Symptoms nobody had named.
    No FAQ schema on specialty pages, so genuinely useful answers to real questions (about infidelity recovery, medical marriages, premarital coaching) existed on the page but weren’t marked up in a way AI tools could pull out and quote.
  • No referral network on paper.
    Lynn’s social profiles (Facebook, Instagram, LinkedIn, Pinterest) weren’t connected back to the site through schema, so AI tools had no way to cross-reference and confirm she’s a real, established practitioner.

None of this was visible to someone landing on the homepage. All of it mattered to whether an AI tool would ever recommend Lynn Busch to someone quietly searching for help.

The AI Visibility “Treatment Plan”

 Here’s what actually got treated, one issue at a time:

  • Ran labs and got the paperwork in order.
    Deployed custom JSON-LD schema — Person, LocalBusiness, ProfessionalService, and FAQPage types — through Divi’s Theme Options, giving AI tools a reliable, structured answer to “who is this, and what do they do.”
  • Filed the chart.
    Generated a curated llms.txt through the VigIA plugin (after disabling Yoast’s generic auto-generated version), so AI tools reading the site get an accurate, intentional summary instead of a default one.
  • Corrected the diagnosis.
    Fixed the duplicated H1 issue by converting stray H4 blurb modules down to proper H3s in the Divi visual builder, so the homepage has one clear, unambiguous headline again.
  • Connected the referral network.
    Populated the schema’s sameAs array with all four of Lynn’s social profiles, added her full practice address, and added a founding date — giving AI tools the cross-references they need to trust the practice is real and established.
  • Ran new vitals.
    Configured SiteGround Speed Optimizer with medium image compression and lazy load enabled. Homepage response time dropped from 836 milliseconds to 10 milliseconds.
  • Set the primary complaint.
    Set the homepage’s Yoast focus keyphrase to “relationship coach Fort Worth,” with a proper SEO title, meta description, and featured image — so both search engines and AI tools have a clear, consistent read on what the practice is and where it serves.
  • Added tools for ongoing monitoring.
    Installed VigIA, AI Content Signals, and AI Share & Summarize, so Lynn’s site now has ongoing visibility into how AI tools are seeing (and citing) it — instead of finding out a year from now that something quietly broke again.

Results of the AI Visibility Optimization Work

Score progression over the audit:

  • Initial audit …………………………… 48/100
  • After first pass …………………………. 67.4/100
  • After schema/plugin work ………………….. 75.4/100
  • After llms.txt + heading fixes ……………… 82/100
  • After speed/schema refinement ………………. 85/100
  • Final (settled overnight) ………………….. 90/100 — A+

Before and after:

  • Overall AI Visibility Score: 48/100 -> 90/100
  • Homepage response time (TTFB): 836ms -> 10ms
  • Same site, same content, same practice. No redesign. Just an exam nobody had run before, and a treatment plan worked through one finding at a time.

What I learned running this AI Audit

Nothing in Lynn’s site was unusual. It was the ordinary, invisible residue of a well-built website that had simply never had this specific kind of exam — because until recently, nobody was running one. That’s not a knock on Lynn’s site, or on the developer who built it. It’s just what happens to every website right now: the rules for being found changed faster than most site owners had a reason to notice.

This is now the audit I run for clients who’ve had that nagging feeling — that their site should be doing better than it is, that people who’d be a great fit somehow aren’t finding them. If that’s you, let’s talk about running an AI Visibility Audit on your site: https://sosmymarketing.com/contact/


1AI Visibility Score Reference

I Gave My Old WordPress Site an AI Visibility Makeover

Before and after illustration: a run-down house transforming into a clean modern one, representing a website's AI visibility makeover

TL;DR

  • Site: sosmymarketing.com — originally built in 2008, redesigned more times than I can count
  • Starting AI Visibility Score1: 57/100
  • Ending AI Visibility Score: 92/100 — Grade A+
  • What changed: broken links, missing image labels, no way for AI tools to read the site, a duplicated headline, and hosting settings that had been quietly slowing everything down for years
  • Time to fix: one focused audit, worked through page by page and setting by setting

My website, sosmymarketing.com has been online since I started my business in 2008. In internet years, that’s ancient. Over nearly two decades, this site has been redesigned, re-platformed, re-templated, and redecorated more times than I can honestly count. Every redesign added something new. Almost none of them cleaned up what came before.

Sound familiar? If you’ve had a WordPress site for more than a few years, it probably does.

I finally did what I tell my clients to do all the time: I stopped adding new rooms and went down to the basement with a flashlight. What I found was a website that looked fine from the street but had years of junk piled up where visitors — and increasingly, AI tools like ChatGPT, Claude, and Gemini — couldn’t see it. So I ran a full AI visibility audit, cleaned house, and want to walk you through exactly what that looked like, because if your WordPress site has a similar history, you’re probably sitting on the same kind of mess.

The House Nobody Inspected

This isn’t a metaphor I’m reaching for. Back in 2008, when I started this business, I taught classes for entrepreneurs on how to build their first website — and I explained it exactly this way. The URL is the land. Hosting is where you put the bones of the house. WordPress is how you decorate that house with words and pictures. Ah, how simple things were back then.

Eighteen years later, it turns out the same analogy is the most honest way to describe what happens to a house nobody’s fully inspected since it was built. Think of a website like a house you’ve owned for many years. You’ve repainted, you’ve swapped out the furniture, maybe you knocked down a wall or two. But nobody’s been in the attic since 2012, and nobody’s checked what the last three contractors left behind in the basement.

That’s what an old WordPress site usually looks like under the hood:

  • Doors that don’t open.
    Broken internal links and redirect chains — pages pointing to pages that pointed to pages that don’t exist anymore.
  • Unlabeled rooms.
    Images with no alt text, meaning neither search engines nor AI tools have any idea what’s actually in them.
  • No address on file.
    No llms.txt or llms-full.txt — the modern equivalent of AI tools not having your address, so they can’t reliably find or understand your site.
  • A duplicated front door.
    Two H1 headings on the homepage, which confuses search engines and AI crawlers about what the page is actually about.
  • Old plumbing.
    A slow server response time (TTFB) from caching that had quietly been half-broken for who knows how long.

None of this is visible to a regular visitor scrolling through the homepage. All of it matters enormously to the search engines and AI systems trying to understand, index, and recommend your site.

The Inspection: Running the Numbers

I used an AI Visibility Score tool that grades a site across five categories — think of it as a home inspector’s checklist for whether AI tools can actually find, read, and trust your site:

CategoryWhat it really meansStarting score
Access and AI discoveryCan AI crawlers even get in the front door?20/37
Structured data and semantic contextDoes the site have its paperwork in order — the deed that says what it actually is?16/25
Content structure and readabilityIs the house laid out logically, with rooms that are clearly labeled?13/20
AI interaction and distributionCan visitors (including AI tools) actually get around once they’re inside?4/8
Access performanceHow fast does the water actually come out of the tap?4/10

Total: 57 out of 100. Not falling down. Not exactly move-in ready either.

The Renovation

Here’s what actually got fixed, room by room:

Fixed the doors. Cleaned up broken redirect chains and 404s across the site, and updated internal links that were still pointing at old, redirected URLs.

Labeled every room. Used AI to write proper alt text for every image across the site — 27 out of 66 images were missing alt text completely — so both screen readers and AI tools know exactly what they’re looking at, not just that “an image exists here.”

Filed the paperwork. Verified and cleaned up the structured data (schema) that tells search engines and AI tools what kind of business this actually is, not just what the words on the page say.

Put the address on file. Generated llms-full.txt — a complete, AI-readable copy of the site’s content — and turned on Markdown endpoints, so any AI agent that wants to read a page cleanly, without wading through a decade of design layers, now can.

Fixed the duplicated front door. Found two H1 headings stacked on top of each other on the homepage (leftover from an old responsive design pattern) and cleaned it down to one, like it should have been all along.

Rewired the electrical. This was the big one. The site’s hosting had three layers of caching available, and only two were switched on — the object cache (Memcached) had silently been off. Once it was properly connected, homepage response time (TTFB) dropped from 701 milliseconds to 22 milliseconds. That’s not a typo. That’s the difference between a slow drip and a fully open tap.

Checked who’s allowed on the property. Also found a years-old list of entire countries blocked at the hosting level — including the UK, Canada, Germany, and Singapore. Nobody remembered why it was there. Beyond turning away legitimate visitors from major markets, it was likely blocking AI crawler traffic too, since Germany and Singapore both host major cloud data centers. Trimmed it down to what actually made sense to keep.

Results of the AI Visibility Optimization Work

A screenshot showing my AI visibility audit scores after optimization

CategoryBeforeAfter
Overall57/10092/100 — A+
Access and AI discovery20/3737/37
Structured data and semantic context16/2521/25
Content structure and readability13/2016/20
AI interaction and distribution4/88/8
Access performance4/1010/10

2Same site. Same content, mostly. No redesign. Just years of accumulated junk cleared out, room by room, until search engines and AI tools alike could actually walk through the whole house.

What I Learned Cleaning My Old Website

The honest truth: nothing I found was exotic. It was the ordinary residue of a site that had been through a lot of hands and a lot of years without anyone doing a full inspection. That’s not a special SOS problem — it’s a WordPress problem. WordPress makes it easy to keep adding rooms. It doesn’t do much to make you clean out the ones you’re not using anymore.

If your WordPress website has been through a few redesigns and nobody’s checked what’s in the attic, I can help. That’s exactly the kind of audit I just ran on my own site — and it’s the same process I use for clients who’ve had the same nagging feeling that their site “should be doing better than it is.”

Book a free strategy session and let’s conduct an AI Visibility Audit to get your WordPress site cleaned up! 

P.S. A few days after finishing the renovation, Google Search Console flagged one more thing: an old, nonexistent URL — a literal wildcard character where a page should be — that it had crawled and never found. I traced it back through the sitemap, robots.txt, redirects, and templates expecting to find one more leftover mess. Instead, I found nothing. It had already been fixed, quietly, as a side effect of all that redirect cleanup during the renovation. Sometimes you find out you patched the leak before you even knew it was there.


1AI Visibility Score Reference