Skip to main content

Publish optimised version of existing page

Show your improved page on the same URL visitors already use. Menu, cart, and cookie banners stay yours.

What this is for

Use this when you want the **same address** (for example yoursite.com/pricing) to show the improved content, while keeping your existing layout. You connect once via Cloudflare, Vercel, or AWS. After that, each generation can publish as an update on that URL. Need a separate landing URL instead? See Publish on a subdomain.

Who can use this

This approach is available on the Enterprise plan. Upgrade from Pricing or Account → Plan. Only **Optimised original** (preserve layout) generations can publish this way. Landing-page style must use a subdomain.

How it works

Open **Settings → Hosting → Publish optimised version of existing page**, pick the page URL, then **Connect your platform** on one screen: 1. Confirm the detected platform. 2. Click **Generate environment variables**, then copy the three settings into your host. 3. **Download** the helper file. 4. Follow **What to do in …**, redeploy, and **Check connection**. Then, when a generation is ready, choose this approach at publish time.

Connect Cloudflare, Vercel, or AWS

Inseo detects your platform from the live page and picks the helper file for you. Under **Environment variables**, click **Generate environment variables** — that creates a private site key for this page. Copy **INSEO_API_BASE**, **INSEO_SITE_KEY**, and **INSEO_PATH_PATTERN** into that platform’s private settings, then **Download** the helper file. **Important:** INSEO_API_BASE must be a public Inseo API URL (not localhost) so Cloudflare/Vercel/AWS can reach Inseo. Follow **What to do in …** on that same screen, redeploy, then click **Check connection** (at the top of the detect card or below the steps). For Next.js on Vercel (middleware vs proxy vs existing middleware), see the section below.

Cloudflare: Worker on your domain (CDN in front)

Use Cloudflare when it already sits **in front of your origin** (DNS on Cloudflare, hostname **Proxied** / orange cloud). Your site can stay on WordPress, a VPS, Hybris, or any other host — Inseo does not need the site itself to live on Cloudflare Pages. 1. Create a Worker and paste the helper file. 2. Add a **route** on the **zone for that hostname** (pattern shown on the Hosting screen, for example `yoursite.com/pricing*`). 3. Keep the hostname **Proxied**. Grey-cloud (DNS only) will not run the Worker for visitors. 4. Add the three environment variables on the Worker, wait about a minute, then **Check connection**. The Hosting screen and the AI setup prompt use these same steps.

Vercel + Next.js: which helper file?

Inseo scans your live page and **chooses the install for you** — you do not pick a tab in the Hosting screen. **No middleware yet (most sites):** • **Next.js 15 or older** (webpack build) → download **middleware.js** and save as **src/middleware.js** when your app uses src/app. • **Next.js 16 or newer** (Turbopack default) → download **proxy.js** at the project root or in src/. The first step under **What to do in Vercel** mentions which one Inseo detected for your URL. **Already have middleware.js/ts or proxy.js/ts?** Do **not** add a second root file — Vercel allows only one. Download the composable helper **inseoPatch.js**, save it as **lib/inseoPatch.js**, and wrap your existing handler with **withInseoPatch**. Your redirects, rewrites, and auth logic stay in control; Inseo only patches HTML when your code passes the request through. After any code or env var change, **redeploy** on Vercel before **Check connection**.

Check connection

After the platform deploy finishes, click **Check connection** on the Hosting screen (in the detect card or below the platform steps). When status shows **Connected**, setup is done for that URL. You can rotate the site key or pause later under Advanced.

Publish a generation

Open a finished **Optimised original** generation → **Publish** → choose **Publish optimised version of existing page**. Confirm and publish. Visitors on that URL get the improved content; your site chrome stays in place.

If Check connection fails