OnlineJourno. Get it on GitHub
OnlineJourno · Editorial Optimisation Platform

Give every story a fair chance across every surface.

Audit any story for Google Discover, Search & News, AI Overviews, AI assistants and YouTube — with the fixes, the schema, and the why. Free, open-source, self-hosted.

Get it on GitHub See how it works

Free · Apache-2.0 · runs on your machine · no account · vendor-neutral

Story audit · meridian.example
Monsoon arrives early, reshaping the kharif calendar
Discover 84 Search 61 ● Schema missing
E-E-A-T · primary sourcereview
Add NewsArticle + VideoObjectfix ready
6 surfaces · 3 fixes Open report →
What it does

Find the story, score it, fix it.

01

Per-story audit

SEO & E-E-A-T graded against Google's Search Quality Rater Guidelines — every finding in plain language.

02

Schema.org, fixed for you

Detects missing or wrong structured data and hands you corrected JSON-LD — NewsArticle, VideoObject and more.

03

Surface readiness

Scores each story for Discover, Search, News, AI Overviews, ChatGPT/Perplexity/Gemini and YouTube — add your own surfaces.

04

Trends & signals

Beat-scoped trending topics, enriched with Wikidata entities, with momentum and trajectory charts.

05

Core Web Vitals

Discovery dies on a slow page. LCP, CLS and INP, checked per story, with what to do about each.

06

Prioritised fixes

Ranked by impact and effort, so the desk knows what to do first — and why it matters.

Working today

It already runs.

The v1 engine works now, keyless — here's real output from the CLI auditing a live page. The web UI below is in design.

Terminal: editorial-optimiser auditing a live page — real StoryReport JSON with overall_score 42, grade D, and per-surface scores (search 73, news 50, discover 31)
See it in action

The desk view.

What your reporters and SEO desk actually see — every score with the reason behind it.

Story Audit screen — per-surface readiness scores, E-E-A-T findings against Google's Quality Rater Guidelines, a suggested schema.org JSON-LD block, and prioritised fixes
Per-story audit. Surface scores, E-E-A-T (QRG), the schema fix, and what to do first.
Trends and Signals screen — beat-scoped topic momentum, Wikidata entities, an interest-trajectory chart, and a coverage gap to commission
Trends & signals. What's rising in your market, the Wikidata entities, and the gaps you haven't covered.
Surface readiness screen — a story scored across Discover, Search, News, AI Overviews, ChatGPT, Perplexity and YouTube, with add-your-own surfaces
Surface readiness. One story, every surface you configure — add your own and the scorer picks it up.
The ethic

The machine surfaces. The journalist decides. It teaches as it audits — built by journalists, for journalists.

How it works

Three steps. No account.

Step 01

Download

Grab it from GitHub and run docker compose up.

Step 02

Configure

Set sources, surfaces, beats and market in one newsroom.yaml.

Step 03

Audit & optimise

Paste a URL or pull your sitemap. Get the report and the fixes.

Two tiers — you choose

Free by default. Smarter with your own AI.

Free & keyless

Tier 0

The full deterministic core — no API key, no cost.

  • Per-story SEO & E-E-A-T audit
  • Surface readiness scoring
  • Schema detection + template fixes
  • Core Web Vitals · prioritised fixes
Add your own AI

Tier 1

Plug in any model — Claude, GPT, Gemini, or local. Your key, your call.

  • 8 BBC-Smartocto user needs
  • AI-written Schema.org suggestions
  • Agentic SEO/GEO assistant
  • Provider-agnostic — no lock-in
Coming soon

Be first to run it.

Open-source and self-hosted, launching from GitHub. Star the repo to follow, or leave your email and we'll tell you when it ships.

Notify me
OnlineJourno. Editorial Optimisation Platform From a journalist, for journalists · Apache-2.0 · vendor-neutral