Post-Publish Monitoring
Track citations, detect decay, stay visible
Last updated
Post-publish citation monitoring tracks whether AI answer engines — Perplexity, ChatGPT, and Gemini — cite your published pages, what position they hold, and whether their AEO score is decaying, then alerts you when any of those signals change. A Brave-search visibility proxy supplements the picture for Share of Voice.
Publishing is step one. AEOForged's monitoring system records measured citations across Perplexity, ChatGPT, and Gemini — detecting when you gain or lose citations, when your AEO score decays, and when competitors overtake your position. Alerts fire in real time so you can act before traffic drops. (Each engine activates once its API key is configured; a Brave-search proxy backs Share of Voice.)
Setup
Register any URL you want to monitor. You can do this from your agent or via the API directly.
Via MCP (agent)
Call the aeo_track tool with the URL and one or more target queries. Your agent can register URLs as part of a publish workflow.
aeo_track url: "https://example.com/my-guide" queries: ["answer engine optimization", "AEO tips"]
Via REST API
Send a POST to /api/v1/track with your API key. Useful for CI/CD pipelines, batch registration, or custom integrations.
POST /api/v1/track
{
"url": "https://example.com/my-guide",
"queries": ["answer engine optimization"]
}What Gets Tracked
For every registered URL, AEOForged records measured page citations, weaker domain/brand signals, position in answers, AEO score trends, and Brave-search visibility proxy checks.
Page citations (confirmed)
Whether your exact page URL appears in measured Perplexity, ChatGPT, or Gemini answer sources — stored in citation_evidence, not inferred from search rank.
Domain / brand signals
Weaker tiers when your domain or brand is mentioned without a direct page citation. Shown separately — never merged into confirmed counts.
Position in results
Where your content ranks within measured answer sources or Brave proxy checks — first source cited, inline reference, etc.
Score over time
AEO score re-evaluated on each check. Trend line shows whether content quality is holding, improving, or decaying.
Time-to-first-citation
How long after publishing before a measured page-tier citation is recorded. Key metric for content velocity.
Alerts
Alerts fire when a meaningful change is detected. They're grouped into a 24-hour digest so you get one notification per day, not a flood.
| Type | Severity | Description |
|---|---|---|
first_cited | info | Your content was cited by an answer engine for the first time. |
lost_citation | critical | A previously visible Brave-search proxy signal dropped (not necessarily a loss of a measured page citation). |
position_improved | info | Your content moved to a more prominent position in AI answers. |
position_dropped | warning | Your content dropped to a lower position or moved from primary to inline reference. |
score_decayed | critical | AEO score fell below your configured threshold since the last check. |
content_stale | warning | Content hasn't been updated in a configurable window and freshness signals are weakening. |
milestone | info | A tracked URL hit a milestone — 10 citations, 30-day streak, top position held, etc. |
Dashboard
/monitoring
Unified citation monitoring hub: query-first visibility (tracked queries, share-of-voice, competitor gaps), tracked pages, and alerts. Tabs: Overview, Queries, Pages, Alerts. Add queries in-app, then run a measured check.
/monitoring/[id]
Per-URL detail view. Full check history, citation timeline per engine, score trend chart, queries this page wins, and all alerts for that URL.
/visibility redirects to /monitoring?tab=queries.
Reading the Dashboard
The monitoring dashboard shows four distinct data layers. Understanding what each one measures — and what it does not — keeps your reporting honest.
Page-tier citations (confirmed)
Your exact page URL appeared in the source list of a Perplexity, ChatGPT, or Gemini answer. These observations come from the citation_evidencetable — each one is a directly measured event, not inferred from search rank. This is the strongest signal and the only tier reported as "confirmed."
Domain-tier signals
Your domain (but not the specific page) is cited in an answer. Weaker than page-tier — displayed separately in the dashboard and never merged into confirmed page citation counts.
Brand-tier mentions
Your brand name is mentioned in an AI answer without a direct URL link. The weakest measured tier — shown as a separate signal, useful for awareness tracking but not equivalent to a citation.
Brave-search visibility proxy (SOV)
Share of Voice and tracking position checks use Brave web-search rankings as a directional proxy. This is a useful signal for competitive benchmarking but it is not a confirmed AI-engine citation. The dashboard labels these separately, and they are never combined with measured page/domain/brand citation data.
Honesty note
Confirmed = page URL in engine sources. Observations = individual checks recorded. The org-wide rollup on the monitoring overview excludes internal proof-cohort URLs from aggregate counts so your reporting numbers reflect genuine client content, not test pages.
API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/v1/track | Register a URL for citation monitoring |
| GET | /api/v1/track/status | List all tracked URLs with latest citation summaries |
| GET | /api/v1/track/summary | Org-wide monitoring rollup |
| GET | /api/v1/track/[id]/summary | Per-URL monitoring summary |
| GET | /api/v1/track/[id]/history | Check history for a tracked URL |
| GET | /api/v1/track/[id]/evidence | Measured page-tier citation evidence |
| POST | /api/v1/track/[id]/check | Trigger a citation check for one URL |
| PATCH | /api/v1/track/[id] | Pause, resume, or adjust check cadence |
| DELETE | /api/v1/track/[id] | Stop tracking a URL |
| GET | /api/v1/alerts | All alerts (filterable by severity/type) |
| POST | /api/v1/alerts/read | Mark one or more alerts as read |
Citation tiers & data sources
Page-tier citations (confirmed) come from the citation_evidence table — direct observations of your URL appearing in Perplexity, ChatGPT, or Gemini answer sources. Domain and brand mentions are weaker tiers, shown separately. The Share of Voice tracker and aeo_share_of_voice use a Brave-search visibility proxy — a directional signal, not a confirmed AI-engine citation. These two data sources are never merged.
Cron Schedule
Monitoring checks run automatically. Both are triggered by cron endpoints secured with CRON_SECRET.
Citation checks
Runs daily. Queries each tracked URL against Perplexity, ChatGPT, and Gemini. Records citation presence, position, and any changes since the last check.
Decay checks
Runs daily. Re-scores tracked content and compares against the previous score. Fires score_decayed and content_stale alerts when thresholds are breached.
Share of Voice
Share of Voice tracking is now available via the aeo_share_of_voice tool — measure your client's percentage of AI answer visibility vs competitors. Track up to 20 keywords against 5 competitor domains using a Brave-search visibility proxy (a directional signal, not a confirmed AI-engine citation — for measured citations use the query-first AI Visibility scoreboard). Returns SOV %, coverage gaps, and domination keywords. Best run monthly alongside your citation monitoring for a complete visibility picture.
Start tracking your content
Register your first URL and see how answer engines treat your content.