fix: 移除结构化数据中不合规范的微数据

This commit is contained in:
DeepChirp
2024-11-11 16:29:28 +08:00
parent 3ea138178d
commit e5a52d5621
3 changed files with 19 additions and 46 deletions

View File

@@ -1027,8 +1027,6 @@ Open_Graph_meta:
# https://developers.google.com/search/docs/guides/intro-structured-data
structured_data:
enable: true
# Choose: json-ld / microdata
format: 'json-ld'
# Add the vendor prefixes to ensure compatibility
css_prefix: true

View File

@@ -1,6 +1,6 @@
if theme.structured_data.enable && page.layout === 'post'
-
const format = theme.structured_data.format || 'json-ld'
// use json-ld to add structured data
const title = page.title
const url = page.permalink
@@ -12,47 +12,23 @@ if theme.structured_data.enable && page.layout === 'post'
const authorHrefVal = page.copyright_author_href || theme.post_copyright.author_href || site.url;
const authorHref = full_url_for(authorHrefVal);
if (format === 'json-ld') {
const jsonLd = {
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": title,
"url": url,
"image": image,
"datePublished": datePublished,
"dateModified": dateModified,
"author": [{
"@type": "Person",
"name": author,
"url": authorHref
}]
};
const jsonLd = {
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": title,
"url": url,
"image": image,
"datePublished": datePublished,
"dateModified": dateModified,
"author": [{
"@type": "Person",
"name": author,
"url": authorHref
}]
};
jsonLdScript = JSON.stringify(jsonLd, null, 2);
} else if (format === 'microdata') {
microdata = {
headline: title,
url: url,
image: image,
datePublished: datePublished,
dateModified: dateModified,
authorName: author,
authorUrl: authorHref
};
}
jsonLdScript = JSON.stringify(jsonLd, null, 2);
-
if (format === 'json-ld')
script(type="application/ld+json").
!{jsonLdScript}
else if (format === 'microdata')
div(itemscope itemtype="https://schema.org/BlogPosting")
meta(itemprop="headline" content=microdata.headline)
link(itemprop="url" href=microdata.url)
if microdata.image
img(itemprop="image" src=microdata.image alt=microdata.headline)
meta(itemprop="datePublished" content=microdata.datePublished)
meta(itemprop="dateModified" content=microdata.dateModified)
div(itemprop="author" itemscope itemtype="https://schema.org/Person")
meta(itemprop="name" content=microdata.authorName)
link(itemprop="url" href=microdata.authorUrl)
script(type="application/ld+json").
!{jsonLdScript}

View File

@@ -568,8 +568,7 @@ hexo.extend.filter.register('before_generate', () => {
option: null
},
structured_data: {
enable: true,
format: 'json-ld',
enable: true
},
css_prefix: true,
inject: {