FAQ
Questions with no home in a single integration guide. Anything platform-specific lives in that platform’s tree; these are true wherever you run.
What Geoffy publishes
Section titled “What Geoffy publishes”What does an AI crawler actually see?
Section titled “What does an AI crawler actually see?”The HTML your server sends, and usually nothing else. Most AI crawlers do not execute JavaScript, so anything a page adds after hydration is invisible to them.
That single fact shapes the whole product: every surface Geoffy publishes is
server-rendered, and every integration guide insists on it. If you take one thing from
these docs, take this one — and check with curl, never with browser devtools, which show
you the page after JavaScript has run.
Why is there no price in Geoffy’s structured data?
Section titled “Why is there no price in Geoffy’s structured data?”Because your page already has a price, and two prices on one page with no rule for which wins is worse than one.
Geoffy emits a second Product node that links to your platform’s own node with
about. Your platform owns commerce — offers, price, availability — and the structured
identity fields. Geoffy adds only what that node lacks: positive notes, audience,
attributes, certifications.
A Geoffy price would be generated once and refreshed rarely, while yours is live and changes on every sale. A stale second price is worse than no second price, and no consumer of the page can tell them apart.
Does Geoffy change my existing pages?
Section titled “Does Geoffy change my existing pages?”No. It adds a widget where you place it and a structured-data node beside it. It never
rewrites your markup, never touches your existing structured data, and its CSS is scoped
entirely under .geoffy-widget, so it cannot restyle the rest of your page.
Verification and publishing
Section titled “Verification and publishing”Why does everything return 404 before I verify my domain?
Section titled “Why does everything return 404 before I verify my domain?”Because without ownership verification, anyone who can type a domain name into a form could have Geoffy host content attributed to it.
Verification is one file at
/.well-known/geoffy-site-verification.txt. Until it passes, every artifact endpoint
returns 404 and nothing publishes.
Why does Geoffy fetch my site to confirm the integration?
Section titled “Why does Geoffy fetch my site to confirm the integration?”Because a setting is a claim and a fetch is evidence. Geoffy fetches your live product page and looks for the markup in the server-rendered HTML. A product stays pending until it is found, so your dashboard count only ever shows products confirmed on your real site.
The same applies to the /apps/geoffy mount: a 200 proves nothing on its own, because a
catch-all route answers every path with your home page and a 200. Geoffy checks for its
own bytes, carrying your own site key.
Can I preview what Geoffy would publish before publishing it?
Section titled “Can I preview what Geoffy would publish before publishing it?”Yes, and the two previews answer different questions.
- Geoffy’s review step shows you the content — what we read about a product and what we would publish for it — before anything is published.
- A local run of your storefront shows you the integration — that published content lands on your page, server-rendered, at the right URLs.
A local run can only show you content that is already published; artifact endpoints serve published bundles and 404 for everything else.
Platforms
Section titled “Platforms”Which platforms are supported today?
Section titled “Which platforms are supported today?”Shopify and WordPress / WooCommerce are live. Custom-built storefronts are supported
through the @geoffy/headless package, for Next.js and Astro. Magento
is on the roadmap; BigCommerce and Adobe Commerce are planned.
Only the custom-storefront guides are published here so far. For Shopify and WordPress, your dashboard’s onboarding is the walkthrough — it checks each step against your real storefront rather than asking you to confirm it yourself.
I use a framework that is not Next.js or Astro
Section titled “I use a framework that is not Next.js or Astro”Everything the two adapters do sits on a framework-agnostic client —
fetchGeoffyProduct, fetchGeoffyText and handleGeoffyProxy — so a Nuxt, SvelteKit or
Remix integration is a thin layer over the same functions. Tell us what you are building
on.
Can I run Geoffy on a themed Shopify store and a custom storefront at once?
Section titled “Can I run Geoffy on a themed Shopify store and a custom storefront at once?”Yes. They serve different domains and are separate integrations; neither affects the other.
Operations
Section titled “Operations”What happens if Geoffy is down?
Section titled “What happens if Geoffy is down?”Your page renders exactly as it would have without us. That is the package’s central
promise and it is absolute: every function resolves to null rather than throwing, and
every caller renders nothing when it gets null.
Endpoints that must answer something return 503 with a Retry-After, never a
fabricated 404 — a crawler retries a 503, and drops a page from its index on a 404.
How long until a publish shows up on my site?
Section titled “How long until a publish shows up on my site?”Within the revalidate window, one hour by default, with no configuration. Some platforms can make it seconds; a fully static build shows it at your next build. Each integration guide has a “how updates arrive” page, because the answer genuinely differs.
My robots.txt looks stale after I fixed something
Section titled “My robots.txt looks stale after I fixed something”Almost always the one-hour cache on the Geoffy fetch, not your code. Lower
revalidateSeconds while you are integrating, and read Geoffy directly to compare:
Your site’s settings in Geoffy show the direct URL for each of your published surfaces. Fetching one bypasses every cache of yours at once, which is the fastest way to tell whose side a problem is on.