fix(seo): improve head metadata and sitemap#68
Merged
Merged
Conversation
|
🚀 Deployed on https://69eb757a5a308f0c7110eb2c--vocdoni-io.netlify.app |
Contributor
There was a problem hiding this comment.
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 intolib/seo-head.tsxand update canonical/hreflang strategy to always use locale-prefixed URLs (includingx-default). - Enhance sitemap XML output with
xhtml:linkhreflang 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. |
elboletaire
approved these changes
Apr 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Validation
pnpm validatereact-i18nextpnpm translationswas run orpnpm guardrails:translationspasses cleanlyVisuals