Setup guide
Yes, whatever serves the rest of your site. If acme.com's DNS is on Cloudflare with the record proxied (orange cloud), a short Worker on the routes acme.com/blog and acme.com/blog/* fetches the blog from us and leaves every other path alone. Cloudflare's free plan covers 100,000 Worker requests a day.
wrangler dev) against our live edge, 2026-10-14acme.com/blog/hello-world/sites.amplifysignal.com/b/acme.com/hello-world/acme.com/blog/, with canonical tags and links to matchIn AmplifySignal, open Settings → Blog address, enter https://acme.com/blog and save. Nothing public moves until the check passes.
In Workers & Pages, create a Worker from the Hello World template, replace its code with this, and deploy:
const PREFIX = "/blog";
const ORIGIN = "https://sites.amplifysignal.com/b/acme.com";
export default {
async fetch(request) {
const url = new URL(request.url);
if (url.pathname === PREFIX || url.pathname.startsWith(PREFIX + "/")) {
return fetch(new Request(ORIGIN + url.pathname.slice(PREFIX.length) + url.search, request));
}
return fetch(request);
},
};It builds the upstream URL from a constant rather than editing the visitor's URL, so the path, the trailing slash and the query string pass through untouched, and the scheme and port can't leak in. Redirects from the blog go back to the browser as they are, and fetch sends sites.amplifysignal.com as the Host on its own.
In the Worker, open Settings → Domains & Routes → Add → Route, pick the acme.com zone and add acme.com/blog, then again for acme.com/blog/*. If visitors use www.acme.com, the routes name that host instead. Using wrangler? This config deploys the Worker and both routes:
{
"name": "blog-proxy",
"main": "worker.js",
"compatibility_date": "2026-10-14",
"routes": [
{ "pattern": "acme.com/blog", "zone_name": "acme.com" },
{ "pattern": "acme.com/blog/*", "zone_name": "acme.com" }
]
}Three requests from any terminal show whether the rule works before you press anything:
curl -sI https://acme.com/blog/ | head -1
# HTTP/2 200
curl -s https://acme.com/blog/_verify.json
# {"edge":true,"host":"acme.com","service":"amplifysignal"}
curl -sI https://acme.com/blog/<an-article>/ | head -1
# HTTP/2 200A 301 on the article that points at the same URL, again and again, means something on the way is dropping the trailing slash. "edge":false means the rule points at amplifysignal.com instead of sites.amplifysignal.com.
Then press Check in Settings → Blog address, or run as site blog-check acme.com. Check fetches /_verify.json through your address and passes when it answers for this site through our edge. From then on, links, canonical tags, the sitemap and the RSS feed use your address, and the old /b/ links redirect to it.
acme.com/blog*. It works, because the code checks the path, but it also runs on /blogroll and spends requests doing nothing. Two routes are exact./blog falls through to your normal host. Fail closed shows an error instead.amplifysignal.com/b/…. Use sites.amplifysignal.com; our main domain redirects a verified blog's visitors back to your address, and the Worker would chase them in a circle.Only where that host allows Cloudflare's proxy in front of it. Webflow does through Orange-to-Orange on a paid site plan; Lovable has a custom-domain option for it; Framer documents a Worker in front only on its Advanced Hosting add-on. Each has its own guide below.
No. The free plan's 100,000 requests a day is plenty for most small blogs. Static assets your site serves elsewhere don't count; only requests on the two routes do.
Not below Enterprise. Origin Rules can rewrite the Host header and resolve to another hostname, but those overrides are Enterprise-only, so on Free, Pro and Business a Worker is the way.
It never runs outside /blog: the routes decide which requests reach it.
sites.amplifysignal.com is our edge: a request there tells us it came through your proxy, so we serve the page as yours. Once your address is verified, amplifysignal.com redirects a blog's visitors to your address instead, so a proxy aimed there would send people in a circle. Check names the problem if a rule points at the wrong one.
The mechanics carry over: swap the destination for any server that hosts your blog under a path. Copy two things along with them. Keep the trailing slash if that server's URLs end in one, and make sure its links and canonical tags name your address, or search engines index the other host instead. Ours switch the moment Check passes.
Yes, on any platform: one CNAME from blog to sites.amplifysignal.com, and we issue the certificate. A folder shares your main domain's authority, which is why these guides lead with it; the subdomain steps are on the overview.
Checked against the platform's documentation on 2026-10-14; where the facts above say tested, we ran the snippet ourselves against the servers that host our own blog and followed every URL to a 200.
AmplifySignal hosts it, drafts the articles from your keywords and Search Console data, publishes them on a schedule and sends the social posts. Every account starts with a free week, or begin with a free 90-day launch plan.