New posts, saved where your site keeps them
Each post arrives with its title, HTML body, excerpt, tags, author name, image link and SEO title and description.
Your developer picks the table it goes into and how it looks on your pages.
SEO publishing API for custom websites
New posts and rewritten page titles land in your own site, saved by your own code, with no copying and pasting. Your developer sets it up once with a few HTTPS endpoints that check each signed request.
Seven layers behind every post.
Not a developer? Send this page to the person who looks after your site's code.
A site built on its own code gets the same work as a WordPress or Shopify site. The difference is where it lands: in endpoints your developer wrote, saved by your own code.
Each post arrives with its title, HTML body, excerpt, tags, author name, image link and SEO title and description.
Your developer picks the table it goes into and how it looks on your pages.
Where the audit finds a missing, duplicate, too long or too short title, or a missing or duplicate description, the agent writes a new one.
If Search Console is linked, it starts with the pages closest to Google's first page. It reaches your site once your developer adds the optional SEO endpoint.
New connections start on Manual Publish.
RankHouse sends a post or a new title only when you press Publish, unless Agent Auto Publish is on.
RankHouse can call only the endpoints your developer built, and it can change only what that code allows.
It adds no scripts to your pages.
Once the endpoints are live, there's nothing more to build. Press Publish in RankHouse, or let Agent Auto Publish do it, and the item goes straight to your site.
In your RankHouse account, open Integrations, choose Custom Website, then create a key. It is 64 characters long and belongs to your website.
Three are required: a handshake, one that creates a post and one that updates it. The rest are optional. All of them sit under one address on your site, such as https://yoursite.com/seo-agent.
Paste that address into RankHouse and press Connect website. RankHouse sends a random challenge to your handshake endpoint. Your site signs it with the key and replies with the features it supports. Creating and updating posts must be on that list, or RankHouse won't connect.
Press Publish on each item, or turn on Agent Auto Publish, and the agent sends everything by itself: new posts go live on your site, and new titles and descriptions go live on their pages. The publishing list marks each item Live or Not published. If your site turns one away, its reason shows on that row.
A custom site connects with three endpoints. Each of the others adds a feature, so your developer can start small and add more later.
| What you get | Endpoints your developer adds | Needed to connect |
|---|---|---|
| A connected site | POST /handshake (runs when you connect and when you press Re-verify) | Yes |
| New posts and edits | POST /posts for new ones, PUT /posts/{id} for edits | Yes |
| New titles and descriptions on existing pages | PUT /seo (names the page by your id, its URL or its slug) | No |
| Page ids matched to your pages | GET /pages (runs when you connect and when you press Sync pages) | No |
| Your own categories and authors in the editor | /blog-categories and /authors, each with GET, POST, PUT and DELETE | No |
Endpoint list checked against the live product on October 15, 2026.
Features your site hasn't listed stay off. RankHouse sends nothing to those endpoints, and the Custom Website card in Integrations shows which features are on.
Your key doesn't change when you add a feature. Your developer adds it to the handshake reply, and you press Re-verify.
Requests are JSON. A new post carries these fields, and your developer maps them to the fields your site already has.
Many updates are small, such as a new body and nothing else. Ask your developer to change only the fields that arrive.
RankHouse signs every request it sends. Your developer's code checks the key and the signature, and turns away anything that doesn't match.
Connecting only works when your site signs RankHouse's random challenge with the same key.
A wrong key, or the wrong address, stops the connection before any content is sent.
RankHouse puts your 64-character key on each request.
Your code refuses anything without it. Store the key the way you'd store a database password: on the server, never in page code.
Each request also carries a timestamp and an HMAC-SHA256 signature of the timestamp and the body exactly as sent, made with your key.
Your code works out the same value and compares the two.
When RankHouse signed the request, counted in milliseconds since January 1, 1970.
Your code can set a limit, such as 300 seconds, and refuse any request signed earlier than that.
You can end access at any time. Press Disconnect on the Custom Website card in Integrations: it revokes the key and closes the connection at once. To reconnect, generate a new key, your developer swaps it in, and you press Connect website. To change the key without disconnecting, press Regenerate.
RankHouse has no login to your server, your database or your hosting. It knows one address and one key, and it can reach only what your developer put behind them.
Use an HTTPS address for your live site.
The same three modes apply as on WordPress and Shopify. New connections start on Manual Publish, and you can change the mode in Integrations at any time. See how the agent works day by day.
Everything waits in RankHouse.
Nothing reaches your site until you press Publish. Then a post is sent with a publish status and goes live, and a new title and description go straight onto the page.
You press Publish in RankHouse, and each post is sent with a draft status.
You check it on your site and publish it yourself. A new title and description has no draft stage, so it goes straight onto the page when you press Publish.
Completely automatic.
The agent sends everything by itself: new posts go with a publish status and go live, and new titles and descriptions go onto their pages, if your site has the SEO endpoint.
Your site must follow the status each post is sent with: a post sent with a publish status goes live, and a post sent with a draft status stays off your live site. If your developer's code treats the two the same way, change that before you pick a mode.
A person on our team works with your developer until the site is connected. Email us with your site's address, and expect a reply within 6 hours.
Webflow, yes: RankHouse connects to Webflow directly and publishes blog posts to your CMS, with no endpoints to build. Wix and Squarespace work through our publishing API, if your developer can add a few endpoints to your site. Once that's done, RankHouse publishes to it like any other site.
Yes, if your developer can add the endpoints in front of it and save what arrives into the CMS.
Only when you change something, such as adding a feature, a new key or a new address. If we ever change the request format, we'll email you at least 60 days before it changes.
It stays marked Not published in the publishing list. If you pressed Publish, the reason shows on its row. When your site is back up, select it and press Publish again. Agent Auto Publish tries a failed item up to three times, then leaves it waiting in that list.
One website per account. The agent writes for sites in English (United States).
Only what your developer built. RankHouse sends requests to the endpoints your site listed, and your code decides what to save. It never sets noindex, and it adds no scripts to your pages.
Everything RankHouse already sent is saved on your site by your own code, so it stays. Drafts you never published stay in RankHouse. To close the connection, press Disconnect in Integrations.
The audit, your keyword list and your first drafts appear in RankHouse whether or not a site is connected. RankHouse sends nothing to your site until the connection is verified, and then, by default, only what you publish.
Once the connection is verified, you can send everything written so far from Integrations, up to 50 items a run.
Seven layers behind every post.