feat(seo): add hreflang tags, canonical URLs, and central Seo helper - #145
feat(seo): add hreflang tags, canonical URLs, and central Seo helper#145sanusishafii989 wants to merge 2 commits into
Conversation
|
@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. |
|
@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! 🚀 |
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.
3df8b2b to
af0c8e5
Compare
|
Rebased onto latest |
|
Context for this one is on #139, worth reading there. Short version: your fork's The blocker here specifically: this replaces The generated |
Summary
Adds hreflang alternates, self-referencing canonical URLs, and consistent OG/Twitter metadata across all 18 pages via a central
<Seo>component.Changes
src/utils/seo.tsx— reusable<Seo>component that emits canonical URL, hreflang alternates (en, es, x-default), OG tags, and Twitter Card metadata usinguseLocation()for self-referencing canonicals/es/*locale-prefixed routes inApp.tsxviaLocaleSetterwrapper so/es/faq,/es/grants, etc. render with Spanish locale<Seo>component/es/*routes to sitemap knownRoutesAcceptance Criteria
/es/faqrenders the FAQ page (not NotFound) — viaLocaleSetterCloses #125