Get Revnu's Posts Onto Your Site
Which way to publish Revnu's posts for your kind of site, from Next.js and static sites to Wix, Lovable, Webflow, Shopify and WordPress, a subfolder or a subdomain, a reverse proxy, a headless CMS, and how to keep your old posts.
Revnu writes the posts. Your site shows them. How they get there depends on what your site is built with:
Most sites with a developer: the Content API. Your site fetches the posts and renders them in its own design, on your own domain.
No developer: the Revnu-hosted blog on a subdomain such as blog.yourdomain.com, which takes one DNS step.
Pick the setup for your site
| Your site | What to use | Who does the setup |
|---|---|---|
| Next.js or Astro | The Content API, rendered on the server or at build time | Your developer or coding agent, once |
| A static site (built ahead of time) | The Content API plus a rebuild hook, so each new post triggers a rebuild | Your developer, once |
| Sanity, Contentful, Strapi or another headless CMS | The Content API. Your site's frontend reads Revnu's posts next to your CMS content | Your developer, once |
| Wix, Squarespace, Webflow, Framer or Ghost, a Lovable or Vite app, or any site that can't run its own server code | The Revnu-hosted blog, on a subdomain like blog.yourdomain.com | You, by adding a DNS record |
| WordPress or Shopify | The Revnu-hosted blog on a subdomain, or a developer connecting the Content API | You, or a developer |
| You want it at yourdomain.com/blog, and your site can't render the Content API | A reverse proxy to your Revnu-hosted blog | Your developer adds one rewrite rule, and Revnu's team sets your address on its side |
| Any site whose code is in a GitHub repo | Pull requests that add each post to your repo | Revnu opens them, you merge |
The setup pages:
The Content API and rendering posts in Next.js or Astro are for your developer.
The Revnu-hosted blog covers the subdomain, the DNS record and the reverse proxy.
Posts as GitHub pull requests covers the repo route.
Set it up
For the Content API:
Enter your blog's address
Open Visibility > Posts. Type your blog's address, for example yourcompany.com/blog, and click Continue.
Choose what happens to your old posts
If Revnu finds posts already published there, choose Import All N Posts (N is how many it found) or Start with New Posts Only. See Keep your old posts and their URLs.
Hand the key and the prompt to your developer
On the Connect Your Site screen, click Copy Key and Copy Setup Prompt, and give both to your developer or coding agent. The key goes in a server-side setting, never in the page.
Warning
The key is shown once. Copy it before you leave the screen. If it's lost, rotate it in Visibility > Publishing Settings. The old key stops working straight away.
Tell Revnu it's deployed
When your developer has deployed it, click I've Connected It. Revnu checks the live site and reports back.
For the hosted blog instead, tell Revnu in chat which subdomain you want, for example "put my blog on blog.acme.com". It sends you the DNS records to add.
Subfolder or subdomain?
A subfolder is yourdomain.com/blog. A subdomain is blog.yourdomain.com. Both can rank, and Revnu sets the canonical tag correctly for either one. The real difference is the work:
| Subfolder (yourdomain.com/blog) | Subdomain (blog.yourdomain.com) | |
|---|---|---|
| How | The Content API, or a reverse proxy | The Revnu-hosted blog plus one DNS record |
| Needs a developer | Yes | No |
| Design | Content API: your site's design. Reverse proxy: the hosted blog's design | The hosted blog's design |
| Search Console | Your main site's property | A domain property covers it, or add the subdomain |
Tip
Pick the one you can set up this week and keep running. A blog that's live beats a better setup that's stuck waiting on a developer.
Why single-page apps need the hosted blog
Search engines and AI engines read the HTML your server sends. A Wix page, a Lovable or Vite app, or any site that builds its pages in the browser sends very little of that, so posts fetched there are close to invisible. The hosted blog sends complete pages. Use it for these sites, or have a developer render posts on the server.
Adding a blog app inside your site builder, such as the Wix Blog app, doesn't connect anything to Revnu. Revnu doesn't publish into site-builder blogs.
WordPress and Shopify
Three ways get Revnu's posts onto a WordPress or Shopify site. (The setup screen may also show One-Click WordPress Connect Is Coming Soon, or Shopify.)
Put the Revnu-hosted blog on a subdomain such as blog.yourdomain.com. This needs no developer.
Have a developer connect the Content API to your theme.
Click Contact Support on that note, or email support@revnu.com, and a person replies by email to help you choose.
Your existing posts:
WordPress. When you enter a WordPress blog's address, Revnu reads WordPress's own list of your posts, so it can find, count and import them with Import All N Posts.
Shopify. Revnu doesn't read Shopify's post list. It can only find posts that are linked from the blog page you enter, so expect most Shopify posts to stay in Shopify. If you move to a subdomain, they stay where they are, at their current addresses.
Your posts live in Sanity and must stay there
Revnu doesn't write into Sanity or any other CMS. The supported setup is for your site's frontend to read Revnu's posts from the Content API and show them next to your CMS content.
If your team needs every post inside Sanity anyway, your developer can write a small sync job. It's a workaround that you own, not a Revnu feature:
Page through
GET /postsuntilcursoris null.For each post, fetch
GET /posts/{slug}and create or update the Sanity document with that slug. Storebody.markdown(GitHub-flavoured markdown) if your CMS takes markdown, orbody.htmlif it takes rich text.Delete any Sanity document whose slug is no longer in the list. A post missing from the list was removed in Revnu.
Run the job from the rebuild hook ping, so it runs whenever a post is published, edited or removed.
Images aren't copied for you. heroImageUrl and any images in the body are URLs that Revnu hosts. If Sanity must own its images, the job downloads each one and uploads it to Sanity.
Your team then owns the canonical URLs, removals and redirects on your side. Revnu doesn't build the sync job for you. For questions about it, email support@revnu.com. Fields and paging: List posts and Get a post.
Keep your old posts and their URLs
When Revnu finds an existing blog, the setup offers two choices. Either way, your old posts stay where they are until you choose otherwise.
Import All N Posts. Revnu copies each post at its current URL and date, so it can improve the whole library.
Imported posts show an Imported tag in Visibility > Posts. Any change Revnu makes to them follows your Blog Posts approval setting.
Nothing on your live site changes until your new setup is deployed and checked. Revnu checks every old URL on the new setup before calling the move done.
Any post it can't copy is listed under N posts not copied with the reason, for example "The page returned 404", "Couldn't fetch the page" or "Post is too long to import". It stays where it is. Click Retry the Rest to try those again once the cause is fixed.
Start with New Posts Only. Nothing is copied. Your old posts stay in your current system, and your site shows both sets together in one blog index and one sitemap.
Revnu says it found no posts, but I have some
Revnu finds existing posts by reading the links on the page you enter. It misses them when:
You entered the wrong page. Enter the page that lists your posts, for example yourcompany.com/blog, not your homepage. Click Change URL to try again.
The list is built in the browser. A blog index that only fills in after JavaScript runs looks empty to Revnu.
Your posts aren't linked from one page. For example, they sit in several folders.
Starting with new posts only is safe: your old posts stay exactly where they are. If you want some of them brought across, tell Revnu in chat which URLs to import.
Who owns the posts and the URLs
With the Content API, the posts live at URLs on your domain, served by your site. Every post's canonical tag points at your domain. Section 7 of Revnu's terms, "Your content + data", says you keep ownership of everything you give Revnu. Your developer can also save every post's full text and HTML through the Content API at any time: if you leave.
If you don't want a blog
A blog is optional, and you choose which channel Revnu starts on. Tell Revnu in chat:
I don't want a blog or SEO for now. Don't suggest it again unless I ask.
It remembers that and won't keep suggesting a blog.
If a daily post is already running, ask it to "stop the daily blog post". That stops the writing. Setting Blog Posts to Ask Me First in Settings > Agent only stops publishing: Revnu keeps drafting a post a day for you to approve, until three are waiting.
Visibility still tracks how AI answers mention you without a blog. You can change your mind later.
Next step
Frequently Asked Questions
Yes, through the Revnu-hosted blog on a subdomain such as blog.yourdomain.com. These sites build pages in the browser, so posts fetched into them aren't reliably seen by Google or AI engines. The hosted blog serves complete pages. Add the DNS records the hosted blog's card shows wherever your domain's DNS is managed, which may be your site builder.