SEO
30 Oct 2026
15 min read

Discovery Pack: GEO, AEO, and SEO for Modern Web Applications

How SpaceZero's Discovery Pack optimizes your app for search engines, AI crawlers, and generative engines with JSON-LD, llms.txt, RSS, and more.

Discovery Pack: GEO, AEO, and SEO

SpaceZero includes a comprehensive Discovery Pack for modern discoverability.

What is GEO/AEO?

  • GEO (Generative Engine Optimization): Optimizing for AI search engines (Perplexity, ChatGPT, etc.)
  • AEO (Answer Engine Optimization): Optimizing for answer engines
  • SEO (Search Engine Optimization): Traditional search optimization

Components

1. JSON-LD Structured Data

Static schemas in index.html plus build-time injection:

  • SoftwareApplication: App identity, pricing, features (static)
  • WebSite: Site-wide search action (static)
  • Organization: Publisher information (static)
  • WebPage: Injected per static route at build (Profile, Blog, KB, etc.)
  • CollectionPage: Injected for /kb
  • BlogPosting + BreadcrumbList: Injected for every prerendered article page

Every blog and knowledge-base article is prerendered to its own static index.html at build time (meta tags, canonical, OpenGraph, and the full article body), so even crawlers that do not execute JavaScript see complete, structured article pages.

2. llms.txt / llms-full.txt

Generated at build time for AI crawlers:

code

# llms.txt (concise)

# MyApp

Description...

 

## Documentation

- [Home](https://myapp.space/)

- [Support](https://myapp.space/support)

 

## Changelog

- [v1.0.0](/changelog#v1.0.0) - Launch

3. RSS Feed

rss.xml generated from changelog entries for feed readers.

4. Sitemap

sitemap.xml with all routes, priorities, and changefreqs.

5. Changelog Page

Static /changelog page rendered from Markdown.

6. Canonical URLs & OpenGraph

Every page includes canonical URL and complete social metadata.

Configuration

All configured in vite.config.ts:

typescript

const SITEMAP_ROUTES = [

{ path: '/', priority: 1.0, changefreq: 'weekly' },

{ path: '/blog', priority: 0.8, changefreq: 'weekly' },

];

 

const CHANGELOG_ENTRIES = [

{ version: '1.0.0', date: '2026-11-15', title: 'Launch', ... },

];

Per-App Setup

  1. Set VITE_APP_DOMAIN in .env
  2. Update JSON-LD in index.html
  3. Add routes to SITEMAP_ROUTES
  4. Add changelog entries on release
  5. Write articles in src/lib/blog.ts / src/lib/kb.ts

Benefits

  • AI Crawlers: llms.txt helps LLMs understand your site
  • Search Engines: Rich snippets from JSON-LD
  • Feed Readers: RSS for changelog subscribers
  • Social Sharing: OpenGraph/Twitter cards on every page