Skip to content

feat(faq): add FAQ sections to 47 docs pages with :::faq directive + FAQPage JSON-LD - #58

Merged
nibzard merged 4 commits into
mainfrom
niko/faq
Jun 12, 2026
Merged

feat(faq): add FAQ sections to 47 docs pages with :::faq directive + FAQPage JSON-LD#58
nibzard merged 4 commits into
mainfrom
niko/faq

Conversation

@nibzard

@nibzard nibzard commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

What

Adds short FAQ sections (3–5 Q&As each) to 47 docs pages163 reviewed Q&As total — plus the :::faq MDX directive and FAQPage JSON-LD that render them.

FAQ preview — /overview/pricinglimits

Why

Two goals: SEO and AI answer-engine discoverability (ChatGPT search, Perplexity, AI Overviews). Answer engines extract and cite content already shaped as question → direct answer, and the docs' most-searched facts currently live in tables that extract poorly (e.g. "how long can a Steel session run?" is buried in a pricing-table cell). Restating those facts as prose Q&As makes them citable. The existing AI pipeline compounds this: FAQs flow into the /llms.mdx/* routes and the markdown-negotiated responses served to GPTBot/PerplexityBot/ClaudeBot automatically.

Note: Google deprecated FAQ rich-result eligibility for most sites in 2023, so this won't produce accordion snippets in Google SERPs. The win is AI-citation + People Also Ask, plus the schema still aids entity understanding.

How it works

  • :::faq directive (lib/remark-custom-directives.ts) — parses ### Question + answer blocks at build time into a Radix accordion (components/faq.tsx) and emits schema.org FAQPage JSON-LD. Verified in the production build output (valid JSON, correct shape).
  • LLM markdown (lib/get-llm-text.ts) — strips the :::faq fences so AI crawlers get clean ### Question / answer sections without directive syntax.
  • Content — drafted from each page's actual content with a grounding pointer, reviewed via a JSON + HTML triage UI (accept/deny/comment), then applied. CAPTCHA claims were fact-checked against the steel-main codebase.

Scope

  • Tier 1 (overview: pricing, CAPTCHAs, proxies, session lifecycle, multi-region, local-vs-cloud, credentials): 8 pages
  • Tier 2 (integrations, hermes/pi excluded): 25 pages
  • Tier 3 (quickstart, auth, CLI, profiles, files, etc.): 14 pages
  • 8 unit tests added (tests/), new bun run test script.

⚠️ Two stale-content findings (not fixed in this PR)

  1. overview/stealth/captcha-solving.mdx body claims Amazon AWS WAF is supported and omits hCaptcha/slider — but the code (ANALYTICS_ONLY_CAPTCHA_TYPES in steel-main) says WAF/DataDome/Imperva/FunCaptcha are detected only, not solved. The page's FAQ now carries the correct list, so the body contradicts its own FAQ until the body is updated.
  2. overview/captchas-api/overview.mdx documents four task types; the code has six solvable ones — worth confirming what the public API exposes before updating.

I left both untouched per scope; flagging for a follow-up.

Notes

  • The last commit (chore(faq): add PR preview screenshot) only adds the preview PNG above — safe to drop before merge.
  • Verification: bun run lint, bun run validate-links, bun run build, and bun run test all pass.

nibzard added 4 commits June 12, 2026 16:01
…JSON-LD

Transforms :::faq blocks (### question + answer) into a Radix accordion
and emits schema.org FAQPage structured data at compile time. LLM-served
markdown (getLLMText) strips the directive fences so AI crawlers get
clean question/answer sections.
163 reviewed Q&As across 47 pages targeting search and AI answer-engine
discoverability. Answers are grounded in page content; CAPTCHA support
list fact-checked against the steel-main codebase.
The Radix Accordion.Header renders an <h3>, and app/global.css sets
h3 to 20px; the trigger button had no explicit font-size and inherited
it. Pin text-base (16px) on the trigger so it matches the docs body
instead of the heading size.
@vercel

vercel Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview, Comment Jun 12, 2026 4:02pm

Request Review

@nibzard
nibzard merged commit 403148f into main Jun 12, 2026
2 of 3 checks 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