Skip to content

fix(seo): improve head metadata and sitemap#68

Merged
ferranrego merged 2 commits into
mainfrom
seo-audit
Apr 28, 2026
Merged

fix(seo): improve head metadata and sitemap#68
ferranrego merged 2 commits into
mainfrom
seo-audit

Conversation

@ferranrego
Copy link
Copy Markdown
Member

Summary

Validation

  • pnpm validate
  • commit format follows the repo convention
  • user-facing copy uses react-i18next
  • pnpm translations was run or pnpm guardrails:translations passes cleanly
  • new components follow the repo folder policy

Visuals

  • Screenshots attached when UI changed

Copilot AI review requested due to automatic review settings April 24, 2026 13:51
@github-actions
Copy link
Copy Markdown

@github-actions github-actions Bot temporarily deployed to pull request April 24, 2026 13:51 Inactive
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors and extends the site’s SEO surface area by centralizing head-tag generation, standardizing locale-prefixed canonical/hreflang behavior (including x-default), and enriching structured data. It also updates sitemap generation to include reciprocal hreflang alternates, alongside related translation/meta updates and marquee SSR deduplication.

Changes:

  • Centralize <head> rendering into lib/seo-head.tsx and update canonical/hreflang strategy to always use locale-prefixed URLs (including x-default).
  • Enhance sitemap XML output with xhtml:link hreflang alternates for each route/locale pair.
  • Add/adjust page metadata (About page meta files, updated meta defaults/translations) and improve testimonial marquee SSR output + accessibility.

Reviewed changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tests/plugins/vike-sitemap.test.ts Adds coverage for locale-prefixed sitemap URLs and reciprocal hreflang alternates.
tests/pages/head.test.tsx Updates head tests to target HeadTags and validates new canonical/x-default, redirect, and schema behavior.
tests/components/testimonials-component-03.test.tsx Adds SSR assertions for single-rendered testimonial content and deduplication behavior.
plugins/vike-sitemap.ts Generates locale-prefixed routes and emits sitemap XML with xhtml:link hreflang alternates.
pages/use-cases/+title.ts Updates the commented reference copy for the use-cases title.
pages/about-us/+title.ts Adds About page title resolver via getMetaByKey.
pages/about-us/+description.ts Adds About page description resolver via getMetaByKey.
pages/about-us/+Page.tsx Adds a “trust section” with i18n-backed content and motion presets.
pages/+config.ts Tweaks default title copy and removes previous default OG image config from Vike config.
pages/+Head.tsx Delegates head rendering to HeadTags using usePageContext().
locales/es/common.json Adds About meta + trust section strings and updates several meta/copy strings.
locales/en/common.json Adds About meta + trust section strings and updates several meta/copy strings.
locales/ca/common.json Adds About meta + trust section strings and updates several meta/copy strings.
lib/seo-head.tsx Introduces centralized head-tag generation (canonical/hreflang, robots/refresh, JSON-LD, OG/Twitter).
lib/page-meta.ts Adds About meta defaults and updates several existing meta default strings.
layouts/tailwind.css Adds testimonial-marquee-vertical keyframes for the new testimonial marquee implementation.
components/ui/marquee.tsx Marks repeated marquee copies aria-hidden to avoid duplicate screen reader output.
components/shadcn-studio/blocks/testimonials-component-03/testimonials-component-03.tsx Reworks testimonial marquee to dedupe SSR content and render animated visual duplicates post-hydration.

@ferranrego ferranrego merged commit d42403f into main Apr 28, 2026
8 checks passed
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.

3 participants