Skip to content

feat(seo): make Exora discoverable in search and AI answers - #51

Merged
voltcrash merged 11 commits into
mainfrom
voltcrash/improve-seo-discoverability
Oct 31, 2026
Merged

voltcrash merged 11 commits into
mainfrom
voltcrash/improve-seo-discoverability

Conversation

@voltcrash

Copy link
Copy Markdown
Owner

Search engines and AI search tools received an empty JavaScript app container and a sitemap of destination query URLs sharing the same initial metadata. Exora now publishes useful, source-linked HTML that explains the application and gives people a direct route into its 3D destinations.

  • Publish 28 indexable pages: the homepage, About, discovery indexes, five practical guides, 16 NASA-backed planet profiles and three existing tour itineraries. Profiles preserve unknown values, property provenance and the snapshot date.
  • Generate canonical URLs, social previews, WebSite/WebApplication/page/breadcrumb JSON-LD, a sitemap of readable pages and an optional llms.txt directory. Keep search and AI retrieval crawlers allowed under the existing open policy; exclude API responses from indexing.
  • Link discovery resources from Explore, isolate their offline cache entries from the explorer shell, provide a static missing-page response, and validate emitted metadata and internal links on every build.

Proof: vp check; vp test (595 tests); recursive workspace tests and builds; asset provenance and production dependency audit; 74 desktop/mobile browser tests (38 existing skips); no-JavaScript desktop/mobile page checks and the About → explorer → Explore → Guides browser journey.

Lighthouse passed all enforced desktop/mobile assertions on the homepage, About, exoplanet guide and TRAPPIST-1 e profile. All eight reports scored 100 for SEO; the three sampled discovery pages also scored 100 for performance, accessibility and best practices on both devices. The interactive homepage still records performance warnings (67 desktop / 63 mobile, with main-thread work and unused JavaScript); SEO is now enforced at 100 without weakening other checks.

Decisions: use the existing catalog and tour definitions without adding dependencies; deliberately exclude duplicate interactive query URLs from the sitemap; preserve current destination sharing and canonical behavior. Search Console/Bing submissions and hosting firewall verification need verified external accounts and are documented in docs/search-discovery.md. Rankings and AI recommendations cannot be guaranteed; llms.txt is an optional content directory, not a ranking claim.

Review notes: simplified pathname routing and trimmed duplicated unit assertions. Kept the API header test consistent with existing config tests, retained self-canonical slash URLs without a global redirect affecting APIs, and intentionally replaced query-only sitemap entries with readable resources. One review round; no blockers or should-fix findings. Reviewer usage was not reported. Final diff: 24 files, 1,111 additions / 87 deletions; review removed five duplicate assertion lines and unnecessary query parsing.

Reviewed with review-loop: 1 round with Claude Opus 5.5. Reviewer verdict: approved.

Created with GPT-6.1 Sol in T3 Code through the Codex harness.

@voltcrash
voltcrash merged commit c5dbad6 into main Oct 31, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant