Skip to content

System requirements

Requirement Version
Umbraco 17.5+ (LTS)
.NET 10+
Rendering Umbraco renders the pages (MVC/Razor templates)

That’s the whole list. AEO has no AI dependency — it does not require Umbraco AI, an LLM provider or an API key. All output is generated from your own published content.

Package Contents
Flowcourier.Umbraco.AEO llms.txt / llms-full.txt / Markdown pages, structured data (JSON-LD) and AI crawler analytics

The package version signals the minimum supported Umbraco release: 17.5.x requires Umbraco 17.5 or later.

  • No manual composer or startup code: the package self-registers through an Umbraco pipeline filter — endpoints, middleware and backoffice UI are all wired up on install.
  • Headless setups are not supported. Discovery headers, JSON-LD injection and crawler analytics all happen where the page is rendered. On a decoupled front end (e.g. the Content Delivery API with a separate front-end host), those features never reach your public site, and the AEO endpoints would sit on the CMS host — where crawlers never look.
  • Works on single-site and multi-site installs (output is scoped to the site root matching the request’s hostname via your Umbraco domain configuration) and on culture-variant sites (output is generated per language).
  • The crawler analytics, AI referrals and blocking features create three database tables (FcAeoCrawlerHit, FcAeoReferralHit, FcAeoBlockedClient) automatically via idempotent migrations on first startup. SQL Server and SQLite are supported through Umbraco’s standard database layer. The Markdown and structured-data features have no database footprint; organization identity entered in the backoffice is stored in Umbraco’s key/value store.
  • Backoffice assets are served from App_Plugins (fc-aeo, fc-foundation) and built for the Umbraco Bellissima backoffice. All AEO views live under Settings → Flowcourier → AEO Dashboard.

The package is free to use, including commercially, under the Flowcourier License 1.0. There is no license key to install and no domain restrictions.