Skip to content

feat(seo): add hreflang tags, canonical URLs, and central Seo helper - #145

Open
sanusishafii989 wants to merge 2 commits into
wraith-protocol:developfrom
sanusishafii989:feat/hreflang-canonical-seo
Open

feat(seo): add hreflang tags, canonical URLs, and central Seo helper#145
sanusishafii989 wants to merge 2 commits into
wraith-protocol:developfrom
sanusishafii989:feat/hreflang-canonical-seo

Conversation

@sanusishafii989

Copy link
Copy Markdown

Summary

Adds hreflang alternates, self-referencing canonical URLs, and consistent OG/Twitter metadata across all 18 pages via a central <Seo> component.

Changes

  • Create src/utils/seo.tsx — reusable <Seo> component that emits canonical URL, hreflang alternates (en, es, x-default), OG tags, and Twitter Card metadata using useLocation() for self-referencing canonicals
  • Add /es/* locale-prefixed routes in App.tsx via LocaleSetter wrapper so /es/faq, /es/grants, etc. render with Spanish locale
  • Audit all 18 pages: every route now has title, description, canonical, hreflang, og:, and twitter: metadata
  • Replace ad-hoc Helmet blocks on About, Blog, Careers, Ecosystem, Stellar with centralized <Seo> component
  • Add SEO metadata to 12 pages that previously had none: Faq, Privacy, Newsletter, UseCases, Roadmap, Grants, CaseStudies, Contributors, Vitals, NotFound, Press, Home
  • Add /es/* routes to sitemap knownRoutes

Acceptance Criteria

  • Every route emits absolute production canonical URL
  • Every localized route emits hreflang alternates for en, es, x-default
  • /es/faq renders the FAQ page (not NotFound) — via LocaleSetter
  • Build passes (zero TypeScript errors)
  • Lighthouse SEO ≥ 90 (CI confirmed)

Closes #125

@vercel

vercel Bot commented Aug 26, 2026

Copy link
Copy Markdown

@sanusishafii989 is attempting to deploy a commit to the truthixify's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Aug 26, 2026

Copy link
Copy Markdown

@sanusishafii989 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Add a reusable <Seo> component in src/utils/seo.tsx that emits canonical
URLs, hreflang alternates (en, es, x-default), Open Graph, and Twitter
Card metadata on every page. Future pages inherit correct SEO by simply
dropping in <Seo title=... description=... />.

- Create src/utils/seo.tsx with Seo component (uses useLocation for
  self-referencing canonical + locale-aware hreflang)
- Add /es/* locale-prefixed routes in App.tsx via LocaleSetter wrapper
- Audit all 18 pages: every route now has title, description, canonical,
  hreflang, og:*, and twitter:* metadata
- Replace ad-hoc Helmet blocks on About, Blog, Careers, Ecosystem,
  Stellar with centralized Seo component
- Add SEO metadata to 12 pages that had none: Faq, Privacy, Newsletter,
  UseCases, Roadmap, Grants, CaseStudies, Contributors, Vitals, NotFound,
  Press, Home
- Add /es/* routes to sitemap knownRoutes

Closes wraith-protocol#125
Prettier 3.9.6 (local npm install) formatted the FormState union type
inline, but 3.8.2 (pinned in pnpm-lock.yaml for CI) breaks it across
lines. This caused format:check to fail on CI.
@sanusishafii989
sanusishafii989 force-pushed the feat/hreflang-canonical-seo branch from 3df8b2b to af0c8e5 Compare August 26, 2026 18:54
@sanusishafii989

Copy link
Copy Markdown
Author

Rebased onto latest develop to resolve the Blog.tsx conflict from #136. The <Seo> component now sits alongside the new BlogToc and max-w-5xl layout without issues.

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.

hreflang tags + canonical URL audit

1 participant