Skip to content

[Enhancement]: Add FAQPage JSON-LD structured data to the FAQ #823

@danbarr

Description

@danbarr

Captures the SEO idea raised in the comment thread of #355 so we don't lose it. Filing this separately because the implementation is component work, not a content edit.

Context

Google's FAQPage structured data lets search engines surface Q&A pairs directly in rich results. The schema requires each question and answer to be embedded as Question + acceptedAnswer objects in JSON-LD on the page.

Proposed approach

Build a custom <FAQ> MDX component that:

  • Renders the Q&A content normally on the page
  • Emits matching FAQPage JSON-LD into a <Head> block
  • Keeps the source of truth in the MDX file so authors don't maintain two copies

Would replace the current heading-based structure in docs/toolhive/faq.mdx with the component.

Worth doing?

Honest take: not obviously a win.

Arguments for

  • Free SEO upside if Google picks it up
  • One-time component build; reusable on the Enterprise FAQ section too

Arguments against

  • Google has significantly reduced FAQ rich results in actual SERPs since 2023; mostly limited to government/health sites now
  • Adds an authoring abstraction (the component) over plain Markdown, which has a cost every time someone edits the FAQ
  • Our FAQ traffic isn't search-dominated; most readers land via in-doc links

If we did it, the cleanest trigger would be when we have a second FAQ section to share the component with (e.g., enterprise FAQ growing).

Acceptance (if we proceed)

  • <FAQ> component renders questions/answers with same visual style as today
  • Component emits valid FAQPage JSON-LD (verified in Google's Rich Results Test)
  • docs/toolhive/faq.mdx migrated to use it
  • Build passes

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions