Skip to content

v0.4.0

Choose a tag to compare

@jdevalk jdevalk released this 09 Apr 19:25
· 16 commits to main since this release

See CHANGELOG.md for full release notes.

Highlights

hreflang alternates for multilingual EmDash sites. When Astro i18n is configured and content entries are linked via translation_group, the plugin now emits one <link rel="alternate" hreflang="…" href="…"> per published sibling plus an automatically-resolved x-default. URLs are built from each collection's urlPattern + locale prefix rules, matching canonical URLs. BCP 47 tags are normalized on output (fr-cafr-CA).

Zero cost on single-locale sites. Gated on isI18nEnabled() before any database call.

New dependency

  • @jdevalk/astro-seo-graph@^0.2.1 — runtime dep for the pure buildAlternateLinks helper. Pure TypeScript, no Astro runtime impact (Astro is a peer dep satisfied transitively through EmDash).

Dependency range updates

  • @jdevalk/seo-graph-core: ^0.1.0-alpha.0^0.1.0

Tests

30 new tests: 12 URL-construction tests covering locale-prefix rules and BCP 47 region tags, 18 hreflang adapter tests including a reciprocity invariant that verifies the same URL set is emitted regardless of which sibling is the "current" page.

🤖 Generated with Claude Code