如何为AnQiCMS文章页面动态填充Json-LD中的`author`和`datePublished`字段?

📅 👁️ 64

作为一位资深的网站运营专家,我深知在当下内容营销和搜索引擎优化(SEO)日益重要的背景下,如何有效地向搜索引擎传达页面内容的核心信息至关重要。安企CMS(AnQiCMS)作为一个基于Go语言开发的企业级内容管理系统,凭借其高效、可定制的特点,为我们提供了极大的便利。今天,我们就来深入探讨一个在SEO中常常被提及,但又容易被忽视的细节:如何为AnQiCMS文章页面动态填充Json-LD中的authordatePublished字段。

Json-LD:搜索引擎理解内容的“身份证”

在搜索引擎的语境中,Json-LD(JavaScript Object Notation for Linked Data)扮演着内容“身份证”的角色。它是一种结构化数据标记语言,能够帮助搜索引擎更清晰地理解网页内容的含义、类型以及它们之间的关联。正确地使用Json-LD,不仅能提升搜索引擎对页面内容的理解深度,还有机会在搜索结果中获得“富文本摘要”(Rich Snippets),例如文章的发布日期、作者信息,甚至是评分等,这些都能显著提高点击率,为网站带来更多高质量的流量。

对于文章页面而言,author(作者)和datePublished(发布日期)这两个字段尤其重要。author字段有助于建立内容创作者的专业性、权威性和可信度(E-A-T原则的核心要素),在众多信息中脱颖而出。而datePublished则能清晰地告诉搜索引擎和用户内容的发布时间,这对于新闻、技术文章等时效性较强的内容至关重要,它能帮助搜索引擎判断内容的“新鲜度”和相关性。

为什么需要动态填充?

想象一下,如果您的网站有成百上千篇文章,每一篇都要手动去编辑Json-LD代码,不仅效率低下,还极易出错。当作者变更、发布日期调整时,手动维护更是一场噩梦。因此,动态填充这些字段是网站运营的必然选择,它能让您的网站在发布新内容时,自动生成并更新结构化数据,极大地提升运营效率。

安企CMS的模板引擎提供了强大的动态数据调用能力,结合其专为结构化数据设计的jsonLd标签,使得动态填充authordatePublished变得简单而高效。

AnQiCMS如何动态填充datePublished字段

在AnQiCMS中,每篇文章的发布和更新时间都存储在数据库中,并通过archiveDetail标签提供给模板使用。要填充datePublished字段,我们需要关注CreatedTime(创建时间)和UpdatedTime(更新时间)。这两个字段在AnQiCMS中通常以时间戳的形式存储。

Json-LD对日期格式有严格要求,通常推荐使用ISO 8601标准,例如2023-10-26T15:00:00+08:00。安企CMS的stampToDate(格式化时间戳)功能,正好可以帮助我们轻松实现这一转换。

我们可以在文章详情页的模板(通常是{模型table}/detail.html)中,利用archiveDetail标签获取当前文章的CreatedTimeUpdatedTime,然后通过stampToDate将其格式化为Json-LD所需的日期字符串。

例如,如果您想使用文章的创建时间作为datePublished

{%- archiveDetail articleCreatedTime with name="CreatedTime" %}
{%- set formattedDate = stampToDate(articleCreatedTime, "2006-01-02T15:04:05-07:00") %}

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "datePublished": "{{ formattedDate }}"
  // ... 其他Json-LD字段
}
</script>

在上面的代码中:

  • 我们首先使用{%- archiveDetail articleCreatedTime with name="CreatedTime" %}获取当前文章的创建时间戳,并赋值给articleCreatedTime变量。
  • 接着,{%- set formattedDate = stampToDate(articleCreatedTime, "2006-01-02T15:04:05-07:00") %}将时间戳格式化。这里需要注意的是,Go语言的时间格式化字符串非常独特,它不是Y-m-d H:i:s这样的占位符,而是以2006-01-02T15:04:05-07:00这个具体的日期时间字符串作为参考模板来定义格式的。
  • 最后,在script标签内,"datePublished": "{{ formattedDate }}"就完成了动态填充。

如果您希望优先使用文章的更新时间,可以替换为name="UpdatedTime"。通常,如果文章内容有实质性更新,使用UpdatedTime会更好地反映内容的最新状态。

AnQiCMS如何动态填充author字段

author字段的动态填充可能需要一点点额外的设置,因为安企CMS默认的文章模型可能没有直接对应“作者姓名”的字段。但不用担心,安企CMS的“灵活的内容模型”功能(AnQiCMS 项目优势.md中提到)正是为此而生。

步骤一:创建自定义作者字段

首先,您需要在安企CMS后台为您的文章模型添加一个自定义字段,用于存储作者信息。

  1. 进入安企CMS后台,找到“内容管理”下的“内容模型”。
  2. 编辑您正在使用的文章模型(例如,“文章模型”或您自定义的模型)。
  3. 在模型编辑界面,点击“内容模型自定义字段”,添加一个新的字段。
    • 参数名(显示名称):例如“文章作者”
    • 调用字段(模板调用名):例如articleAuthor (请使用英文小写字母)
    • 字段类型:选择“单行文本”
    • 您可以根据需要设置是否必填、默认值等。
  4. 保存模型配置。

完成这一步后,您在发布或编辑文章时,就可以填写“文章作者”这个自定义字段了。

步骤二:在模板中动态填充作者信息

有了自定义字段,我们就可以像获取其他文章信息一样,使用archiveDetail标签来获取作者信息。

Json-LD的author字段可以是一个字符串(作者姓名),也可以是一个更复杂的对象,如Person(个人)或Organization(组织),提供更多细节,例如作者的URL、社交媒体链接等。这里我们以Person类型为例。

{%- archiveDetail articleAuthorName with name="articleAuthor" %}
{%- archiveDetail articleAuthorLink with name="articleAuthorLink" %} {# 假设您也创建了作者链接的自定义字段 #}
{%- if not articleAuthorName %}
    {%- set articleAuthorName = "您的网站名称" %} {# 如果作者字段为空,提供一个默认值 #}
{%- endif %}

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  // ... 其他Json-LD字段

  "author": {
    "@type": "Person",
    "name": "{{ articleAuthorName }}",
    {%- if articleAuthorLink %}
    "url": "{{ articleAuthorLink }}"
    {%- endif %}
  }
}
</script>

在上述代码中:

  • {%- archiveDetail articleAuthorName with name="articleAuthor" %}用于获取自定义字段articleAuthor的值。
  • {%- archiveDetail articleAuthorLink with name="articleAuthorLink" %}则获取可能存在的自定义作者链接字段。
  • 我们还增加了一个if判断,如果articleAuthorName为空,则给它设置一个默认值,以避免Json-LD结构缺失。
  • "author": { ... }部分构建了一个Person类型的作者对象,包含了作者姓名和(如果存在)作者URL。

完整示例代码

现在,让我们将datePublishedauthor的动态填充整合到一个完整的Json-LD结构中,并建议放置在文章详情页模板的<head>标签内:

”`twig {# 获取当前文章对象,以便统一调用其属性 #} {%- archiveDetail currentArchive %}

{%- if currentArchive.Id %} {# 确保当前页面是文章详情页 #}

{# 格式化发布时间 #}
{%- set publishedDate = stampToDate(currentArchive.CreatedTime, "2006-01-02T15:04:05-07:00") %}
{# 格式化更新时间,如果文章有更新,优先使用更新时间 #}
{%- set modifiedDate = stampToDate(currentArchive.UpdatedTime, "2006-01-02T15:04:05-07:00") %}

{# 获取自定义作者信息,如果为空则使用网站名称作为默认作者 #}
{%- archiveDetail articleAuthorName with name="articleAuthor" id=currentArchive.Id %}
{%- if not articleAuthorName %}{%- set articleAuthorName = system.SiteName -%}{%- endif %}

相关文章

如果自定义Json-LD字段与AnQiCMS默认生成的字段冲突,哪个会优先显示?

在当今竞争激烈的网络环境中,结构化数据(JSON-LD)已成为网站内容在搜索引擎中脱颖而出的关键要素。它能帮助搜索引擎更好地理解页面内容,从而有机会在搜索结果中获得更丰富的展示效果,也就是我们常说的“富媒体摘要”。对于像安企CMS(AnQiCMS)这样注重SEO优化的内容管理系统,内置的JSON-LD生成功能无疑为用户提供了极大的便利。然而,随着网站运营的深入和定制化需求的增加

2025-11-06

在AnQiCMS中,自定义Json-LD标签的基本语法结构是什么?

## 安企CMS中自定义Json-LD标签:掌握结构化数据优化的核心利器 在当今的数字营销环境中,搜索引擎优化(SEO)已不再是简单的关键词堆砌,而是更注重内容质量与结构化数据的呈现。安企CMS(AnQiCMS)作为一款以Go语言开发、注重SEO友好的企业级内容管理系统,深知结构化数据的重要性。它不仅提供了强大的TDK(Title, Description, Keywords)设置

2025-11-06

Json-LD自定义调用标签`{% jsonLd %}`应该放置在模板的哪个位置?

安企CMS中,Json-LD自定义调用标签`{% jsonLd %}`应该放置在模板的哪个位置? 在当今数字营销的时代,搜索引擎优化(SEO)的重要性不言而喻。而结构化数据,尤其是Json-LD,正是提升网站在搜索结果中可见度的强大工具之一。安企CMS作为一款专为企业级内容管理和SEO优化设计的高效系统,自然也提供了完善的Json-LD支持。但对于不少模板开发者和内容运营者来说

2025-11-06

如何手动开启或禁用AnQiCMS网站的Json-LD结构化数据功能?

## 解锁AnQiCMS网站SEO利器:Json-LD结构化数据的开启与自定义指南 作为一名资深的网站运营专家,我深知在当今竞争激烈的内容生态中,如何让网站在搜索引擎中脱颖而出至关重要。安企CMS(AnQiCMS)以其轻量高效、对SEO友好的特性,为我们提供了坚实的技术基础。其中,Json-LD结构化数据功能更是提升网站可见度和吸引力的强大工具。通过精准地部署Json-LD

2025-11-06

如何在Json-LD中添加多张图片URL,例如文章的缩略图列表?

作为一名资深的网站运营专家,我很乐意为您详细阐述如何在AnQiCMS中,将文章的多张缩略图URL巧妙地整合到Json-LD数据中,从而提升网站的搜索引擎表现和用户体验。 --- ## 巧用安企CMS:在Json-LD中高效整合多张图片URL,提升文章视觉吸引力与搜索引擎表现 在当今内容营销日益激烈的环境下,如何让搜索引擎更好地理解和展示您的内容变得至关重要

2025-11-06

使用AnQiCMS的`tdk`标签如何将页面的SEO标题、关键词和描述整合到Json-LD中?

在当今竞争激烈的互联网环境中,搜索引擎优化(SEO)已不再是可有可无的选项,而是网站成功的基石。对于像安企CMS(AnQiCMS)这样专为企业级内容管理和SEO优化而设计的系统而言,其提供的各项工具旨在帮助运营者在搜索结果中脱颖而出。其中,`tdk` 标签在页面SEO中的作用举足轻重,而将其与Json-LD结构化数据相结合,更是提升页面在搜索引擎中可见度和展现力的关键一步

2025-11-06

Json-LD自定义标签是否支持动态获取`system`标签中的网站名称和Logo?

作为一位资深的网站运营专家,我深知在当下搜索引擎优化(SEO)的重要性,而结构化数据,特别是Json-LD,无疑是提升网站内容可理解性和搜索排名能见度的关键利器。今天,我们就来深入探讨一个安企CMS(AnQiCMS)用户常遇到的问题:**Json-LD自定义标签是否支持动态获取`system`标签中的网站名称和Logo?** ### 安企CMS的JSON-LD支持概述 首先

2025-11-06

如何为AnQiCMS的产品详情页创建`Product`类型的Json-LD结构化数据?

安企CMS(AnQiCMS)作为一个高效的企业级内容管理系统,不仅提供了强大的内容发布和管理功能,更在SEO优化方面下足了功夫。对于电商网站或有产品展示需求的企业而言,如何让搜索引擎更好地理解和展示你的产品,获取更高的点击率和转化率,是运营成功的关键。而这其中,Json-LD结构化数据,尤其是`Product`类型,扮演着不可或缺的角色。 今天

2025-11-06