Setup guide
Yes. One location block proxies /blog/ to your blog. Three lines carry it: proxy_pass with the trailing slash, a Host header of sites.amplifysignal.com (not $host), and proxy_ssl_server_name on, because our edge needs SNI to answer over HTTPS and nginx sends none by default.
server block that serves acme.comacme.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.
location = /blog { return 301 /blog/; }
location /blog/ {
proxy_pass https://sites.amplifysignal.com/b/acme.com/;
proxy_set_header Host sites.amplifysignal.com;
proxy_ssl_server_name on;
proxy_redirect off;
}With a URI on proxy_pass, nginx replaces the part of the path that matched the location, so /blog/hello-world/ goes upstream as /b/acme.com/hello-world/, slash intact. The first line sends the bare /blog to /blog/; nginx would do that by itself for a prefix location with proxy_pass, but written out it's obvious.
sudo nginx -t && sudo nginx -s reload (or systemctl reload nginx). The test catches a typo before it takes the site down.
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.
proxy_set_header Host $host; pasted from another config. Our edge then receives a Host it doesn't serve (acme.com) and Cloudflare answers 403 Forbidden. It has to be sites.amplifysignal.com.proxy_ssl_server_name on;. nginx sends no SNI by default, and the TLS handshake with our edge fails.location /blog/ with proxy_pass https://sites.amplifysignal.com/b/acme.com glues the paths together into /b/acme.comhello-world/. Both slashes, or neither.proxy_cache on HTML for hours. Keep it to a few minutes so scheduled articles appear on time.location = /blog is an exact match and always wins for that one path; location /blog/ is a prefix match. Neither collides with your other locations unless one of them also claims /blog.
Caddy has its own guide. Apache can do the same with mod_proxy, but we haven't tested a config, so we don't publish one yet.
Fine. The CDN talks to your nginx, and your nginx talks to our edge. Just don't let the CDN cache /blog HTML for long.
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.