early accessWorks with sites built on Astro, Hugo, 11ty, Jekyll, or Next.js.

We write your blog. You approve every word.

Posts in your voice, about things your customers actually search for. Each arrives as a pull request: approve it with one tap, or review it like code. Ignore it and nothing happens.

MergePress Content in detail

A writing gate stands between the AI and you.

Every draft is checked before a PR may open: a 1,600-word floor, heading structure, alt text on every image, at least one internal link, and forty banned phrases. Failures never become PRs. It runs offline, so it never checks whether a link answers — the build does that afterwards.

writer-gate: 0 failures required

The diff is one file. The checking happened before it.

A post PR adds the post and nothing else — no config churn, no vendored assets, nothing to untangle if you close it. Everything the draft had to clear to become that file is listed below.

the diff: one file, and what it had to clear

every-post.diff1 file · 6 checks
1## the post you approved. that is the entire change:
2+src/content/blog/winterizing-your-heat-pump.md (the whole diff)
3## before that file existed, the draft had to clear:
4+1,600 words of substance (a hard fail, not a warning)
5+at least one internal link in the body (the #1 fix for “Discovered, not indexed”)
6+alt text on every image (an empty alt fails the draft)
7+no image path that isn’t already a file in your repo (a broken image never merges)
8+forty banned phrases, from “leverage” to “in today’s fast-paced” (the anti-slop list)
9+a title, a description, and a date your build can parse (a future-dated post publishes to nobody)
10## then, once we’ve seen the page live: an IndexNow ping.

Approve from your inbox, or review it like code.

Owners approve by email with one tap. Developers review the PR like any other. Either way, the approval is recorded: who, when, how.

Verified live, by the words in the post.

We fetch the published page and look for the post’s own text in it, so a 404 that happens to list recent posts can never read as proof of life. Index tracking runs nightly on top of that, once your Search Console is connected. Regret a post? Revert the merge.

Fair questions

The ones people ask before letting anything near a site they’re responsible for.

Do you ever auto-publish?

Never. A merge needs a recorded approval: your one-tap email link, your PR review, or you merging it yourself. Silence means nothing ships.

Can you break my website?

No. Not because we’re careful, but because we’re constrained. Nothing reaches your site until you merge it, and GitHub blocks CI access server-side. The worst case is a PR you close.

Is there a contract?

No. Month to month, no minimum, no notice period. Founding rates lock in for as long as you stay. There is no cancel button in the app yet — today you tell us and we stop, and nothing is charged in the meantime because billing isn’t on. Leaving is one uninstall, not a migration.

What happens when I cancel?

You keep everything. It was always in your repo, so there’s no export because there was never an import. Uninstall the App and our access is gone instantly. Two footnotes: you remove our Google manager access yourself if you used Local (we remind you), and we keep the log of your approvals. That log is your own audit trail.

Are there hidden fees?

No. The listed price is the whole price for that site: no per-word charges, no meters, no setup fee, and your first Google Business Profile is in it. What is billed on top is countable and printed here — another site, or a second profile on the same one. A product that isn’t live yet is never billed at all.

Do I need to know git?

No. Owners approve from email with a preview and a one-tap link. Developers can review every diff like any other code.

What if I never get around to approving?

One reminder, then the cycle quietly expires and the slot rolls forward. Nothing is lost, and every expiry is recorded on our side where we can see it. We never treat silence as a yes.

Isn’t this just AI slop?

The opposite bet. Volume tools dump 30 unreviewed articles a month, the exact pattern Google now targets. We ship a few posts a human explicitly approved, with the audit trail to prove it.

Which products can I use today?

Content and Insights. Both need one setup step before anything can run: Content needs the GitHub App installed on a repo, and Insights needs our Google service account added to your Search Console property — until it is, the report prints “not connected yet” rather than a number. Local is fully built and waiting on Google’s Business Profile API approval; create your account and we onboard you the day it clears. Everything further out lives on the roadmap page, not the price list.

What do the products need access to?

Content: three GitHub permissions on the repos you choose. Insights: our Google service account added as a user on your Search Console property — the scope Google grants there also permits sitemap submission, which is the only write we make with it. Local: the same Google identity added as a manager on your profile. You remove either one whenever you like. None of them ever hold CMS logins or deploy keys.

Which platforms do you support?

Blog writing: git-backed sites (Astro, Hugo, 11ty, Jekyll, Next) on Cloudflare Pages, Vercel, or GitHub Pages. Local: any platform at all, Wix and WordPress included.

How do I know any of this is working?

We re-measure every change in your own Search Console data, 28 days before against 28 days after, and print the verdict either way. When a change loses, your report says loss.

Start in a few minutes.

Sign up, install the app, and the first pull request follows. Prefer a person first? Email us.

Start free

Free while we finish setting up billing. No card, and cancel any time from your own account page.