Skip to content
Sign in

SEO publishing API for custom websites

A custom site, connected once by your developer.

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.

What a custom site gets from RankHouse

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.

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.

Clearer titles on pages already on your site

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.

You choose when anything is sent

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.

Your code has the last word

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.

How the connection works

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.

  1. Get a key

    In your RankHouse account, open Integrations, choose Custom Website, then create a key. It is 64 characters long and belongs to your website.

  2. Your developer adds the endpoints

    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.

  3. Connect and verify

    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.

  4. Publish the way you choose

    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.

Required and optional endpoints

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 getEndpoints your developer addsNeeded to connect
A connected sitePOST /handshake (runs when you connect and when you press Re-verify)Yes
New posts and editsPOST /posts for new ones, PUT /posts/{id} for editsYes
New titles and descriptions on existing pagesPUT /seo (names the page by your id, its URL or its slug)No
Page ids matched to your pagesGET /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 DELETENo

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.

What each request carries

Requests are JSON. A new post carries these fields, and your developer maps them to the fields your site already has.

  • The title, the body as HTML, and a short excerpt.
  • A status of draft or publish. Your site decides what each one means, so ask your developer to keep drafts off the live site.
  • Tags, category names and the name of the author.
  • A link to the post's image.
  • An SEO title, description and keywords.
  • A RankHouse id to store with the post, so a post sent a second time updates the first copy instead of making a new one.
  • The date, reading time and language, when RankHouse has them.

Many updates are small, such as a new body and nothing else. Ask your developer to change only the fields that arrive.

Security: a key and a signature on every request

RankHouse signs every request it sends. Your developer's code checks the key and the signature, and turns away anything that doesn't match.

The handshake

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.

Your key

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.

The signature

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.

The timestamp

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.

Publishing modes on a custom 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.

Manual Publish (the default)

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.

Manually Publish as Draft

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.

Agent Auto 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.

Setup help for your developer

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.

Questions about custom sites

01Does it work with Wix, Squarespace or Webflow?

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.

02Does it work with a headless CMS?

Yes, if your developer can add the endpoints in front of it and save what arrives into the CMS.

03Will my developer need to do more work later?

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.

04What happens if my site is down when RankHouse sends something?

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.

05Can I connect a custom site and WordPress to the same account?

Yes. New posts go to every active connection. Title and description updates go to one: WordPress first, then your custom site, then Shopify.

06How many websites can one account connect?

One website per account. The agent writes for sites in English (United States).

07What can RankHouse see and change on my site?

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.

08Where does the work live if I leave?

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.

Start with your site. Connect it when your developer is ready.

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.