Examples

Three GeoWeather targets, three audit scores

The geoaeo package ships a static HTML site, a Next.js App Router app, and an Astro site. Each is the same product (GeoWeather) after geoaeo init. Scores below are from geoaeo audit . on the source directory.

Fully optimized
80/100
Static HTML
packages/geoaeo/examples/static-html

A plain GeoWeather site: one index.html plus the static artifacts geoaeo init writes at the site root. geoaeo audit . scores the files directly.

This example ships fully optimized. It passes every technical and structured-data check. The open gaps are answerability signals a real content site adds: a dated/updated stamp, a named author, and Markdown mirrors.

cd examples/static-html && geoaeo audit .

What ships

  • index.htmlHome page with meta tags, Open Graph, Twitter, and JSON-LD
  • geoaeo.config.tsSite metadata, tools, pricing, FAQ
  • llms.txtShort LLM site map
  • llms-full.txtFull LLM site map with FAQ and pricing
  • sitemap.xmlXML sitemap
  • robots.txtCrawler policy with a Sitemap: line
  • webmcp.jsonWebMCP tool manifest for agents
Source dir understates
48/100
Next.js App Router
packages/geoaeo/examples/nextjs-app

A minimal Next.js App Router site with the route handlers, config, and SEO components that geoaeo init produces.

Next.js generates GEO/AEO artifacts at runtime: route handlers for sitemap, robots, llms.txt, JSON-LD, and .md mirrors. A static source-directory audit cannot see that output, so 48/100 understates the live result. Audit the deployed URL for the true score.

cd examples/nextjs-app && geoaeo audit .

What ships

  • geoaeo.config.tsSite metadata, tools, pricing, FAQ
  • src/app/llms.txt/route.tsShort LLM site map (GET → plain text)
  • src/app/llms-full.txt/route.tsFull LLM site map with FAQ and pricing
  • src/app/sitemap.tsDynamic sitemap.xml
  • src/app/robots.tsDynamic robots.txt
  • src/app/webmcp/route.tsWebMCP tool manifest (JSON)
  • src/app/[page].md/route.tsMarkdown mirrors of every page
  • src/components/seo/json-ld.tsxJSON-LD for software, product, and FAQ
Source dir understates
46/100
Astro
packages/geoaeo/examples/astro-site

A minimal Astro site with geoaeo.config.ts and the static artifact files geoaeo init produces for non-Next.js projects.

Astro holds titles, meta tags, and JSON-LD in .astro source. Those only appear in HTML after astro build. A source-directory audit cannot see them, so 46/100 understates the result. Audit the built dist/ or the deployed URL.

cd examples/astro-site && geoaeo audit .

What ships

  • geoaeo.config.tsSite metadata, tools, pricing, FAQ
  • src/pages/index.astroHome page source (meta, OG, Twitter, JSON-LD)
  • llms.txtShort LLM site map
  • llms-full.txtFull LLM site map with FAQ and pricing
  • sitemap.xmlXML sitemap
  • robots.txtCrawler policy with a Sitemap: line
  • webmcp.jsonWebMCP tool manifest for agents

Reproduce a score

From a clone of the repo, audit the example directory. Then compare the gap list to the GEO/AEO checklist.

npx geoaeo audit ./packages/geoaeo/examples/static-html
npx geoaeo audit ./packages/geoaeo/examples/nextjs-app
npx geoaeo audit ./packages/geoaeo/examples/astro-site
Open the checklist