Renders <link rel="alternate" hreflang> tags for multilingual sites. Tells search engines which language version to serve for a given region.
---
import { LanguageAlternates } from "@mannisto/astro-metadata"
---<LanguageAlternates
alternates={[
{ href: "https://example.com/en", hreflang: "en" },
{ href: "https://example.com/fi", hreflang: "fi" },
{ href: "https://example.com", hreflang: "x-default" },
]}
/><LanguageAlternates
alternates={[
{ href: "https://example.com/en-us", hreflang: "en-US" },
{ href: "https://example.com/en-gb", hreflang: "en-GB" },
{ href: "https://example.com", hreflang: "x-default" },
]}
/><Head
title="My Page"
languageAlternates={[
{ href: "https://example.com/en", hreflang: "en" },
{ href: "https://example.com/fi", hreflang: "fi" },
{ href: "https://example.com", hreflang: "x-default" },
]}
/>
<!-- Disabled -->
<Head title="My Page" languageAlternates={false} />---
import { Metadata } from "@mannisto/astro-metadata"
Metadata.set({
title: "About",
languageAlternates: [
{ href: "https://example.com/en/about", hreflang: "en" },
{ href: "https://example.com/fi/about", hreflang: "fi" },
{ href: "https://example.com/about", hreflang: "x-default" },
],
})
------
import { LanguageAlternates } from "@mannisto/astro-metadata"
const currentPath = Astro.url.pathname
const baseUrl = "https://example.com"
---
<html>
<head>
<LanguageAlternates
alternates={[
{ href: `${baseUrl}/en${currentPath}`, hreflang: "en" },
{ href: `${baseUrl}/fi${currentPath}`, hreflang: "fi" },
{ href: `${baseUrl}${currentPath}`, hreflang: "x-default" },
]}
/>
</head>
<body>
<slot />
</body>
</html>| Prop | Type | Description |
|---|---|---|
alternates |
LanguageAlternate[] |
List of alternate language pages |
alternates[].href |
string |
Full URL of the alternate page |
alternates[].hreflang |
string |
Language or region code, e.g. en, fi, en-US, x-default |