languageAlternatesSchema(options: LanguageAlternatesSchemaOptions): (pages: any[]) => void
Creates a language alternates schema preprocessor
This preprocessor:
- Maps pages by their ID and language
- Finds pages with the same ID in different languages
- Links them via Schema.org relationships:
- Original language (default) → adds
workTranslationpointing to translations - Translated languages → adds
translationOfWorkpointing to original
- Original language (default) → adds
- Updates all specified schema types on each page
Requirements:
- Pages must have an
idfield in frontmatter - Pages must have a
langfield in frontmatter - Schema objects must have an
@idproperty
Example 1
Example 1
// In page frontmatter: // en/services/consulting.md --- id: service-consulting lang: en serviceSchema: "@id": "https://example.com/en/services/consulting/#service" ... --- // ja/services/consulting.md --- id: service-consulting lang: ja serviceSchema: "@id": "https://example.com/services/consulting/#service" ... ---
After processing:
- EN page serviceSchema gains:
workTranslation: { "@id": "https://example.com/services/consulting/#service" } - JA page serviceSchema gains:
translationOfWork: { "@id": "https://example.com/en/services/consulting/#service" }
options: LanguageAlternatesSchemaOptions
Configuration options