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 rewrites → www.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 → www.yourcompany.com/faq/....

Why: Cloudflare lets you intercept traffic before it hits your origin. Worker handles canonical guards, header injection, redirect rewrites cleanly. Dashboard rules alone can't do it: Origin Rules can only point at hostnames in your own Cloudflare account, and their overrides need an Enterprise plan.

Next step: Subdirectory Setup → Cloudflare Worker section


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 directive → www.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 behavior → www.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. If your host offers a reverse-proxy option (Kinsta does, as a paid add-on), you can use the subdirectory setup instead; otherwise put Cloudflare in front of the host and use the Cloudflare Worker recipe. - Next step: Subdomain Setup (CNAME), or Subdirectory Setup → Managed hosting


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.

No. The FAQ page sets no cookies and loads no analytics, ads or other third-party scripts: it holds only the page content, its structured data and the in-page search filter. Under GDPR and ePrivacy rules (CNIL guidance included), a consent banner is required only for non-essential cookies or trackers, so there is nothing to consent to.

You cannot add your own consent manager to the page: the backoffice page style editor (Config Studio → Content agent) accepts custom CSS, not scripts. This also keeps the page free of trackers you would otherwise have to declare.

Can I have one FAQ page per country or language?

Yes, when each market is its own Rose site (for example yourcompany.com/fr and yourcompany.com/en-gb next to yourcompany.com). Each market gets its own FAQ page and URL, written in that market's language and answered from that market's knowledge, so prices and offers stay local.

  • A market's page shows the questions asked on its own pages, plus the questions asked in at least two of your markets.
  • A question asked in only one market stays on that market's page.
  • Pages link to each other for search engines, so Google shows each visitor the right language.
  • A market needs enough visitor questions before its page is generated (20 relevant questions over the last 30 days by default, counting the shared ones).
  • If your FAQ is served on your own site, each market needs its own path and its own proxy rule, for example yourcompany.com/fr/faq or yourcompany.com/faq-fr next to yourcompany.com/faq. A market without its own path is served by Rose at faq.userose.ai.

Ask your Rose contact to set up a market as its own site. Each market's page and its hosting are configured in the backoffice under Config Studio → Content agent, with that market selected in the site selector.

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