Now livePublishes straight intoWordPress,Shopify,Wix, Webflow and Ghost. Any other site, hosted on your own domain →

Connect your site once and Helio takes it from there

Do not take our word for how simple this is. This page is the entire setup, in public: every step, the exact webhook specification, the same prompt customers get. Every path ends the same way. Helio writes daily, you approve each draft or switch to automatic, and the article appears on your site.

Inside your account all of this comes pre-filled. You get your exact routing rule or DNS record and the prompt with your details in it. A one-click connection test is there too. This is the manual version, so you can see how little there is first.

WordPress

Articles arrive as native posts in your existing blog, on your own theme. The easiest way is our plugin: one key, and it keeps itself up to date.

  1. In your Helio account, open Connect, choose WordPress and download the plugin.
  2. In WordPress, go to Plugins → Add Plugin → Upload Plugin. Choose the file, press Install Now, then Activate.
  3. Go to Settings → Helio SEO, paste the connection key from your account and press Sync now.

Rather not add a plugin? Connect through the WordPress API instead. Create an Application Password under Users → Profile. Then paste your site address, username and that password into Connect. Test the connection signs in as you and confirms by name.

Shopify

Articles post to your store's blog, so your shop ranks for buyer searches.

  1. Open the Shopify Dev Dashboard at dev.shopify.com and create an app called Helio SEO.
  2. In the app's access settings, add the Admin API scopes write_content and read_content, then release a version.
  3. Install the app on your store.
  4. In Helio's Settings, choose Shopify and paste your shop address with the app's Client ID and secret. Save.
  5. Press Test the connection. It lists your blogs with their IDs. Save the one you want and test again.

Webflow

Articles publish as live items in your Blog Posts collection, in your own design.

  1. In Site settings, open Apps and integrations. Generate an API token with CMS read and write and Sites read access.
  2. Open your Blog Posts collection's settings and copy its Collection ID.
  3. In Helio's Settings, choose Webflow and paste both. Helio finds your site's address itself.
  4. Press Test the connection. It checks the collection has a Rich Text body field and no required field Helio cannot fill. The default body slug is post-body; change it in Settings if yours differs.

Webflow removes our read counter from posts, so reads on your Webflow site are not counted. Search Console still covers them.

Ghost

Articles publish straight to your Ghost publication.

  1. In Ghost admin, open Settings, then Advanced, then Integrations. Add a custom integration called Helio SEO.
  2. Copy the API URL and the Admin API key.
  3. In Helio's Settings, choose Ghost. Paste the API URL into the address box and the key into the key box.
  4. Press Test the connection. It confirms your site by name.

Wix

Articles publish straight to your Wix blog as native posts.

  1. In Wix, click your avatar at the top right and open Account Settings, then API Keys. Generate a key called Helio SEO with All site permissions.
  2. Copy your Site ID from the same page. It is also in your site dashboard's web address, after /dashboard/.
  3. In Helio's Settings, choose Wix and paste both.
  4. Press Test the connection. Your site needs the free Wix Blog app added.

Squarespace, and any other site

We host your blog on your own domain. These are real pages that search engines index as yours, in your brand, kept up to date for you. Works on any site, whatever it is built with. Two flavours.

Easiest, a subdomain (blog.your‑business.co.uk). One DNS record.

  1. In your Helio account, open Connect, choose Host on my domain, then On a subdomain, and save.
  2. At your domain provider, add the CNAME record shown: name blog, value sites.helioseo.io.
  3. Give it 10 to 15 minutes and press Check it's live. Certificate, hosting and daily updates are handled by us.

Best for SEO, your main domain (your‑business.co.uk/blog). Is your site behind Cloudflare, Netlify, Vercel or your own server? One routing rule sends the /blog folder to us. Your account shows the exact snippet for your setup, ready to paste. Your blog then lives on your root domain, where it earns the most authority.

Not sure which fits? The integration guide in your account sees how your site is set up. It tells you exactly what to do, step by step.

Built your site with AI?

Made with Lovable, Bolt, v0, Cursor, Claude or another coding agent? You do not need to touch code.

The simple version, no code at all: use hosting on your own domain, above. Add one DNS record, or one routing rule your agent can add for you. We then serve your blog on your own domain.

The native version, where articles become part of your site's own codebase. Copy this to your agent and it does the work.

Build a webhook receiver and blog for my site: 1. Add POST /api/helio-seo. Verify the X-HelioSEO-Signature header: it is the hex HMAC-SHA256 of the raw request body, using the shared secret HELIO_SEO_SECRET from my environment variables. Reject bad signatures with 401. 2. The payload is JSON: {"event":"article.published","customer":"...","article":{ "id","slug","title","seo_title","meta_description", "primary_keyword","body_html","card_url","published_at"}} On "article.published", store the article. On "article.updated", replace the stored article with the same slug. On "article.withdrawn", remove it from the site. On "article.test", store nothing. Return 200 for all four. After storing an article, reply with {"url": "https:///blog/"} so Helio knows its address. 3. Render stored articles at /blog/{slug} using my site's layout, with the title as h1, seo_title as the page title tag, meta_description as the meta description tag, card_url as the social sharing image, and body_html as the article body. body_html is complete: keep its <style> block and its small counter image. 4. Add a /blog index page listing articles newest first, and add it to my navigation.
  1. Give your agent the prompt above with your chosen secret.
  2. Paste the same webhook address and secret into Helio's Settings under Developer webhook and press Test the connection. Your new endpoint gets a signed test event.

Developers: the webhook, in full

One signed POST per event. Verify, store, render, return 2xx.

POST your-endpoint Content-Type: application/json X-HelioSEO-Signature: hex(HMAC-SHA256(raw_body, shared_secret)) { "event": "article.published", "customer": "your-slug", "article": { "id": 1234, "slug": "choosing-a-boiler-service-plan", "title": "Choosing a boiler service plan that actually covers you", "seo_title": "Boiler service plans: what they really cover", "meta_description": "...", "primary_keyword": "...", "body_html": "<style>...</style><div class=\"helio-article\">...</div>", "card_url": "https://helioseo.io/cards/your-slug/choosing-a-boiler-service-plan.png", "published_at": "2026-08-11T09:05:00+00:00" } }

There are four events, all with the same shape:

  1. article.published: a new article. Store it and show it at its slug.
  2. article.updated: an article you already have was improved. Replace the one with the same slug.
  3. article.withdrawn: take it down. The article carries only its id, slug and title.
  4. article.test: sent by Test the connection, with a sample article and an id of null. Use it to check your signature end to end. Store nothing and return 200.

body_html is complete and ready to place. It holds a small scoped style block and the article in a readable panel. It also has your next-step button if you set one and a small "Powered by Helio SEO" line. Last is a 1-pixel image that counts reads. Keep all of it.

Reply with {"url": "https://..."} to tell Helio the article's live address. Helio then links to it, and keeps its own copy out of search. Return any 2xx. Helio does not follow redirects, so save your endpoint's final address.

After your first article goes live

Every theme is different. Helio checks your first live article on the real page and fits the layout to your site. That covers reading width, heading sizes and how the title lines up. You get one email saying what it set.

Sometimes your site needs something from you, such as a plugin update. That email then says exactly what, step by step. It is rarely needed and takes a minute.

Stuck for more than five minutes?

Email hello@helioseo.io and we will set it up with you the same day.

A mechanic checking a tablet in his garage

Your first article can be live today

Point Helio SEO at your website and approve your first draft this afternoon. 7 days free, no card. From £29 a month.

Keeping your LinkedIn going too? Helio Posts writes your company page’s posts and publishes them on the days you choose.