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.

A single site can also publish its FAQ page in several languages, for example French and German for a Swiss site. Add the languages under Config Studio → GEO Agent → settings (gear) → Pipeline Settings → Page languages; the site language always has its page.

  • Each language gets its own page with the same questions: Rose translates every question you accept on your site language's page, automatically.
  • The French page keeps its address and the German one is at the same address followed by /de, for example yourcompany.com/faq/de/. A proxy rule that already forwards /faq/* needs no change.
  • You review questions once, in your site language, in Config Studio → GEO Agent. When you edit a question, its translations follow automatically; the Publish step shows how many translations are up to date. Publishing publishes every language.
  • Do not add a language another of your Rose sites already publishes in: the two pages would compete in search results.

Does Rose change my FAQ page on its own?

No. When Rose refreshes your FAQ, new questions and updated answers wait for you as suggestions in Config Studio → GEO Agent; your page changes only when you accept them and publish.

  • Accept or reject each suggestion, or accept them all at once.
  • Add, edit, delete and reorder questions yourself, or ask Rose to refresh a single answer.
  • Rose never removes a question: only you do. A question you removed or rejected is not suggested again.
  • Answers you wrote or edited change only when you ask for a refresh. Other answers are suggested again when your knowledge changes.

How do I edit and publish my FAQ page?

For a site with GEO enabled, open Config Studio → GEO Agent. The editor has four steps:

  1. Review: accept or reject suggestions, compare changed wording and edit or add questions.
  2. Organize: group questions into sections and move them into the order you want.
  3. Style: preview your own questions on desktop or mobile and adjust the page's appearance.
  4. Publish: check the changes since your last publish, hosting status and translations, then publish.

Editing or accepting a suggestion does not publish it. Review in your site's language; Rose translates accepted questions into your configured page languages. The Publish step flags translation failures so you can see which questions are missing from a language page. Use the settings gear in the header for generation, language and hosting settings.

Can I organize my FAQ into sections?

Yes, once your FAQ has 12 or more questions. In Config Studio → GEO Agent, step Organize, choose Suggest sections: Rose groups your questions into the sections buyers look for, such as pricing, integrations or comparisons.

  • You review the suggestion before anything is saved: rename sections, move questions, remove questions that repeat another one, then Apply.
  • Afterwards you can add, rename and delete sections, drag sections to reorder the page, and drag a question onto another section to move it. Deleting a section keeps its questions, unsorted.
  • New questions Rose suggests arrive already placed in a section; you can change it before accepting.
  • Every language page uses the same sections, each with its own titles.

Sections organize your FAQ in the backoffice. Your published page is unchanged for now: one page per section is coming later.

Can I ask Rose for new questions whenever I want?

Yes. In Config Studio → GEO Agent, step Review, choose Generate suggestions. Rose reads what visitors asked recently and suggests new questions, plus new answers for published questions whose information changed.

  • It takes about 10 minutes. The page shows each step while it runs; you can leave and come back.
  • The suggestions wait for you in the review list. Nothing is published until you accept them and publish from the Publish step.
  • One run at a time per site. If a run fails, the page says why and you can start it again.

URL routes (identical across all setups)

Path Serves
/frequently-asked-questions FAQ page (HTML + JSON-LD)
/{language}/frequently-asked-questions The FAQ page in another language, when you publish several
/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