OmniCon 2.0.198 — A full SEO suite, channel-level redirects, faster custom domains, and broader MCP client support
June 8, 2026
Eleven versions since 2.0.187. The headline is a complete in-product SEO toolkit — focus keywords, real-time scoring, SERP and Open Graph previews, a channel-wide Health overview, MCP tools an assistant can drive, and nightly rank tracking from Google Search Console. Plus channel-level 301/302 redirect rules, custom-domain pages that load roughly a second faster, MCP OAuth that now works cleanly with Codex and other non-Anthropic clients, and a public brand-assets page.
2.0.198 is eleven versions on from 2.0.185. Five things stand out: a full SEO suite across the editor, dashboard and MCP, channel-level redirect rules for path-based 301/302, custom-domain performance work that shaves about a second off cold loads, three rounds of MCP OAuth interop fixes that unblock Codex and other non-Anthropic clients, and a public brand-assets page with standard IAB banners ready to drop into ads.
SEO suite
Eleven coordinated pieces (t-62a2d268), shipped together. The goal is a Yoast-style "write your article, see how it's doing, fix the things that matter" loop — without leaving OmniCon and without an external SEO tool.
- Channel keyword catalogue. A per-channel list of the keywords you care about, with bulk add and CRUD. This is the dictionary the rest of the suite reads from.
- Focus keyword on every article. A small picker in the editor lets you pin one keyword as the article's focus — the keyword everything is scored against.
- Real-time SEO score sidebar. As you type, a sidebar shows a 0–100 score and the specific checks behind it — keyword in title / slug / first paragraph / headings / image alts, density, length, internal links, meta description. Fix one, the score moves.
- Keyword match scoring engine. The score isn't a single number we made up — it's a documented set of weighted checks (KeywordMatchScore) that the sidebar, the Health overview, and the MCP tool all share.
- Keyword × article coverage matrix. A dashboard view showing, per keyword, every article that targets it — instantly surfaces unowned keywords and cannibalisation between articles fighting for the same term.
- TF-IDF keyword suggestion engine. Looks at the article body and proposes additional focus-keyword candidates derived from the corpus, not a generic word list. Useful when you don't know what the article is "really about" yet.
- SERP + Open Graph previews in the editor. A live mock of how the article looks as a Google result and as a Twitter/LinkedIn/Slack card — with truncation, fallback rules, missing-image warnings.
- SEO Health overview. One channel-level page that lists every article with its current score, focus keyword, missing pieces, and last review — sortable, so you can attack the lowest-scoring 10 in one sitting.
- MCP tools for SEO. Three new tools:
analyze_article_seo(full breakdown),suggest_seo_improvements(prioritised fix list),set_focus_keyword. Tell Claude "audit this article's SEO and improve it" and it does the loop end to end. - Google Search Console connector. Per-channel connection that lets OmniCon read GSC data on your behalf — rank, impressions, CTR. Configure once under Integrations.
- Nightly rank tracking. Once GSC is connected, OmniCon pulls each focus keyword's rank every night and stores the history. The Health overview shows the trend; over time you can see whether an article is moving up or stalling.
Channel-level redirect rules
2.0.185 shipped per-article 301s (mark this one article as moved). 2.0.198 adds the other half — channel-wide path rules.
- Path-based 301 or 302. Add a rule under channel settings: "from /old-section/* to /new-section/*" or one-off "/whitepaper-2023 → /whitepaper-2026". 301 (permanent) or 302 (temporary), your call.
- Per-rule precedence. Rules are ordered — first match wins — so you can have a catch-all near the bottom and exceptions on top.
- Independent of per-article moves. A site-wide path restructure doesn't need editing every article one by one; one rule covers a whole prefix.
- Custom-domain safe. Rules apply on the channel regardless of whether it's served from
omnicon.cloudor your own domain.
Faster custom domains
Pages served from a verified custom domain were ~1s slower than the same content under omnicon.cloud. Most of that was Razor view compilation on each request. Fixed.
- Cached channel layouts and partials. The Handlebars layout + partial set for a channel is resolved once per process and reused; the per-request lookup against blob storage is gone for hot paths.
- Razor runtime compilation off in Production. Compilation happens at build time only; production no longer pays for view-on-write recompilation that was a development-only convenience.
- ThreadPool minimum raised. On cold start a burst of concurrent requests would queue behind the .NET thread pool growing. The minimum is now sized for our expected concurrency so the tail of cold-start requests drops sharply.
- Cache-scheduling diagnostics. The ~1s gap that prompted this work is now traced with stopwatch logging from Front Door entry to renderer exit — future regressions will surface in App Insights before customers see them.
- Neutral 404 on unknown paths. Previously, an unknown path on a custom domain could fall through to the default channel's content. It now returns a neutral 404, so brand sites don't leak content from other channels.
MCP OAuth interop
Anthropic's Claude clients have always worked. Codex, internal MCP test harnesses, and a few other non-Anthropic clients didn't — they advertise the resource indicator slightly differently from what our OpenIddict server was prepared to accept. Three rounds of fixes here.
- Trailing-slash + bare-host equivalence.
https://mcp.omnicon.cloudandhttps://mcp.omnicon.cloud/are now treated as the same resource, so clients that normalise URLs either way are accepted. The protected-resource-metadata document advertises the canonical form. - Bare-host normalisation on inbound request. Clients that omit the scheme + slash and send just the host are normalised server-side before validation, instead of failing with
invalid_target. - Any path under the MCP host. Clients (notably Codex) that target
https://mcp.omnicon.cloud/mcprather than the bare host are now accepted — the validator matches on host, not exact path, so the OAuth flow doesn't reject a perfectly valid client just because of the route it'll hit afterwards.
Brand assets page
For partners, journalists, and ad campaigns: a public page with the OmniCon logo and standard IAB banner sizes, ready to download — no asking us for a press kit.
- Standard IAB sizes. 336×280 (large rectangle), 728×90 (leaderboard), 970×250 (billboard). Drop-in for most ad placements.
- Logos and wordmarks. Available in the colour variants you need for light or dark surfaces.
- Public URL. No login required — share the link with an agency.
Also in this release
- Page-block forms have default styling now. A form added through the page builder used to look unstyled; it now gets a consistent default look and clears its fields after a successful submit.
- Form-field editing fixes. Two bugs in the form-field-id input: editing the id used to stick after the first character (you couldn't actually type a new id), and earlier saves looked the field up by id rather than index — so renaming the id silently dropped the field's content. Both fixed.
- Form button hover styles while disabled. Submit buttons in a disabled state no longer light up on hover — matches the disabled visual everywhere else in the dashboard.
- Integrations link in the channel dashboard. The Integrations page (reCAPTCHA, rcr.la voice, Google Search Console) now has a direct link from the channel sidebar instead of being buried under settings.
- Cleaner 401 handling for unknown MCP clients. When an unknown client hits the MCP endpoint, the 401 now includes RFC 9728 resource metadata pointing the client at the OAuth flow — rather than failing silently with no signal to bootstrap auth.
The SEO suite is the work most of you have been asking for — it should change how an article gets written, not just how it gets graded. The redirect rules and custom-domain perf are the kind of plumbing that's invisible when it works. MCP OAuth fixes mean the same workflows your Claude can drive are available from Codex and whatever client lands next. If you'd like a hand walking through SEO Health on your channel, wiring Google Search Console, or modelling out a path migration with redirect rules, drop us a note.