Skip to content

Quick start

How to install Flowcourier AEO for Umbraco

Section titled “How to install Flowcourier AEO for Umbraco”

Flowcourier AEO adds Answer Engine Optimization to your Umbraco site: it makes your published content readable by LLMs and AI answer engines (ChatGPT, Claude, Perplexity, Gemini, …) by serving it in the formats those tools understand — generated live from the content cache, with no editor work and no content changes required.

One package gives you six things:

  • /llms.txt — a curated index of your site following the llms.txt standard, with a link to each page’s Markdown version.
  • /llms-full.txt — the entire site rendered to Markdown in a single document.
  • /{any-page}.md — append .md to any page URL and get a clean Markdown rendering instead of HTML.
  • Structured data (JSON-LD) injected into every rendered page’s <head>.
  • AI crawler analytics in the backoffice — with built-in verification that blocks vulnerability scanners spoofing AI user agents.
  • AI referrals — see which of your pages AI answers actually sent real visitors to.

AEO has no AI dependency — no Umbraco AI, no LLM provider, no API key. It is built for sites where Umbraco renders the front end (MVC/Razor) — headless setups are not supported (see system requirements).

  1. Install the package

    The package is available via NuGet. Visit Flowcourier.Umbraco.AEO on NuGet, search for it in Visual Studio, or run:

    Terminal window
    dotnet add package Flowcourier.Umbraco.AEO

    That’s it — no composer, no Program.cs changes, no route configuration. The package self-registers through an Umbraco pipeline filter, and the crawler-analytics database table is created automatically on first startup.

  2. Verify the endpoints

    Start the site and open:

    • https://your-site/llms.txt — the site index
    • https://your-site/llms-full.txt — the whole site as Markdown
    • https://your-site/about-us.md — any page URL + .md

    The output is derived from the live published-content cache, so it always reflects what’s currently published — cached briefly in memory and refreshed immediately on publish.

  3. Fill in your organization identity

    Go to Settings → Flowcourier → AEO Dashboard → Structured Data in the backoffice and enter your organization’s name, logo, profile links and contact details. This is the one piece of structured data the package never guesses from content — page-level markup (WebPage/Article, breadcrumbs, FAQ) is generated automatically. See Structured data for details.

    The Structured Data form under Settings → Flowcourier → AEO Dashboard, where editors fill in the organization identity

  4. Optional: advertise the files in robots.txt

    AEO can prepend discovery lines for llms.txt / llms-full.txt to your robots.txt (an existing physical file is preserved). It’s opt-in:

    {
    "Flowcourier": {
    "Aeo": {
    "Robots": { "Enabled": true }
    }
    }
    }
  5. Watch the AI crawlers arrive

    Open Settings → Flowcourier → AEO Dashboard. Visits from GPTBot, ClaudeBot, PerplexityBot and 150+ other AI crawlers are recognised and counted — which bot, which pages, and whether they fetched HTML or your Markdown surface. Each visit is also verified against the vendor’s official mechanism where one exists (published IP ranges or reverse DNS), and scanners spoofing an AI user agent are blocked automatically — manage this on the dashboard’s Blocking page. Privacy-safe by default: the analytics store no IP addresses unless you opt in, and raw user agents are kept only as forensics on spoofed requests — see Privacy (GDPR) for details. See AI crawler analytics and Crawler verification & blocking.

    The AEO Dashboard showing AI crawler hits per day, traffic share per operator, hits per crawler and top pages