Skip to content

seo: add HowTo JSON-LD for the install / quickstart steps#100

Merged
smaramwbc merged 1 commit into
mainfrom
seo-howto-jsonld
May 25, 2026
Merged

seo: add HowTo JSON-LD for the install / quickstart steps#100
smaramwbc merged 1 commit into
mainfrom
seo-howto-jsonld

Conversation

@smaramwbc
Copy link
Copy Markdown
Owner

Summary

External SEO audit (Section 1 #2) flagged the absence of `HowTo` schema as one of four schema types missing from statewave.ai. Add it as the fifth static JSON-LD block in `index.html`.

Caveat: Google deprecated `HowTo` rich results in the SERP in October 2023. But the major answer engines (ChatGPT, Claude, Perplexity, Gemini) still consume `HowTo` structured data when ingesting pages — which is the audience this audit was largely worrying about. Worth shipping for the AEO value, with eyes open about Google.

Content

The four steps mirror `statewave-docs/getting-started.md` (port 8100 is correct — that's what the published `docker-compose` binds to, not 8000):

  1. `git clone` + `docker compose up -d` → boot the stack
  2. `curl /healthz` + `/readyz` → verify ready
  3. `POST /v1/episodes` + `/v1/memories/compile` → store a memory
  4. `POST /v1/context` → retrieve a bundle

Each step links to the deep-link anchor in `getting-started.md` so crawlers can resolve the citation back to the source. `totalTime: PT5M` matches the "5-minute quickstart" framing already used in the homepage CTA, the developers page, the FAQ, and `llms.txt`.

Anti-drift

If the quickstart in `statewave-docs` changes (commands, port, route paths), update this block in the same commit — same rule as the proof figures.

Test plan

  • `npm run build` succeeds; `dist/index.html` now contains 5 `ld+json` blocks (Organization / WebSite / SoftwareApplication / FAQPage / HowTo)
  • All 5 blocks parse as valid JSON (verified by script + by the existing `every embedded JSON-LD block is valid JSON` test in `tests/seo-static.test.ts`)
  • `npx vitest run` — 282 + 1 skipped
  • `npm run lint`, `npm run typecheck` — green
  • CI green
  • After deploy: `curl -s https://www.statewave.ai/ | grep -c '"@type": "HowTo"'` returns 1

External SEO audit (Section 1 #2) flagged the absence of HowTo schema
as one of four schema types missing from statewave.ai. Add it.

Google deprecated HowTo rich results in the SERP in 2023, but the
major answer engines (ChatGPT, Claude, Perplexity, Gemini) still
consume HowTo structured data when ingesting pages — which is the
audience this audit was largely worrying about. Worth shipping.

Content: the four steps mirror statewave-docs/getting-started.md
(port 8100 is correct — that's what the published docker-compose
binds to, not 8000):
  1. git clone + docker compose up -d         → boot the stack
  2. curl /healthz + /readyz                  → verify ready
  3. POST /v1/episodes + /v1/memories/compile → store a memory
  4. POST /v1/context                         → retrieve a bundle

Each step links to the deep-link anchor in getting-started.md so
crawlers can resolve the citation back to the source. totalTime
PT5M matches the "5-minute quickstart" framing already used in
the homepage CTA, the developers page, the FAQ, and llms.txt.

Lives in index.html alongside the other static JSON-LD blocks
(Organization, WebSite, SoftwareApplication, FAQPage) so crawlers
without JS see all five entities on the first byte. Total of 5
ld+json blocks now (was 4); all parse as valid JSON in the
seo-static test.

Anti-drift: if the quickstart in statewave-docs changes (commands,
port, route paths), update this block in the same commit — same
rule as the proof figures.
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 25, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
statewave-web Ready Ready Preview, Comment May 25, 2026 3:20pm

Request Review

@smaramwbc smaramwbc merged commit dc97fcc into main May 25, 2026
6 checks passed
@smaramwbc smaramwbc deleted the seo-howto-jsonld branch May 25, 2026 15:22
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