在网站运营中,页面的标题(Title)、关键词(Keywords)和描述(Description)是搜索引擎优化(SEO)的基石。它们不仅向搜索引擎传达页面内容的核心信息,也直接影响用户在搜索结果页面的点击率。安企CMS(AnQiCMS)深知其重要性,提供了灵活而强大的机制,让用户能够根据不同页面的内容,动态且精准地设置这些SEO元素。

本文将详细探讨在 AnQiCMS 中如何高效、动态地管理和设置页面的标题、关键词和描述。


AnQiCMS 中的核心工具:万能 TDK 标签

AnQiCMS 为动态设置 TDK 提供了一个极其方便的“万能”标签——tdk。这个标签的巧妙之处在于,它能根据当前页面的类型(如首页、文章详情页、分类列表页或单页面),智能地抓取并输出相应的标题、关键词和描述。这意味着,您无需针对每种页面类型编写复杂的逻辑判断,只需在模板中调用一次 tdk 标签,系统就会自动完成匹配。

tdk 标签通常有以下几种用法,通过 name 参数来指定您想获取的具体内容:

  • name="Title":用于获取页面的 <title> 标签内容。
  • name="Keywords":用于获取页面的 <meta name="keywords"> 内容。
  • name="Description":用于获取页面的 <meta name="description"> 内容。
  • name="CanonicalUrl":用于获取页面的规范链接 (<link rel="canonical">)。

此外,当您使用 name="Title" 时,还可以通过额外的参数来进一步定制标题的显示方式:

  • siteName=truesiteName=false:决定是否在标题后附加网站名称。默认为不附加。
  • sep="分隔符":自定义网站名称与页面标题之间的分隔符,默认为 -
  • showParent=trueshowParent=false:在分类或文档页面,决定是否显示父级分类的标题。默认为 false

动态设置 TDK:因页而异

AnQiCMS 的动态 TDK 设置遵循一套清晰的优先级规则,确保每个页面都能拥有最精准的SEO信息。

1. 首页的 TDK 设置

首页作为网站的门户,其TDK的设置尤为关键。在 AnQiCMS 后台,您可以进入“后台设置”下的“首页TDK设置”区域,为您的网站首页配置专属的标题、关键词和描述。这些设置将作为整个网站 TDK 的重要基础和默认回退项。

在模板中,您可以通过以下方式调用首页的 TDK:

<title>{% tdk with name="Title" siteName=true sep="_" %}</title>
<meta name="keywords" content="{% tdk with name="Keywords" %}">
<meta name="description" content="{% tdk with name="Description" %}">

2. 文档详情页(文章/产品)的 TDK 设置

对于具体的文章或产品详情页,AnQiCMS 允许您在发布或编辑文档时,进行高度定制化的 TDK 设置。在“添加文档”或“编辑文档”界面中,通常会有一个“其他参数”或“SEO设置”的折叠区域,您可以在其中找到:

  • SEO标题:这个字段将直接作为该文档页面的 <title> 内容,优先级高于系统默认和分类设置。
  • 文档关键词:您可以手动输入或从关键词库中选择,作为页面的 <meta name="keywords">
  • 文档简介:如果未设置独立的描述,系统会优先提取此处的简介作为页面的 <meta name="description">。若文档简介也未填写,系统则会自动从文档内容中提取前 150 字作为描述。
  • 规范的链接(Canonical Url):用于指定页面的规范URL,有助于避免重复内容问题。

在文档详情页的模板中,tdk 标签会智能地提取这些针对性设置:

<title>{% tdk with name="Title" siteName=true %}</title>
<meta name="keywords" content="{% tdk with name="Keywords" %}">
<meta name="description" content="{% tdk with name="Description" %}">
{%- tdk canonical with name="CanonicalUrl" %}
{%- if canonical %}
<link rel="canonical" href="{{canonical}}" />
{%- endif %}

您可以看到,tdk 标签在文档详情页能够自动识别并优先使用您在后台为该文档单独设置的 SEO 标题、关键词和描述。

3. 分类列表页的 TDK 设置

每个分类都可以拥有自己独立的 SEO 信息。在 AnQiCMS 后台的“文档分类”管理页面,编辑某个分类时,您可以在“其他参数”区域设置该分类的:

  • SEO标题:用于该分类列表页的 <title>
  • 关键词:用于该分类列表页的 <meta name="keywords">
  • 分类简介:如果未设置独立的描述,系统会优先提取此处的简介作为页面的 <meta name="description">

在分类列表页的模板中,tdk 标签会动态读取这些分类特有的设置:

<title>{% tdk with name="Title" siteName=true showParent=true %}</title>
<meta name="keywords" content="{% tdk with name="Keywords" %}">
<meta name="description" content="{% tdk with name="Description" %}">

注意这里 showParent=true 参数,它可以在分类标题中包含其上级分类的标题,构建更具层级的页面标题。

4. 单页面的 TDK 设置

对于“关于我们”、“联系我们”等单页面,其 TDK 设置方式与文档详情页类似。在后台的“页面管理”中,编辑单个页面时,您同样可以找到:

  • SEO标题
  • 关键词
  • 单页面简介

tdk 标签在单页面模板中的用法与文档详情页相同,它会优先读取这些页面级别的设置。

5. 标签详情页的 TDK 设置

AnQiCMS 还支持为每个标签(Tag)设置独立的 SEO 信息。在后台“文档标签”管理中,编辑某个标签时,可以配置:

  • SEO标题
  • 标签关键词
  • 标签简介

当用户访问某个标签的详情页时,tdk 标签会自动获取并应用这些设置。

完整示例:一个页面头部 (<head>) 的 TDK 代码片段

在您的 AnQiCMS 模板文件(通常是 base.html 或每个页面的头部文件)中,您可以将所有 TDK 相关的标签统一放置在 <head> 区块内。tdk 标签的智能识别机制将确保它们根据当前页面的上下文输出正确的内容:

”`twig <!DOCTYPE html>

<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{# 页面标题,并附加网站名称,使用下划线作为分隔符 #}
<title>{% tdk with name="Title" siteName=true sep="_" %}</title>
{# 页面关键词 #}
<meta name="keywords" content="{% tdk with name="Keywords" %}">
{# 页面描述 #}
<meta name="description" content="{% tdk with name="Description" %}">
{# 规范链接,判断是否存在才输出 #}
{%- tdk canonical with name="CanonicalUrl" %}
{%- if canonical %}
<link rel="canonical" href="{{canonical}}" />
{%- endif %}

{# 其他头部内容,如CSS、Favicon等 #}
<link rel="stylesheet" href="{% system with name="TemplateUrl" %}/css/style.css">
<link rel="icon" href="/favicon.ico" type="