搜索引擎在展示搜索结果时,除了简单的标题和描述,有时还会显示图片、评分、价格、作者等更丰富的信息,这些被称为“富文本摘要”(Rich Snippets)。这些引人注目的摘要能够有效提升网站在搜索结果中的可见度,吸引更多用户点击,从而为网站带来更多高质量流量。

要在搜索引擎中获得这些富文本摘要,我们需要向搜索引擎提供一种它们能理解的、标准化的数据格式,这就是“结构化数据”。在众多结构化数据格式中,Json-LD(JSON for Linking Data)是Google官方推荐的一种。它以JSON格式嵌入到HTML文档中,既不影响页面内容的展示,又能清晰地向搜索引擎描述页面上的关键信息。

安企CMS作为一个对SEO优化高度重视的内容管理系统,充分考虑了结构化数据的应用。它不仅在系统层面做了很多SEO友好的设计,还提供了灵活的方式让用户自定义和优化结构化数据,其中,利用Json-LD标签就是一种高效且强大的方法。

安企CMS对Json-LD的支持与自定义机制

安企CMS深知结构化数据的重要性,因此在模板系统中内置了对Json-LD的支持。在网站前端页面,您可能会发现系统已经自动生成了一些基础的Json-LD结构化数据。但这还不是它的全部能力。安企CMS提供了一个名为{% jsonLd %}的自定义调用标签,让我们可以更细致、更精准地控制页面上的结构化数据。

这个标签的巧妙之处在于它的“自动合并和覆盖机制”。当您在模板中使用了{% jsonLd %}标签并提供了自己的Json-LD代码时,安企CMS会智能地将您自定义的部分与系统默认生成的Json-LD数据进行合并。如果您的自定义代码中包含与系统默认数据相同的字段,那么您的自定义内容将会优先显示,从而实现对默认数据的覆盖。这意味着您无需完全重写或担心与系统默认设置冲突,只需补充或修改您关注的特定数据点即可。

实战:利用Json-LD标签自定义结构化数据

现在,我们来具体看看如何在安企CMS的模板中使用{% jsonLd %}标签,以实现更优化的富文本摘要显示。

在使用Json-LD标签之前,首先需要明确您当前页面的内容类型,例如这是一篇新闻文章、一个产品详情页、一个FAQ页面还是一般的网页。不同的内容类型对应Schema.org上不同的结构化数据类型(如ArticleProductFAQPageWebPage等)。选择正确的类型是构建有效结构化数据的第一步。

接下来,我们需要在安企CMS的模板文件中,例如文章详情页的{模型table}/detail.html或自定义页面模板中,找到合适的位置插入{% jsonLd %}标签。通常,这些Json-LD代码会放置在<head>标签内,或者<body>标签的开头部分,但为了方便管理,您也可以将它们放在页面内容的任何位置,搜索引擎依然能够正确解析。

我们以一个典型的“文章详情页”为例,假设您希望为文章添加Article类型的结构化数据,以显示文章标题、图片、发布日期、作者和描述等信息。您可以这样编写代码:

{% jsonLd %}
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "{% tdk with name='Title' %}",
  "image": [
    "{% archiveDetail with name='Logo' %}"
  ],
  "datePublished": "{{ stampToDate(archive.CreatedTime, '2006-01-02T15:04:05+08:00') }}",
  "dateModified": "{{ stampToDate(archive.UpdatedTime, '2006-01-02T15:04:05+08:00') }}",
  "author": {
    "@type": "Person",
    "name": "安企CMS官方团队" {# 这里可以替换为具体的作者字段或自定义文本 #}
  },
  "publisher": {
    "@type": "Organization",
    "name": "{% system with name='SiteName' %}",
    "logo": {
      "@type": "ImageObject",
      "url": "{% system with name='SiteLogo' %}"
    }
  },
  "description": "{% tdk with name='Description' %}"
}
</script>
{% endjsonLd %}

在这段代码中:

  • 我们首先定义了@context@type,表明这是一个Schema.org的Article类型。
  • headline(文章标题)、description(文章描述)直接使用了安企CMS内置的TDK标签获取,这确保了数据与页面SEO设置的一致性。
  • image(文章主图)和Logo(网站Logo)使用了archiveDetailsystem标签来获取图片URL。如果文章有多个图片,可以在image数组中添加更多URL。
  • datePublished(发布日期)和dateModified(修改日期)通过archive.CreatedTimearchive.UpdatedTime获取时间戳,再利用stampToDate格式化成ISO 8601标准的时间字符串,这是Json-LD日期格式的要求。
  • authorpublisher(发布者信息)则填充了文章作者和网站名称/Logo,这些信息同样可以从安企CMS的系统设置中获取。

假设您有一个产品详情页,并且希望显示产品的价格、库存等信息,同时还想添加自定义的用户评论(即使评论内容本身不在默认Json-LD中)。