Ghost
Agents write and refresh your posts, and set the canonical tags and schema most platforms will not let them touch. You decide what goes live.

Each local area page used to take us half a day to create and optimize.
With SEOmatic, we can create hundreds of pages in the same time, which helps our clients make the best use of their budget.
It's transformed how we deliver scalable SEO solutions.
Will Hawkins
Marketing Director, Digi-Business UK
Agents read your Search Console data, do the work, and prove what actually moved. You decide what ships.
14-Day Free Trial. $1 card check, refunded. Cancel Anytime.
Agents write new entries and improve the ones you already published. Because Strapi is your own instance, they work carefully: nothing is invented in your schema and nothing outside the edit is overwritten.

SEOmatic connects to your Strapi instance with an API token. Agents write new entries and improve existing ones, reading each entry first so a partial edit never clears the fields around it.
All integrations are included in every plan. Plans start at $99/month. See pricing.
A Strapi instance reachable over the internet, running v4 or v5, and an API token with create and update permissions generated under Settings > API Tokens. Meta fields additionally need the community SEO plugin, which many Strapi starters already include.
Visit our blog to learn more about programmatic SEO and how it can help your business generate more traffic, leads, and sales.
SEOmatic connects to your Strapi instance through the API, then works on the entries you already have.
Step 1: In your Strapi admin, go to Settings, then API Tokens, and create one with full access, or custom access with create and update.
Step 2: In SEOmatic, go to Connections and select Strapi. Paste your API URL and the token, then pick the collection to work in.
Step 3: Agents read your Search Console data, find what is holding those entries back, and propose the changes with the reasoning attached.
Step 4: You approve what you want. Approved work is written to your instance, logged as a diff you can read, and undone in one click if you change your mind.
New entries written from research, plus rewrites of the title, body and slug on ones already published.
Agents write only what your content type already has. An unknown field would fail the whole save, so they never guess.
Meta is merged into your existing SEO component, so your canonical, keywords and social fields are not blanked.
The agent arrives switched off and starts in approval mode. It earns more rope only when you give it.
A before and after view with the reasoning attached, so you see what changed and why.
Any change rolls back to its previous value. Low-risk edits that cost you traffic revert on their own.
Draft and publish behaviour differs between the two majors. Agents detect which you run and write accordingly.
Strapi v5 will publish a draft if the request is shaped carelessly. Agents send the state explicitly so it cannot happen.
Everything goes through the Strapi API, so whatever renders your content keeps rendering it the same way.
Strapi has no core SEO fields, so most projects lean on a community plugin that changes hands and breaks on major upgrades. Agents work through the API instead, so there is nothing extra in your instance to go stale.

A large catalogue usually means hundreds of products sharing a supplier description. Agents write a real one for each from your own product data, and you review sample entries before any of it is published.

Template libraries and starter-kit pages bring in developers searching for a specific pattern. Agents write the entry behind each one, then keep an eye on how they perform and refresh the ones that slip.

People search by theme and use case, not by the way your content is filed. Agents find the groupings with real demand behind them and write an entry for each, so those searches land somewhere instead of nowhere.
Will an edit disturb fields the agent was not changing?
No. Agents send only the fields they are changing, and for anything grouped into a component they read the current values first and merge into them. That matters on Strapi because a partial write inside a component clears the keys you leave out, which is how a meta update can quietly wipe a canonical URL or a set of keywords.
Will it write my meta titles and descriptions?
Only if your project has somewhere to put them. Strapi has no built-in SEO fields, so meta lives in the community SEO plugin's component, which many starters include and many projects do not. When it is there, agents write into it. When it is not, they hand you the meta they wrote rather than inventing a field, because an unknown field fails the entire save and would take your title and body down with it. Worth knowing either way: SEOmatic adds nothing to your instance. If the plugin breaks on your next major upgrade, as community plugins periodically do, the agents keep working, because they talk to the API rather than living inside your admin.
Can agents set canonical tags, noindex or schema markup?
Not directly. Strapi stores your content, and page-level SEO directives are rendered by your front end, so those changes come to you as written instructions. On WordPress the same agent writes all three itself.
Does it work with Strapi v4 and v5?
Both. The two majors handle draft and publish state differently, and v5 in particular will quietly publish a draft if the request is shaped the v4 way. Agents detect which major your entry came from and send the publication state explicitly, so an unpublished entry stays unpublished.
Will it find all my collections?
Not always, and this is a Strapi constraint rather than a choice. API tokens cannot read the content-type builder, so there is no way to list your collections. SEOmatic checks the common names, articles, pages, posts, blogs and similar. If yours is called something else you enter its plural API ID once and it works from then on.
Does the change show up on my live site straight away?
That depends on your front end. Strapi is headless, so the entry updates immediately and your site reflects it on its next build or revalidation. If your site is statically generated, the change is live in Strapi before a visitor sees it.
What if the agent makes a change I do not like?
Every edit stores the previous values before it writes, so a change goes back to what it was in one click. The agent starts in approval mode, so by default you see each change before it is applied, and entries you mark as protected keep waiting for your yes. One honest limit: restoring a field that was previously empty is handed to you rather than applied automatically, because an empty value is treated as leave alone rather than clear.
What happens to the work if I cancel?
It stays yours. Agents write into your own Strapi instance, so the entries and edits are simply part of it. Nothing reverts or disappears if you stop paying.
See what agents can do on the other platforms SEOmatic connects to.
Agents write and refresh your posts, and set the canonical tags and schema most platforms will not let them touch. You decide what goes live.
Agents write and improve the entries in your Contentful space, meta fields included. You decide what goes live.
Agents write and improve the documents in your Sanity dataset, patching only the fields they own. You stay in control of what ships.
Agents fix titles, meta, content and schema on your live WordPress site. You stay in control, and every change can be undone.
Agents work through your CMS collections item by item, fixing the SEO nobody has time to maintain. You stay in control.
Agents write your blog, build the collection and landing pages you are missing, and repair the pages that are slipping. You decide what goes live.