Artifact endpoints
Once the integration is mounted, these URLs are served from your domain. That is the whole point: content addressed at your site earns citations for your site.
| On your domain | What it is | Served by |
|---|---|---|
/llms.txt | The agent document — what an AI system should read first about your catalogue. One body, three names, because three conventions exist | your three root-file routes |
/llms-full.txt | ||
/agents.md | ||
/apps/geoffy/llm/{handle}.md | One product, as plain text | the namespace route |
/apps/geoffy/guides/{slug} | One published buying guide | |
/apps/geoffy/guides/{slug}.md | The same guide, as plain text | |
/apps/geoffy/sitemap.xml | Every Geoffy surface on your domain, listed | |
/robots.txt | Your own rules, with the Geoffy crawler block merged in | your robots route |
/{key}.txt | Your IndexNow key, so index pings for your product pages are accepted | a static file you add |
Your product pages themselves carry the widget and the structured data, rendered by the
component you mounted.
What you will see in your own logs
Condition Your route answers Everything is working 200, cached for your revalidateSeconds Your site is not verified yet, or nothing is published for that handle 404. Geoffy serves published content only — there is no draft view
Geoffy is unreachable or degraded 503 with a Retry-After, never a fabricated
404. A crawler retries a 503; a 404 tells it to drop the page from its
index, which is a far more expensive answer to give on your behalf
Your product page, when Geoffy has nothing to add
Renders exactly as it would without us. The helpers resolve to null
rather than throwing, and every caller renders nothing
Reading them while debugging
Section titled “Reading them while debugging”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.
This bypasses your Next.js cache entirely, including .next/dev/cache. If Geoffy and your
mounted route disagree, the cache is at fault — see testing
locally.