New package: FoundWell.Umbraco (AEO audit, automatic JSON-LD and llms.txt)

When someone asks ChatGPT, Perplexity or Google’s AI answers which supplier, agency or product to pick, the answer quotes a handful of sites. Part of whether yours is one of them is out of a developer’s hands. But part of it is plain site hygiene: does the page have a passage an assistant can lift as an answer, does it carry schema.org markup, and is there a clean map of the site for assistants to read? On most sites that’s template work, and it’s easy to never get round to.

I built FoundWell.Umbraco to handle that part from the backoffice. It’s free, MIT licensed and needs no account.

What it does:

  • AEO audit of every page. A GEO view on each document gives a score for how likely an AI engine is to quote the page, what holds it back and how to fix it. The score history is kept per page.
  • Quotable passages. Shows which passages an assistant can lift as a citation, and what weakens the others.
  • Bulk audit. Scores all published pages at once, lowest first, so you know where to start.
  • Automatic schema. JSON-LD in every page’s <head> without touching a template. You pick the schema.org type per document type and which properties fill it, then override it or switch it off per page. It’s off by default, and a page that already renders its own application/ld+json is left alone.
  • Schema suggestions. Markup suggested from a page’s content, ready to apply.
  • /llms.txt and /llms-full.txt. Generated from published content and grouped by top-level section. You can exclude pages or list only certain document types.
  • One llms.txt per site. On a multi-site install, each domain gets the llms.txt of its own root, with its own title, summary and excluded pages.

It has no database tables of its own. Settings live in JSON files under umbraco/Data/FoundWell.Umbraco/, so it works on SQLite and SQL Server alike. On a load-balanced site, put that folder on shared storage.

To be clear about two things:

  • Nothing leaves your server. The audit only requests your own pages, to see them as visitors do.
  • Markup alone won’t get a site quoted. In Ahrefs’ study of 75,000 brands, mentions of a brand elsewhere on the web tracked AI visibility far more closely than anything on the site itself. The package handles the technical part so it isn’t what holds a good page back.

Disclosure: FoundWell is also a paid service I run, which writes content and handles SEO and AEO for a site on autopilot. The package has an optional connection that lets FoundWell set redirects, schema and llms.txt through it. That connection stays off until an administrator turns on Allow FoundWell, and FoundWell can’t turn it on itself. Without a subscription the package never contacts FoundWell, and everything above works with no time limit.

So where can I find the source code :slight_smile: