Subdirectory hosting (yoursite.com/blog)

Serve your blog under a path on your own domain using a header-driven reverse proxy.

DNS routes by hostname, not path, so a blog at yoursite.com/blog requires a reverse proxy on your own edge that forwards /blog/* to your blog. The reader app is base-path aware via two headers, so the same blog still works on its bare subdomain.

Headers your proxy sets

  • X-Blog-Prefix: /blog — the mount path (drives links + routing).
  • X-Blog-Host: yoursite.com — your public host (canonical, OG, sitemap, RSS).

It must also send Host: your-slug.aiblogr.app. With these, every internal link and SEO URL is emitted under yoursite.com/blog/....

Generate your snippet

Settings → Blog site → Subdirectory setup generates a ready-to-paste proxy rule for Cloudflare, Next.js, Vercel, or Nginx, pre-filled with your subdomain and path. Set an asset origin on the platform so /_next/* assets load correctly.

Prefer a custom subdomain (one CNAME) unless you specifically need the blog on your apex domain for SEO.

Frequently asked questions

Why can't I just add a DNS record for yoursite.com/blog?

DNS resolves hostnames, not paths. Only your own server or CDN controls what happens under /blog, so a subdirectory blog always needs a reverse-proxy rule on your side.

Will a plain vercel.json rewrite work?

Not on its own — a rewrite can forward the path but can't add the X-Blog-Prefix/X-Blog-Host headers the blog needs. Use the Edge Middleware snippet from Settings → Blog site instead.

Chat with us