SEO for SaaS
Start
How it works, end to end

From your URL to articles that earn clicks, and back again when they lose them.

Once your blog and Google Search Console are connected, the 6 stages below run for you. Each one shows a real thing it made for our own apps.

01 · Topics

Topics your buyers search for, checked against what you already cover

We read your site or App Store listing, pull keyword data, drop what doesn't fit your product, and check every topic against what you've already published. Comparisons and alternatives, the articles people read when they're choosing, get extra weight.

  1. Read your site or app listing
  2. Pull keyword data and search results
  3. Keep what fits your product
  4. Skip what you already cover
TopicTypeDemandWhy
opal vs screenzencomparison50 searches a monthDifficulty 0
best app blockersrewrite54 impressionsPosition 8.6
screenzen reviewcomparison20 searches a monthNames a competitor
Mado's topics, Sep 29, 2026
02 · Research and write

Claims link to the source they came from

We read what ranks, research the facts on the web, outline an article that answers the query better, write it, then fact-check and edit it, with up to 2 revision rounds.

  1. Read Google's first page
  2. Build a research dossier
  3. Outline, then write
  4. Fact-check, then edit
florium.app/blog/monstera-plant-care-guide

Start by identifying which Monstera you have

A plant commonly sold as Monstera deliciosa develops large leaves and, with maturity, their familiar openings. Young M. deliciosa leaves may be whole: only mature leaves develop the characteristic holes. That is a growth stage, not necessarily a problem to solve.
  • Source: plants.ces.ncsu.edu
  • Fact-checked
  • 23 sources behind the article
03 · Images and links

Finished articles, not bare text

Every article gets a cover and section images in one of 8 styles, from natural photos to hand-drawn ink, in your brand colors. It also gets FAQ, article, and list schema, plus links to your other articles. When a new article goes live, up to 5 older articles that mention its topic can link to it.

  • Sample cover in the natural photo styleNatural photo
  • Sample cover in the people and moments stylePeople and moments
  • Sample cover in the still life styleStill life
  • Sample cover in the brand duotone styleBrand duotone
  • Sample cover in the brand art styleBrand art
  • Sample cover in the flat illustration styleFlat illustration
  • Sample cover in the soft 3D styleSoft 3D
  • Sample cover in the hand-drawn ink styleHand-drawn ink
One topic, 8 styles. Pick one for each site.

A new article gets a link from older articles that already mention its topic, on those words: up to 5 of them, and often none.

04 · Deliver

On your domain, in your templates

Articles arrive as structured blocks through a read-only API and a signed webhook, plus a sitemap feed with accurate last-modified dates. Ready-to-paste components and guides for Next.js, Astro, and static sites. Publish automatically, or review every draft first.

No WordPress plugin yet. You or a developer connect your blog once.

// your webhook receives
{ "event": "content.created", "projectId": "…" }
// your site fetches the article
GET /api/v1/projects/{id}/content/by-slug/{slug}
// and lists it in your sitemap
GET /api/v1/projects/{id}/content/sitemap
05 · Guard and rewrite

When an article loses clicks, we rewrite it

Connect Google Search Console (read-only). Site Guard, our check for articles losing clicks, looks at every article for fewer clicks than expected, 2 articles competing for one query, a weak title or description, and pages Google hasn't indexed. We rewrite the ones that lose clicks on the same URL, so they keep their history.

Fewer clicks than expectedSite Guard · Mado

Why does my iPhone say I've reached my time limit when I haven't?

Shown 17,184 times since June, clicked 48 times: 0.3% at an average position of 7.

Rewritten on the same URL, Sep 20, 2026Title and answer aimed at the queries it already ranks for
06 · Measure

See what every article earns

Clicks, impressions, and the queries behind each article, whether Google has indexed it, and where your keywords rank, week by week.

Mado: clicks from Google, week by weekSearch Console
Mado: clicks from Google, week by week
  1. 0Week of Jun 8: 0 clicks
  2. 0Week of Jun 15: 0 clicks
  3. 0Week of Jun 22: 0 clicks
  4. 1Week of Jun 29: 1 clicks
  5. 4Week of Jul 6: 4 clicks
  6. 8Week of Jul 13: 8 clicks
  7. 4Week of Jul 20: 4 clicks
  8. 4Week of Jul 27: 4 clicks
  9. 12Week of Aug 3: 12 clicks
  10. 25Week of Aug 10: 25 clicks
  11. 44Week of Aug 17: 44 clicks
  12. 37Week of Aug 24: 37 clicks
  13. 35Week of Aug 31: 35 clicks
  14. 54Week of Sep 7: 54 clicks
  15. 82Week of Sep 14: 82 clicks
articles indexed
61 / 69
queries on Google's first page
549
clicks in 28 days
228

Compared with the alternatives

ChatGPT, by handA freelancerSEO for SaaS
Topic researchYou do itDepends on the writerKeyword data for every topic
SourcesUnchecked, can be made upDepends on the writerCited and fact-checked
PublishingCopy and pasteYou upload itAPI and webhook
When an article loses clicksYou might noticeAnother paid jobRewritten on the same URL

What we don't do yet

So you know before you buy.

  • No WordPress, Webflow, or Ghost plugin: delivery is an API and a webhook
  • One language per site
  • No backlinks or outreach
  • No editor in the dashboard: to change an article, ask for a rewrite (it counts toward your monthly rewrites)
  • No tracking of mentions in ChatGPT or other AI answers

All 6 stages, on every plan.

Add your site. With Autopilot on, your first articles start the moment you subscribe.

From $49 a month. Cancel anytime.