Skip to content

GEO FAQ Hosting — Pick Your Setup

The GEO Agent generates SEO-optimized FAQ pages from real visitor questions. Three hosting setups exist for where those pages are served from. The right one depends on what tools you control and how much SEO authority your main domain already has.

Find yourself below. Each persona links straight to the recipe you need.


Quickest match — "Just tell me what to do"

If this sounds like you... Pick Time
Trying GEO Agent, no DNS access yet Rose-hosted (default) 0 min — already live
You can edit DNS, that's about it Subdomain (CNAME) 5 min
You run a Next.js site on Vercel Subdirectory via Vercel rewrites 15 min
Your site is behind Cloudflare (orange cloud) Subdirectory via Cloudflare Worker or Rules 30 min
You're on Webflow / Wix / Squarespace / Shopify Subdomain (CNAME) — easiest path. Subdirectory needs Cloudflare in front. 5 min (or 60 min for subdirectory)
You manage your own Nginx / Apache origin Subdirectory via reverse proxy block 20 min
Enterprise stack on AWS CloudFront Subdirectory via CloudFront behavior + Function 45 min
WordPress on a host that allows .htaccess mod_proxy Subdirectory via .htaccess 15 min
WordPress on Kinsta / WP Engine / Pressable Subdomain (CNAME) — managed hosts block proxy modules 5 min

Need detail on why? Keep reading — personas below.


Personas

Persona 1 — "I'm evaluating Rose and don't want to touch anything yet"

You: Marketing manager, growth lead, or founder running a quick GEO trial. No DNS access urgent enough to chase IT for.

Pick: Rose-hosted (default). Your pages are at faq.userose.ai/yourcompany.com/.... Nothing to do.

Trade-off: SEO authority and brand recognition land on faq.userose.ai, not your domain. Fine for trials, not for production scale-up.

Next step: Open your backoffice GEO page — your pages are already indexable. Migrate to subdomain or subdirectory once you're convinced.


Persona 2 — "I own DNS, that's about my limit"

You: Solo founder, marketing lead at a SaaS company, or someone who can log into Cloudflare/Route 53/Namecheap but doesn't want to touch CDN rules or web server configs.

Pick: Subdomain (CNAME)faq.yourcompany.com.

Why: A single CNAME record (5 min) gets your brand on the URL and moves SEO authority to a domain you own. Rose provisions TLS and runs the rest.

Trade-off: Google treats subdomains as separate sites from www.yourcompany.com. Backlinks accrue to the subdomain, not your main domain. Strong setup, not the strongest.

Next step: Subdomain Setup (CNAME)


Persona 3 — "We're on Next.js / Vercel"

You: Modern web team running a Next.js app on Vercel (or Netlify with rewrites). You ship next.config.js changes every week.

Pick: Subdirectory via Vercel rewriteswww.yourcompany.com/faq/....

Why: Vercel rewrites are a one-line block in next.config.js. Deploys instantly. Your main-domain SEO authority directly powers the GEO content from day one — strongest possible setup with minimum effort.

The config:

// next.config.js
async rewrites() {
  return [
    { source: "/faq", destination: "https://faq.userose.ai/yourcompany.com/frequently-asked-questions" },
    { source: "/faq/:path*", destination: "https://faq.userose.ai/yourcompany.com/:path*" },
  ];
}

Next step: Subdirectory Setup → Vercel / Next.js section


Persona 4 — "Cloudflare proxies our domain (orange cloud)"

You: Engineering team using Cloudflare as your CDN/WAF. You can edit Page Rules, Transform Rules, and deploy Workers.

Pick: Subdirectory via Cloudflare Worker (or Rules-only, if you'd rather skip Workers) → www.yourcompany.com/faq/....

Why: Cloudflare lets you intercept traffic before it hits your origin. Worker handles canonical guards, header injection, redirect rewrites cleanly. Rules-only works too if you want zero JS — three Dashboard rules and you're done.

The choice:

  • Worker if you want canonical enforcement, asset CORS handling, or custom logic.
  • Rules-only if you want zero JS and zero ops.

Next step:


Persona 5 — "I'm on Webflow / Wix / Squarespace / Shopify / HubSpot CMS / Framer"

You: Marketing-led team running on a hosted no-code or low-code CMS. You can't SSH anywhere or edit a nginx.conf.

Default pick: Subdomain (CNAME)faq.yourcompany.com. The CMS doesn't fight you, the setup takes 5 min, your brand is in the URL.

If you want subdirectory anyway: Put Cloudflare in front of your CMS first, then use the Cloudflare Worker recipe.

Steps for the subdirectory path:

  1. Move DNS for www.yourcompany.com to Cloudflare (proxied, orange cloud).
  2. Set Cloudflare SSL mode to Full (strict). Verify your CMS site still loads cleanly.
  3. Apply the Cloudflare Worker recipe on /faq* route.

Effort: 60 min vs 5 min for subdomain. Worth it if your main www.yourcompany.com is a serious SEO asset.

Next step:


Persona 6 — "We run our own Nginx or Apache origin"

You: Backend team running a classic VM or container setup. You own the web server config.

Pick: Subdirectory via reverse-proxy directivewww.yourcompany.com/faq/....

Why: Adding a location /faq/ { proxy_pass ... } block is 5 lines. Reuses your TLS cert, reuses your access logs, no new infrastructure.

Next step:


Persona 7 — "Enterprise stack on AWS CloudFront"

You: DevOps/platform engineering team running CloudFront in front of S3 / ALB / API Gateway. Change-managed via Terraform or CDK.

Pick: Subdirectory via CloudFront behaviorwww.yourcompany.com/faq/....

Why: Add one cache behavior + a CloudFront Function. Terraform-friendly, audit-friendly, fits your existing change process.

Next step: Subdirectory Setup → AWS CloudFront section


Persona 8 — "WordPress — but which kind?"

Two sub-personas:

8a. Self-hosted WordPress on a VPS or cPanel host (with mod_proxy allowed): - Pick: Subdirectory via .htaccess — 3 lines. - Next step: Subdirectory Setup → WordPress section

8b. WordPress on managed host (Kinsta, WP Engine, Pressable, Flywheel, Bluehost): - These hosts disable mod_proxy for safety. You can't reverse-proxy from inside WordPress. - Pick: Subdomain (CNAME) as default. Or put Cloudflare in front of the host and use the Cloudflare Worker recipe. - Next step: Subdomain Setup (CNAME)


Persona 9 — "I'm an agency managing this for a client"

You: Marketing or SEO agency setting GEO up across multiple clients. You want a repeatable playbook.

Default playbook: Subdomain (CNAME) for every client. Five-minute DNS task per client, no per-client infrastructure work.

Upgrade path: For your top-tier clients with significant main-domain authority, upsell subdirectory as a higher-touch deliverable. One agency engineer can deploy a Cloudflare Worker per client in ~20 min once you have the template.

Next step:


Side-by-side comparison

Rose-hosted (default) Subdomain (CNAME) Subdirectory (proxy)
Example URL faq.userose.ai/yourcompany.com/... faq.yourcompany.com/... www.yourcompany.com/faq/...
Setup time 0 min 5 min 15–60 min
Who does work Rose You add DNS CNAME You configure CDN/server
TLS certificate Rose Rose (auto-provisioned) Yours (existing)
SEO authority lands on faq.userose.ai faq.yourcompany.com www.yourcompany.com
Brand in URL Rose You You
Works on hosted CMS Yes Yes Only with Cloudflare in front
Failure mode if misconfigured n/a DNS error Proxy / origin error
Switch later Yes Yes Yes

Decision tree

Do you have DNS access to your domain?
├── No  → Rose-hosted (default). Done.
└── Yes
    └── Is your main www.yourcompany.com a significant SEO asset?
        ├── No, or just starting out
        │    → Subdomain (CNAME). 5 min. Strong setup.
        └── Yes — established domain with backlinks and rankings
            └── Do you have CDN / web server / Vercel access?
                ├── No → Subdomain (CNAME) for now. Upgrade later.
                └── Yes → Subdirectory (reverse proxy). Max SEO.
                    └── Which stack?
                        ├── Vercel/Next.js → next.config.js rewrites
                        ├── Cloudflare-proxied → Worker or Rules
                        ├── Nginx → location block
                        ├── Apache → mod_proxy
                        ├── CloudFront → behavior + Function
                        ├── WordPress (self-hosted) → .htaccess
                        └── Hosted CMS → Cloudflare in front + Worker

What Rose handles in every setup

Regardless of which option you pick:

  • FAQ HTML generation and hosting
  • JSON-LD FAQPage structured data
  • sitemap.xml and robots.txt
  • IndexNow submission to Bing / ChatGPT / Yandex
  • Canonical URL enforcement (one indexable URL per question)
  • Assets (CSS/JS/fonts) with CORS-safe headers
  • TLS provisioning for custom subdomains
  • 301 redirects when you change setups (your link equity is preserved)

You never write canonical tags, sitemaps, robots files, or structured-data markup yourself.

URL routes (identical across all setups)

Path Serves
/frequently-asked-questions FAQ page (HTML + JSON-LD)
/sitemap.xml Sitemap with <lastmod> from latest pipeline run
/robots.txt Crawler policy + sitemap pointer

Switching setups later

Not a one-way door. Tell us when you change:

  • Default → Subdomain: add CNAME.
  • Subdomain → Subdirectory: configure proxy. We 301 the old subdomain URLs to the new subdirectory URLs.
  • Subdirectory → Subdomain: remove proxy, keep CNAME.
  • Anything → Default: remove your DNS / proxy config.

In every transition Rose issues 301 redirects so existing links, bookmarks, and Google index entries follow you.

Still unsure?

Email your Rose contact with these three answers and we'll recommend the setup:

  1. What CMS / stack hosts www.yourcompany.com?
  2. Who has access to your DNS provider?
  3. Has your main domain been live for >12 months with active SEO work?

If 1 = managed CMS without infra access, 3 = no → Subdomain. If 1 = Vercel/Cloudflare/Nginx/CloudFront, 3 = yes → Subdirectory. Everything else: depends on how much SEO upside you want to chase.


Next steps