Skip to content

Release v0.2.0: SEO and discoverability#17

Merged
anurag629 merged 5 commits into
productionfrom
develop
Jul 8, 2026
Merged

Release v0.2.0: SEO and discoverability#17
anurag629 merged 5 commits into
productionfrom
develop

Conversation

@anurag629

Copy link
Copy Markdown
Member

A discoverability release: every page now has a proper social card and structured data, the open-source repo is one click from any page, and the README is a real front page.

Highlights

Notes

  • FAQPage markup is valid and useful for Bing and AI answer engines, but Google restricted FAQ rich results to gov/health sites in 2023, so no FAQ dropdown is expected in Google results. This was a deliberate choice.
  • SearchAction / sitelinks searchbox was intentionally skipped (no on-site search; deprecated by Google in 2024), and no ratings are claimed (there are none to claim honestly).

Each change was researched or adversarially reviewed before merge; build, lint, and the 27 unit tests pass on the integrated branch.

anurag629 added 5 commits July 8, 2026 13:50
Add a registry-driven Open Graph / Twitter card renderer so the homepage
and each tool page get a distinct, on-brand 1200x630 image instead of all
sharing one generic root card.

- lib/og.tsx: shared renderer that embeds the bundled subset Noto Sans for
  crisp text; accent colour and copy come from each tool's registry entry
- one opengraph-image route per tool, plus a rewritten homepage card
- sanitize glyphs absent from the font subset (the arrow in "Image → URI"
  becomes "Image to URI")

Next mirrors each file image to twitter:image automatically. The images
prerender as static PNGs at build time.
Add schema.org structured data and fill metadata gaps so search and AI
crawlers can understand the site and each tool.

- lib/jsonLd.ts (new): one home for all JSON-LD builders, each derived from
  the TOOLS registry so it can't drift from what renders.
  - FAQPage from the registry FAQs (the FAQs were already written but nothing
    emitted them); gated to pages that actually render an FAQ section
  - Organization + WebSite + ItemList @graph on the homepage, linked by @id
  - BreadcrumbList on tool pages (Home > Tool)
  - toolJsonLd (SoftwareApplication) moved here from lib/toolMetadata.ts
- ToolPageLayout: emit the three JSON-LD blocks and render a real visible
  Home > Tool breadcrumb (so the schema represents visible content). The
  heroBreadcrumb tagline sits outside the <nav> so it isn't announced as a
  crumb, and the current crumb uses --fg to clear WCAG AA contrast.
- Homepage: canonical, inheriting the root OpenGraph rather than clobbering it.
- Root metadata: OpenGraph locale/title/description and twitter:site.
- Per-tool OpenGraph gains siteName + locale.

Deliberately skipped: SearchAction/sitelinks searchbox (no site search;
deprecated in 2024), and any aggregateRating (no honest ratings to claim).

All JSON-LD verified as valid against the rendered HTML. build, lint, and
27 tests pass.
Add a "Star on GitHub" control to the header (compact) and footer (labelled),
so the open-source repo is one click from every page.

- components/shared/GitHubStars.tsx: an async server component that fetches the
  repo's star count from the GitHub API with revalidate 3600 (hit at most once
  an hour, well under the unauthenticated limit) plus a 3s timeout. Any failure
  degrades to just the link, so a GitHub outage never breaks a page, and the
  count never reaches the browser.
- Inlined GitHub mark SVG (lucide's brand icon is deprecated); amber Star icon.
- lib/tools.ts: GITHUB_REPO / GITHUB_REPO_URL constants.

The aria-label mirrors the visible abbreviated count and pluralizes; formatStars
is consistent across the 1k/10k boundaries.
Give the repo a proper front page:
- badge row: live site, license, CI, GitHub stars, last commit, made-by
- a hero image and a 2x2 gallery of the four tools, each linking to the live
  tool, reusing the generated per-page Open Graph cards (committed under
  .github/assets/)
- a table of contents, and a live link on every tool in the Tools section
- refreshed Stack / Add a tool / Deploy notes to cover the OG renderer, the
  JSON-LD builders, and the GITHUB_REPO constant

Every tool description was checked against the code.
@vercel

vercel Bot commented Jul 8, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
toolbelt Ready Ready Preview, Comment Jul 8, 2026 10:21am

Request Review

@anurag629 anurag629 merged commit b1f4476 into production Jul 8, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release:minor Release: bump minor version

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant