Merge pull request #1720 from DeepChirp/structured_data

feat(structured_data): add `alternateNames` for backup
This commit is contained in:
Jerry Wong
2025-08-14 13:50:33 +08:00
committed by GitHub
3 changed files with 21 additions and 2 deletions

View File

@@ -1033,7 +1033,11 @@ Open_Graph_meta:
# Structured Data
# https://developers.google.com/search/docs/guides/intro-structured-data
structured_data: true
structured_data:
enable: true
# Alternate name for the site, used in structured data
# Format: ['name1', 'name2']
alternate_name:
# Add the vendor prefixes to ensure compatibility
css_prefix: true

View File

@@ -40,10 +40,22 @@ if theme.structured_data
const isRootOrSubdomain = currentPath.split('/').filter(Boolean).length === 0;
if (isRootOrSubdomain) {
const domain = new URL(config.url).hostname;
const alternateNames = theme.structured_data.alternate_name || [];
if (config.subtitle) {
alternateNames.push(config.subtitle);
}
if (domain) {
alternateNames.push(domain);
}
const jsonLd = {
"@context": "https://schema.org",
"@type": "WebSite",
"name": config.title,
"alternateName": alternateNames,
"url": full_url_for('/'),
}

View File

@@ -574,7 +574,10 @@ hexo.extend.filter.register('before_generate', () => {
enable: true,
option: null
},
structured_data: true,
structured_data: {
enable: true,
alternate_name: null
},
css_prefix: true,
inject: {
head: null,