Blog Domain & Integration
Serve your hosted blog on your own domain. All traffic stays on your website while AEO hosts the content and takes the load behind it.
By default your blog lives at yourbrand.aeo.how/blog. To put it on your own domain, open Settings → Connections and use the Blog Domain section, the same page where you connect social channels. There are two ways to do it: CNAME (point a subdomain’s DNS at AEO) or Rewrite (proxy a path on your existing site through your own server). Either way, visitors never leave your domain; AEO just serves the pages behind the scenes. If you already know you’re using Rewrite, jump straight to your platform’s guide below.
WordPress
For WordPress sites with any theme or page builder (Elementor, Divi, etc.).
Haravan
CNAME subdomain strategy: Haravan does not support path-based rewriting.
Hostinger
CNAME subdomain strategy via hPanel DNS Zone; no server config needed.
Next.js
Built-in rewrites: the easiest integration for Next.js apps.
Nuxt.js (Vue)
Native proxy support via Nitro route rules in Nuxt 3.
React
Vite dev proxy for development + server/hosting config for production.
Angular
Angular CLI proxy for dev + server-level or cloud hosting config for production.
Vercel / Netlify / Cloudflare
Native rewrite rules: one config file, no server setup needed.
Apache / Nginx
Traditional reverse proxy setup for self-hosted servers.
PHP Proxy (Shared Hosting)
Universal fallback using a PHP script: works on any hosting with PHP.
CNAME: point a subdomain at AEO
The simplest option, best for a dedicated blog subdomain like blog.yourbrand.com. You add one DNS record and AEO handles the rest, including SSL.
| Field | Value |
|---|---|
| Type | CNAME |
| Name | your subdomain (e.g. blog) |
| Value | proxy.aeo.how |
- AEO provisions the domain through Cloudflare automatically, no certificate setup needed.
- A blog.* subdomain serves the blog at the root (/); a root/apex domain serves it at /blog.
Apex (root) domains can’t use a CNAME at the root. Use a subdomain, enable CNAME flattening if your DNS provider supports it, or switch to Rewrite.
Rewrite: proxy a path on your own site
Best for adding the blog under a path on an existing website, e.g. yourbrand.com/blog. Your own server proxies that path to AEO, which reads the Host header on every request to know which brand to serve. Your visitors never see AEO’s domain, and all the traffic stays yours.
- Set the Blog path on your domain (e.g. /blog or /articles); it must start with /.
- Configure your server to proxy that path to AEO; the platform guides above cover WordPress, Nginx, Next.js, and more.
Don’t proxy /_next, /favicon.ico, or image paths. Assets are served from AEO’s domain, and proxying them breaks caching.
How the Rewrite Proxy Works
When a visitor goes to yourbrand.com/blog, your server forwards (proxies) that request to AEO while preserving the original Host header. AEO reads the Host header to identify your brand and returns the correct blog HTML. The visitor never knows the blog is hosted externally. It looks and feels like part of your site.
- Your server only proxies the HTML pages. JS, CSS, fonts, and images load directly from AEO servers using absolute URLs.
- AEO identifies your brand from the Host or X-Forwarded-Host header.
- SEO is handled automatically: canonical URLs, sitemap, and RSS feed all use your domain.
What Gets Proxied
Your proxy only needs to handle a few paths. Everything else loads directly from AEO:
| Path | What it serves |
|---|---|
| /blog/* | Blog homepage, article pages, sitemap.xml, and feed.xml. |
| /favicon.ico | Fallback brand logo (only if your site doesn't already have one). |
| /default.png | Fallback article thumbnail image. |
What Doesn't Need Proxying
These assets use absolute URLs and load directly from AEO servers:
| Asset | Why |
|---|---|
| JavaScript bundles and CSS stylesheets (/_next/static/*) | Loaded from app.aeo.how. |
| Article images, brand logos, thumbnails | Stored on Cloudinary or Supabase with full URLs. |
| Google Fonts | Self-hosted in the Next.js bundle, no external requests. |
Prerequisites for Rewrite Integration
Before setting up a server-side proxy, make sure you have:
- An AEO account with at least one published blog article.
- Your blog domain configured in Settings → Connections with the Rewrite method selected.
- SSL configured on your server (AEO does not provision certificates for the rewrite method).
Open Connections
Go to Settings → Connections from the sidebar. The Blog Domain section sits below your social channels.

Enter your domain
Type your domain in the Domain field, e.g. "blog.example.com" or "example.com". AEO detects whether it’s a subdomain or a root domain and shows which path your blog will use.
Choose a configuration method
Pick CNAME (Point DNS to aeo.how) for a subdomain, or Rewrite (Proxy via your server) for a path on your existing site. If you choose Rewrite, set the Blog path on your domain.
Follow the setup instructions and save
For CNAME, add the record shown under Add this record at your DNS provider. For Rewrite, configure your server to proxy the path (see the platform guide above that matches your stack). Then click Save.

Wait for it to verify
AEO provisions the domain through Cloudflare, usually 1–5 minutes (DNS can take up to 48 hours). The status banner moves from Setting up your blog domain to Your blog is connected. Use Check again to re-check, or Visit blog to open it.
Subdomains (blog.yourbrand.com) are the easiest: the blog serves at the root and SSL is automatic.
If the status shows Misconfigured or Check failed, open the setup details, confirm your DNS record or proxy matches, then click Check again.