Improve GEO (Generative Engine Optimization): llms.txt, structured data, E-E-A-T signals

Abierto
#658 11 comentarios 2 reacciones 3 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@spencercjh ya está trabajando en esto.

Desde el 2/11/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

area/seo kind/feature priority/high

Summary

The site currently has little optimization for GEO (Generative Engine Optimization) — the practices that help AI answer engines (ChatGPT, Perplexity, Google AI Overviews, Claude, etc.) discover, understand, and cite our content. An AITDK scan of https://project-hami.io/docs/core-concepts/architecture surfaced a cluster of gaps; I verified each one against the repo and most are confirmed.

This is increasingly important for an infrastructure project: developers now ask AI assistants "how does HAMi work?" / "HAMi vs time-slicing" and we want HAMi to be the cited, authoritative source.

✅ What we already do well (foundation is strong)
  • static/robots.txt is already AI-forward: explicit Allow: rules for GPTBot, OAI-SearchBot, Claude-Web, anthropic-ai, Google-Extended, CCBot, Applebot-Extended, Amazonbot, Bytespider, plus Content-Signal directives and a sitemap reference. This is ahead of most projects — keep it.

So this issue is not about blocking/unblocking crawlers. It is about the layer above: giving those crawlers structured, citable, trustworthy content.


Findings

1. Machine readability — no llms.txt
  • No llms.txt or llms-full.txt in static/. The llms.txt spec is a concise, LLM-friendly index of a project's most important pages. Low adoption today, but it's a near-zero-cost differentiator.
  • Fix: add static/llms.txt (curated summary + links to architecture, quickstart, GPU virtualization, FAQ) and optionally static/llms-full.txt. Docusaurus serves static/* at site root automatically.
2. Structured data — no JSON-LD site-wide
  • docusaurus.config.js headTags only inject the locale-redirect script, gtag, and favicons. No application/ld+json anywhere except a narrow use in src/components/EventLanding.js.
  • Missing:
    • Organization schema (anchors "HAMi" as an entity in knowledge graphs)
    • WebSite schema with SearchAction (enables sitelinks search box)
    • Per-doc TechArticle / Article with dateModified (we already compute last-updated time — showLastUpdateTime: true — but don't emit it as schema)
  • Fix: add Organization + WebSite JSON-LD via headTags; add doc-level TechArticle schema via a small theme swizzle (theme-classic/DocItem head) or a postBuild plugin that walks the docs metadata.
3. Author & date provenance — no byline, no author schema
  • Docs plugin sets showLastUpdateAuthor: false (docusaurus.config.js:217). No author attribution on docs, and no author/datePublished/dateModified in any schema.
  • Anonymous content is cited less by AI engines (provenance/trust signal).
  • Fix: either re-enable showLastUpdateAuthor or add explicit authors frontmatter on key docs, and surface them in the TechArticle schema above.
4. Content depth — thin architecture.md stub
  • The scanned URL /docs/core-concepts/architecture maps to docs/core-concepts/architecture.md, which is a ~170-word stub that just lists 4 components and links to an image.
  • Meanwhile docs/core-concepts/hami-architecture.md (~18 KB) is the real, detailed architecture doc. We have two overlapping architecture pages and the thin one is the one AI engines are likely to surface/quote.
  • Fix: either (a) expand architecture.md into the citable 300–3000-word range, or (b) merge it into hami-architecture.md and redirect the route, so the authoritative version is what gets indexed. Option (b) is cleaner.
5. Trust / E-E-A-T — missing About, Privacy, Terms pages
  • src/pages/ has index, community, events, case-studies only. No dedicated About, Privacy Policy, or Terms pages.
  • The footer copyright links to https://lfprojects.org/policies/ (covers trademark/terms) but there is no in-site Privacy or Terms link, and no About page in nav or footer. Their absence is a basic trust red flag for both users and AI citation.
  • Fix: add /about, /privacy, /terms pages (or at minimum surface the lfprojects policy + a short privacy statement) and link them in the footer alongside the existing Documentation/Community/Follow Us columns.
6. Content citability — question-style headings + outbound citations
  • Docs rarely use question-style headings ("How does HAMi isolate GPU memory?", "What is the difference between HAMi and time-slicing?"). Sections phrased as user questions get cited more in AI answers.
  • Few outbound citations to authoritative sources (upstream K8s device-plugin docs, NVIDIA MIG, etc.).
  • Fix: where natural, phrase section headings as questions and add a short "References" list with outbound links on conceptual docs.

Suggested priority

Priority Item Effort
P0 (quick wins) llms.txt; expand/merge thin architecture.md S
P1 Organization + WebSite JSON-LD; footer About/Privacy/Terms M
P2 Per-doc TechArticle schema w/ dateModified; author bylines M
P3 Question-style headings + outbound citations across conceptual docs L (ongoing)

References

Happy to split this into separate issues or open a PR for the P0 items if helpful.

Lenguaje dominante
JavaScript
Estrellas
11
Forks
111
Merge medio
2 d 1 h
PR fusionados (30 d)
70

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Project-HAMi/website

Todos los issues de Project-HAMi/website

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.