Back to blog

Inside the Mass AEO System: From a Blank Blog to AI Citations

A complete tour of the Mass AEO System — spin up an owned blog, set strategy with projects, prompts, and competitors, generate grounded posts, audit and ship machine signals, cross-post everywhere, and track the day an AI engine starts quoting you.

16 Jun, 20268 min read
Inside the Mass AEO System: From a Blank Blog to AI Citations

Search is shifting from blue links to AI answers. When someone asks ChatGPT, Perplexity, or Google's AI Overview a question, they get a synthesized answer with a handful of sources cited inline — and if your content isn't structured to be extracted, summarized, and trusted, it never makes the citation, no matter how well it ranks in traditional search.

The Mass AEO System is built for that reality. It's not a single feature — it's an end-to-end workflow that takes you from a blank blog to the day an answer engine starts quoting you. This post walks the whole system. For the reference version, see the AEO System docs; for the concepts behind it, read Answer Engine Optimization: the 2026 guide.

The system in one sentence

Create a blog → theme it and set widgets → add target prompts and competitors → generate grounded posts → audit and fix → schedule → cross-post and promote → watch citations land. Every step below maps to that line.

Step 1 — Spin up a blog you own

A blog in Mass is a publishable site under your tenant, not a tab on someone else's platform. Each one has its own name, tagline, theme, logo and favicon, hero and Open Graph defaults, default author, and social links — and you can run more than one (say, a brand blog and a product blog), with one always marked the default.

Start from a theme preset like Ghost or Substack, then adjust layout, typography, and the sidebar widget set. Wire analytics and verification as first-class fields — a Meta Pixel, a GA4 measurement ID, a PostHog key, plus Google and Bing site-verification — and toggle published and indexable when you're ready. Until then the blog stays private to your workspace.

The sidebar is fully composable: brand and tagline, custom nav plus an auto-built topic index, recent posts and author bios, a newsletter opt-in and social links, and an RSS link plus a free-form HTML slot for anything custom. Each widget is independently toggled and ordered.

Step 2 — Set strategy with a project

Above your blog sits a project — the strategy layer where AEO actually lives. You work a short guided checklist that takes you from zero to a running citation engine, and everything downstream keys off what you set here.

  • Track prompts. Add the real queries you want to be cited for. These target prompts are the unit of AEO — every other feature orients around them.
  • Add competitors. Tell the planner which brands you compete with so it can crawl and embed their pages for gap analysis.
  • Plan briefs. Generate a queue of post ideas from the gaps (next step).
  • Launch a campaign. Sequence a pillar post plus satellites from a starter recipe so a topic ships as a cluster, not a one-off.

A daily cron tests your tracked prompts against a default model set on a per-prompt cadence and records the results, so your competitive picture refreshes on its own within a credit-aware cap.

Step 3 — Let the gap planner queue your briefs

Instead of guessing what to write, the gap planner embeds your existing posts and your competitors' pages, scores coverage with cosine similarity, and emits a content brief for every genuine gap — each one pre-loaded with the competitor source URLs that become citations in the finished post. Topics you already cover well are skipped. Briefs land as queued or pending-approval depending on the project's auto-approve setting, and the planner respects a per-tenant monthly cap so it stops emitting when you've hit your quota.

Step 4 — Generate grounded, citable posts

Start from a target prompt — the actual query you want to win — and Mass plans and drafts the post around it, leading every section with a direct answer (the single biggest factor in getting quoted).

Two modes, and you always see the cost first:

  • Standard is a single pass, roughly 700–1,500 words.
  • Deep plans an outline first, then expands it section by section for longer, better-structured posts — with an outline approval gate so you can review and edit the hook, sections, and closing before paying for expansion.

Before any run, a dialog forecasts the credits due, your balance afterward, and an ETA bucket, and it hard-blocks a run that won't fit your balance. When citation grounding is on, the generator harvests real source URLs per target prompt before writing and persists them to the post — those sources then populate the published JSON-LD citation field. Grounding defaults on for Deep and is an optional toggle for Standard.

Step 5 — Edit with an AI assistant that can act

The post editor is a two-pane workspace: a metadata rail (title, slug, meta title and description, llms summary, keywords, target-prompt selection, author, canonical URL), a body editor in the centre, and an insights drawer on the edge with Preview, JSON-LD, Audit, Impact, Related, and Activity tabs. Write in raw Markdown with slash-command snippets or flip to a TipTap visual editor — Markdown stays the single source of truth, so autosave, preview, publish, and audit don't care which surface you used. Autosave fires 30 seconds after your last keystroke, word count and reading time recompute server-side, and every body change appends a revision row so history stays honest.

Beside the post sits a context-aware AI assistant that has your post, project, SERP snapshot, and social variants in context. It can run the audit (free), refresh a cached Google SERP snapshot (3 credits), or read one H2 section verbatim so it quotes instead of paraphrasing — and it surfaces section rewrites, metadata updates, image requests, and social regenerations as Apply/Discard proposal cards with diff previews, rather than silently mutating your draft.

Step 6 — Audit and score before you ship

A deterministic SEO/AEO audit grades each post and tells you exactly what to fix, running checks across title, slug, meta description, llms summary, body structure, keywords, images and alt text, canonical URL, sources, and the competitive gap versus the brands you're up against. A Deep LLM audit goes further, reading the live SERP structure for your target prompt and proposing concrete rewrites. The one-click fix only feeds the model the checks that aren't already passing, so rewrites stay tightly scoped.

Step 7 — Ship the machine signals

Every published post ships the structured data answer engines read first:

  • JSON-LD — Organization, BlogPosting, and FAQPage schema generated automatically, including the citation array from your grounded sources.
  • llms.txt and llms-full.txt — machine-readable summaries of your site and full content, the emerging standard for LLM ingestion.
  • AI-crawler policy — per-area allow/disallow controls, including a training allow/disallow, so you decide which models may read or train on you.
  • Per-post llms summary — a tight, model-facing abstract for clean extraction.

Step 8 — Schedule, publish, and distribute

Set a publish time and the post goes to a scheduled state. A publish cron picks up due posts, flips them live, builds their structured data, and runs the post-publish jobs without you babysitting it: it embeds the post the moment it's live (so similarity-ranked Related posts and the on-site Ask widget see it immediately), reindexes the citation graph so your "Cited by" relationships stay current, cross-posts to every configured destination with retry so a transient failure doesn't drop a channel, and fires outbound webhooks for anything else you want to trigger.

Step 9 — Turn one post into a social promo set

Instead of rewriting your article five times by hand, the social promo generator produces platform-native variants — LinkedIn, X, Pinterest, and Facebook — from the published post, each tuned to its channel's format and norms. Paired with cross-posting, a single "publish" becomes a coordinated, multi-channel launch.

Step 10 — Track which engines actually cite you

This is the payoff loop. With citation polling on, a cron checks your tracked prompts against the engines you've selected — Perplexity, Google AI Overview, Brave, and You — and records when one of them cites you. Results flow into a citation graph and a "Cited by" widget, alongside cached Google SERP snapshots for competitive reads. A per-blog daily cap keeps spend predictable; set it to zero to pause polling without flipping the toggle off. AEO stops being a guessing game — you're measuring presence in AI answers directly.

Own the whole surface

Map a custom domain so the blog lives on your brand, expose an RSS feed for subscribers and aggregators, and let verification, sitemap, and IndexNow pings be handled for you. The branding, the policy, the distribution, and the data on who's citing you are all yours.

Start making money today.

Build complete, revenue-ready funnels — copy, design, and automations — from a single chat.

Try Mass for free