Skip to content

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.

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.

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.

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.

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.

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.