Skip to content

docs: article structured data, search titles for A2UI and comparison pages, fuller sitemap - #1405

Merged
zahlekhan merged 2 commits into
thesysdev:mainfrom
zahlekhan:claude/ranking-performance-32c459
Oct 13, 2026
Merged

zahlekhan merged 2 commits into
thesysdev:mainfrom
zahlekhan:claude/ranking-performance-32c459

Conversation

@zahlekhan

@zahlekhan zahlekhan commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

What

Search-ranking fixes from a SERP and ranked-keyword review of openui.com. Almost all of the site's search traffic lands on the homepage. Pages for searched terms like A2UI and the framework comparison have titles nobody searches for, and posts and docs carry no structured data about their dates or publisher.

Changes

  • BlogPosting + BreadcrumbList JSON-LD on blog posts: headline, publish date, author (a team byline is an Organization), Thesys as publisher, OG image.
  • TechArticle JSON-LD on docs pages, with the git last-modified date.
  • seoTitle for docs frontmatter, as blog posts already have: sets <title>, while the H1 and sidebar keep title. Used on /docs/api-reference/a2ui → "A2UI v1.0 protocol client and React renderer with OpenUI Lang" (was @openuidev/a2ui).
  • Comparison page retitled to "OpenUI vs A2UI vs json-render vs OpenGenerativeUI" (was "OpenUI vs others"). The global sidebar entry in lib/docs-navigation.ts keeps the short label "OpenUI vs others".
  • /components is titled "Generative UI component library"; the OG card keeps "OpenUI Design System".
  • Sitemap adds /pricing, /cloud/gateway, /cloud/gateway/models, /cloud/observability, /openclaw-os, /demo/github and /components. /cloud is left out because it redirects. The component subpages stay out until they have their own titles, since they all share one now.

components/seo/JsonLd.tsx and the structured data are ported from #615.

Interaction with #1356

This PR is independent of #1356, which handles the title suffix, sitemap lastmod and blog Open Graph:

Test Plan

  • Verified locally
    • On next dev, fetched the rendered HTML and parsed the JSON-LD on a blog post with an FAQ, a blog post without one, two docs pages, /components and /sitemap.xml. Every block is valid JSON with the expected @type, dates and author, the new titles appear in <title>, and the 7 paths are in the sitemap. No server errors.
    • eslint and prettier are clean on the changed files. pnpm types:check has no errors in them; its one error (showChatTitle in cloud-agent-surface.tsx) is in an untouched file.

Checklist

  • I linked a related issue, if applicable
  • I updated docs/README when needed
  • I considered backwards compatibility

🤖 Generated with Claude Code

…ller sitemap

- Blog posts emit BlogPosting + BreadcrumbList JSON-LD and article:published_time,
  modified_time and author Open Graph tags.
- Docs pages emit TechArticle JSON-LD with the git last-modified date.
- Docs frontmatter accepts an optional `seoTitle` for <title>, like blog posts;
  the H1 and sidebar keep `title`. Used on the A2UI package page and the
  OpenUI vs A2UI / json-render comparison page so their titles match searches.
- /components is titled "Generative UI component library" (OG card keeps
  "OpenUI Design System").
- Sitemap adds /pricing, /cloud/gateway, /cloud/gateway/models,
  /cloud/observability, /openclaw-os, /demo/github and /components.

Structured data ported from thesysdev#615.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 13, 2026

Copy link
Copy Markdown

@zahlekhan is attempting to deploy a commit to the thesys-devs Team on Vercel.

A member of the Team first needs to authorize it.

…GenerativeUI

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
openui-docs Ready Ready Preview Oct 13, 2026 12:28pm UTC

Request Review

@zahlekhan
zahlekhan enabled auto-merge (squash) October 13, 2026 12:33
@zahlekhan
zahlekhan merged commit b5b4865 into thesysdev:main Oct 13, 2026
2 of 3 checks passed
zahlekhan added a commit that referenced this pull request Oct 13, 2026
Brings in #1405 (article structured data, docs seoTitle, fuller sitemap).

- Sitemap keeps the 7 pages #1405 adds; /blog stays dated by its latest post.
- Blog BlogPosting dateModified uses `updatedAt ?? date`, matching the OG
  modified_time and the byline.
- Docs TechArticle dateModified reads `updatedAt`, since this PR removes the
  git last-modified plugin.
- The methodology page's new OG modified_time uses METHODOLOGY_UPDATED_ISO.
- comparison.mdx gets updatedAt 2026-10-13: #1405 retitled the page.

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

2 participants