Skip to content

docs: SEO/indexing setup, landing page, and 0.2.0-beta.0 doc updates - #3

Open
Demali-876 wants to merge 5 commits into
mainfrom
seo-and-indexing
Open

docs: SEO/indexing setup, landing page, and 0.2.0-beta.0 doc updates#3
Demali-876 wants to merge 5 commits into
mainfrom
seo-and-indexing

Conversation

@Demali-876

Copy link
Copy Markdown
Contributor

Readies the docs for launch and indexing. Five commits: three you already pushed (landing page, expanded sections, SEO/fonts/join page) plus two from this session.

Doc accuracy — now safe to publish

0.2.0-beta.0 is live on npm and promoted to latest, so the docs can finally describe the current API. This was blocked until now: on the previously-published build, mode: 'only' didn't error — it fell into the old inclusive branch and proxied everything except the listed routes, so publishing these docs earlier would have walked users into a silent routing and billing inversion.

  • usage.mdxmode documented as "only" | "except" (default "except"); both mode: 'exclusive' examples updated; new Route Filtering section covering the now-rejected configurations; new Batch Requests section with the settle-everything contract and the sequential-vs-parallel budget tradeoff (parallel can overshoot limit_usd by up to concurrency - 1, and spent_usd reports the real amount paid); a caution box for the rename, since the old names are aliased but read backwards.
  • concepts.md — the dedupe key is four inputs, not five; the Scope row is gone. The bullet is inverted: two callers issuing the same request now share the cache entry, because scope is always global. Added a warning against putting caller-specific values in accept / content-type, the only headers the key still covers.
  • architecture.md, api.mdx-api-key documented as deprecated and inert.

SEO fix

The four opentui/*.html pages are iframe embeds on the landing page, not destinations. They're correctly absent from the sitemap, but crawlers follow iframe src, so with no robots directive they could surface as thin standalone results competing with the real pages. Added noindex, follow — out of the index, links still pass through.

Verified

  • Build clean: 20 pages, 17 search-indexed
  • Sitemap covers 19 of 19 index.html pages — exact match, 404.html correctly excluded
  • robots.txt allows all crawlers and points at sitemap-index.xml
  • All four embed pages carry the noindex meta in built output
  • Merges cleanly into main

🤖 Generated with Claude Code

Demali-876 and others added 5 commits July 24, 2026 22:17
Add a standalone marketing landing page at / (src/pages/index.astro);
docs keep their existing routes. index.mdx removed so this page owns /.

- Four live opentui terminal screens (tunnel/proxy/nodes/websocket) embedded
  as uniform, scroll-free iframes. Stripped the dead React/Tweaks scaffolding
  that 404'd on tweaks-panel.jsx and loaded React/Babel from unpkg; the vanilla
  live-sim scripts are unchanged.
- Landing-matched dark theme wired into the Starlight docs (src/styles/custom.css),
  with Space Grotesk + JetBrains Mono loaded via Head.astro.
- Conversion-focused section copy; demo acct "bob"; real slug host
  amber-otter.consensus.canister.software.
- Park the fuller LAN-scan "Tunnel Setup" screen in opentui-drafts/ for later.
- Stop tracking .claude/ agent worktrees (gitignore + untrack).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…roxy

Landing page (src/pages/index.astro):
- Networks section: real Ethereum/Solana/ICP logos, Mainnet labels
- No-FUD section: pun header, three rewritten tiles (Integration /
  Configuration / Security), JS+TS runtime strip below the grid
- Replace the Run-a-node section with a bottom CTA (spinning logo kept)
- Uniform, tighter terminal-to-snippet spacing; WebSocket frame now
  auto-grows via MutationObserver so all rows stay visible (no scroll)
- Responsive pass: stack all grids, wrap hero headline, tighten padding
- Mobile nav: hamburger + tap-to-open dropdown menu
- Node links repointed to /guides/node/, footer x402 Proxy link removed

Docs: remove the x402 Proxy section (sidebar entry + content files).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… page

SEO & indexing:
- Add @astrojs/sitemap with weekly changefreq and priority tuning
  (landing 1.0, node/quickstart funnels 0.9); Starlight's auto-sitemap
  steps aside once a sitemap integration is present.
- Add public/robots.txt (allow all crawlers incl. AI, point to sitemap).
- Self-host Space Grotesk + JetBrains Mono as variable woff2 (with OFL
  licenses); drop Google Fonts from Head.astro, custom.css, and the
  opentui terminal iframes; preload the woff2 in Head.astro.
- Add OG/Twitter cards under public/seo for the landing and node pages.

Landing (index.astro):
- OG/Twitter/canonical/JSON-LD head block using the SEO card.

New /join operator page (src/pages/join.astro):
- Standalone page for node providers: hero, four earn streams,
  vetting/requirements, and the real three-step install flow
  (git clone -> bun run setup -> pm2), with the setup:wizard alternative.
- Requirements presented as a baseline-machine pill strip plus the four
  admission stress-test gates; de-jargoned copy, no em dashes.
- Responsive: grids stack at 860px/560px; long commands scroll in-box.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…scope

Brings the docs in line with what is now published on npm
(@canister-software/consensus-cli@0.2.0-beta.0) and running on the orchestrator.

usage.mdx
- mode is documented as "only" | "except", default "except"; both examples that
  used mode: 'exclusive' now use mode: 'only'
- new Route Filtering section with the configurations that are now rejected
- new Batch Requests section: options, the settle-everything contract, and the
  sequential-vs-parallel budget tradeoff (parallel can overshoot limit_usd by up
  to concurrency-1, and spent_usd reports the real amount)
- a caution box for the rename, since the old names are aliased but read backwards

concepts.md
- the dedupe key is four inputs, not five; the Scope row is gone
- inverted the bullet: two callers issuing the same request now share the cache
  entry, because scope is always global
- added a note warning against putting caller-specific values in accept or
  content-type, which are the only headers the key still covers

architecture.md, api.md
- x-api-key is documented as deprecated and inert rather than as a routing or
  deduplication input

Safe to publish now: the rename shipped in 0.2.0-beta.0, which is also npm's
latest, so `mode: 'only'` behaves as documented rather than silently inverting.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The four opentui pages are iframe embeds on the landing page, not destinations.
They are correctly absent from the sitemap, but crawlers follow iframe src, so
without a robots directive they can surface as thin standalone results and
compete with the real pages.

noindex, follow — so the pages stay out of the index while any links they contain
still pass through.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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