Search engine optimization (SEO) in OmniCon comes in two halves. The first half is done for you: every article and page already carries the on-page signals search engines look for. The second half is yours to drive — a set of tools that help you target the right keywords and write pages that actually rank for them. This guide walks through both, is clear about how it behaves on your own domain versus an OmniCon URL, and ends with a practical checklist.
First, two ways your content is served
Every article lives at one of two URL shapes, and it matters for the rest of this guide:
- Under OmniCon — the default:
https://omnicon.cloud/{culture}/c/{channel}/d/{permaname}. - On your own custom domain — once you've set one up and verified it:
https://yourdomain.com/d/{permaname}. See custom domains for setup.
The on-page SEO below applies the same way on both. Where the two differ is sitemap.xml / robots.txt — a custom-domain feature, covered in its own section.
What OmniCon does automatically (on-page)
You don't configure any of this — it's emitted on every public article and page, on both URL shapes above:
- Clean, stable URLs from the permalink you choose.
- Canonical URLs. Every page declares its canonical address, which avoids duplicate-content problems — including when the same article is also served through the API on another site. On a verified custom domain, the canonical points at your domain.
- Structured data (JSON-LD). Organization, WebSite, Article, and BreadcrumbList schemas, so Google can show rich results.
- Open Graph and Twitter Card tags. Links unfurl with a title, description, and image on Facebook, LinkedIn, Slack, and X.
- Visible breadcrumbs matching the BreadcrumbList schema.
- 301 redirects for moved content. Mark an article as moved and set a new URL, and OmniCon returns a proper 301 so you keep the ranking equity of the old link.
- Language targeting. Each article's culture drives correct language signals for multilingual channels.
sitemap.xml and robots.txt — a custom-domain feature
Whether you get your own sitemap and robots.txt depends on how your channel is served:
- On your own verified custom domain, OmniCon serves them automatically, at the domain root:
https://yourdomain.com/sitemap.xmllists your channel's published articles (asyourdomain.com/d/{permaname}URLs, updated as you publish), andhttps://yourdomain.com/robots.txtallows crawling and points search engines at that sitemap. The best next step is to submithttps://yourdomain.com/sitemap.xmlin Google Search Console (Step 6) to speed up indexing. - Under OmniCon (a channel with no custom domain, served at
omnicon.cloud/{culture}/c/{channel}/…) there's no per-channel sitemap.omnicon.cloud/sitemap.xmlandomnicon.cloud/robots.txtare OmniCon's own platform files (marketing, Help, News) and don't list your articles. This is why it's a custom-domain feature: arobots.txtis only read at a domain's root, and you can only submit a sitemap to Search Console for a domain you own. Your content is still found by crawling — see the next point. - Either way, the single most effective thing you can do is link your articles to each other. Internal links help crawlers discover your pages and also feed your SEO score (Step 3).
- One extra: if you enable Community on a channel, community posts get their own sitemap at
/c/{channel}/community/sitemap.xml.
The optimization workflow
The tools form a loop. You'll move through it as you write, and revisit it as your channel grows. You'll find them in your channel's Quick access card — note the SEO and Integrations shortcuts are hidden by default, so click Customize on that card to turn them on the first time.
- Define the keywords your channel wants to rank for.
- Target one primary (and any secondary) keyword on each article or page.
- Score — the editor grades how well the content matches its keyword, live, as you type.
- Preview how the page will look in Google's results and in a social unfurl.
- Review the whole channel for gaps and problems with the coverage matrix and health page.
- Track real Google rankings by connecting Search Console.
Step 1 — Define your channel keywords
Open your channel and go to SEO → Keywords. This is the list of phrases your channel is trying to rank for — things like headless CMS or maple syrup recipes. You can:
- Add a keyword with an optional locale (for multilingual channels).
- Bulk add a whole list at once — one phrase per line.
- Archive a keyword to hide it from pickers while keeping its ranking history, or delete it outright.
- See, per keyword, how many articles already target it — so you can spot phrases you've over-covered and ones with no article yet.
Step 2 — Set a focus keyword on each article or page
In the editor, the Focus Keywords panel lets you pick which channel keywords this piece is going after. Mark one as the primary focus keyword — that's the one the live score grades against — and add as many secondary keywords as you like. If the phrase you want isn't in the channel list yet, type it in and it's created and linked on the spot.
This works the same for articles and pages — a page is just an article that isn't listed in your feeds, and it uses the exact same editor. So Steps 2–4 (focus keyword, live score, previews) apply to both. The channel-wide Coverage and Health views in Step 5 summarize your articles.
Step 3 — Watch the live SEO score while you write
As you edit, the SEO Analysis sidebar shows a score from 0–100 with a green / yellow / red grade, a checklist of what passed (✓) and what's missing (×), and a one-line fix for each miss. It updates a moment after you stop typing.
The score rewards a page for genuinely being about its keyword. Points are earned when the keyword appears in:
- the title (the single biggest signal);
- the first subheading (H2);
- the URL slug (permalink);
- the meta description;
- the first 100 words of the body;
- at least one image's alt text;
- the body at a healthy density (roughly 0.5%–2.5% of the words) — with a penalty for keyword stuffing above about 4%, which reads as spam;
- an internal link to another article that targets the same keyword.
Alongside the keyword score, a set of general checks run independently of any keyword:
- Title length — aim for about 30–60 characters so it isn't cut off in results.
- Meta description length — about 70–155 characters.
- Image alt text — flags any image missing a description.
- Heading structure — warns if you skip an H1 or have no H2 subheadings.
Step 4 — Preview how it looks in Google and social
The editor's Previews panel shows two things, live: a Google result snippet (your title, URL, and description, truncated the way Google truncates them, with a warning if the title is too long), and a social card — the image, title, and description that Facebook, LinkedIn, Slack, and X show when your link is shared. It pulls from the article's main image, title, and description, so you can fix an awkward-looking result before you publish.
Step 5 — See the whole channel: coverage and health
Two channel-wide views help you manage SEO across all your articles:
- SEO → Coverage is a matrix of keywords (rows) against articles (columns), each cell colored by its match score. Gaps and over-targeting jump out: filter to keywords with no strong article yet, or keywords where too many articles compete for the same phrase. Click a cell to see exactly which signals passed or missed.
- SEO (the health overview) is your "is my channel healthy?" page. It shows the share of articles with a strong keyword score, with a focus keyword set at all, and missing a meta description or main image — plus reports you can act on: missing fields, orphan articles (nothing links to them), duplicate titles, and stale content that hasn't been updated in a while. Each row links straight into the editor to fix it.
Step 6 — Track real rankings with Search Console
Scores tell you whether a page should rank; Google Search Console tells you whether it does.
To connect: open your channel, and in the Quick access card enable Integrations (click Customize if you don't see it — it's off by default). Open Integrations, find the Google Search Console card, and click Connect. You'll sign in with Google and then pick which verified Search Console property maps to this channel. (If you're on a custom domain, this is also where submitting https://yourdomain.com/sitemap.xml pays off.)
How often it syncs: OmniCon refreshes the data once every night, over a rolling 28-day window. Google Search Console's own data lags about 2–3 days, so don't expect numbers the moment you connect — give it a day or two, after which they update daily. Once it's flowing, the keyword list shows a Position column (average position, with clicks and impressions), and the SEO health page shows how many of your keywords are ranking in Google's top 10.
Shortcuts: AI and MCP
Two faster paths when you don't want to do it all by hand:
- Enhance SEO with AI. In the editor, this reads your draft and fills in an optimized title, description, permalink, and a set of suggested keywords in one click. Review the result — it's a strong starting point, not gospel.
- MCP tools. If you connect an MCP client, you can drive SEO conversationally:
analyze_article_seoreturns the score and checks for an article,suggest_seo_improvementsreturns concrete edits, andset_focus_keywordassigns a keyword (creating it on the channel if needed). Handy for auditing a whole channel in one pass.
A quick checklist
Before you publish, run through this — it's most of the score in plain language:
- Your primary keyword is set, and it appears in the title, the URL slug, an H2, and the first paragraph.
- The title is about 30–60 characters; the meta description is about 70–155 characters and includes the keyword.
- Every image has alt text, and at least one describes the keyword.
- You've used the keyword naturally through the body — enough to be clearly on-topic, not so much that it reads as spam.
- There's at least one internal link to a related article — internal links are how crawlers discover your other pages (and on a custom domain they complement your automatic sitemap).
- The Google preview looks right and the title isn't truncated.
Do that consistently and the channel-wide health page will trend green — and once Search Console is connected, you'll see it show up in real rankings.