`pageDetail`标签如何获取指定单页面的SEO标题、关键词和描述?

作为一位深谙AnQiCMS运作方式的网站运营人员,我深知内容在网站建设中的核心地位,而内容的高质量不仅体现在其深度和广度,更在于其是否能够被目标用户和搜索引擎有效发现。SEO(搜索引擎优化)标题、关键词和描述,正是内容与搜索引擎之间沟通的桥梁。对于AnQiCMS中的单页面内容,正确地获取和应用这些SEO元素至关重要。

理解 pageDetail 标签在单页面内容管理中的作用

在AnQiCMS中,pageDetail 标签是专门用于从数据库中获取单个页面的详细信息的模板标签。它允许模板开发者和运营人员根据页面的ID或URL别名,灵活地提取该单页面的各种属性,从而在前端进行展示或进一步处理。无论是“关于我们”、“联系方式”还是其他独立的信息页面,pageDetail 标签都是获取其核心内容的利器。

pageDetail 标签的基本使用方式为 {% pageDetail 变量名称 with name="字段名称" id="1" %}。其中,变量名称是一个可选参数,如果指定,可以将获取到的字段值赋给一个变量,方便后续在模板中多次引用;如果不指定,则会直接输出字段值。

该标签支持以下主要参数来指定获取哪个单页面:

  • id:通过指定单页面的ID来获取其详情。这是最直接的指定方式。
  • token:通过单页面的URL别名(也称为自定义URL)来获取其详情。这在URL结构清晰时非常有用。
  • siteId:在多站点管理的环境下,如果需要获取非当前站点的单页面数据,可以通过此参数指定站点ID。通常情况下,此参数无需填写。

获取单页面的内容标题与描述

当我们谈论单页面的标题和描述时,首先想到的是其作为页面核心内容组成部分的“内容标题”和“内容描述”。AnQiCMS允许您通过 pageDetail 标签直接获取这些字段:

获取单页面的标题 (Title)

每个单页面都拥有一个主要的标题,这是其内容的简明概括。您可以通过将 name 参数设置为 "Title" 来获取它。

{# 默认用法,自动获取当前页面单页的标题 #}
<div>单页标题:{% pageDetail with name="Title" %}</div>

{# 获取指定ID单页的标题 #}
<div>指定ID单页标题:{% pageDetail with name="Title" id="10" %}</div>

{# 将标题值赋给变量后使用 #}
{% pageDetail pageMainTitle with name="Title" %}
<div>当前页面主标题:{{ pageMainTitle }}</div>

获取单页面的描述 (Description)

单页面的内容描述是对页面主题或内容的摘要,通常用于在页面主体部分介绍内容。使用 pageDetail 标签并设置 name 参数为 "Description" 即可获取。

{# 默认用法,自动获取当前页面单页的描述 #}
<div>单页描述:{% pageDetail with name="Description" %}</div>

{# 获取指定ID单页的描述 #}
<div>指定ID单页描述:{% pageDetail with name="Description" id="10" %}</div>

{# 将描述值赋给变量后使用 #}
{% pageDetail pageSummary with name="Description" %}
<div>当前页面摘要:{{ pageSummary }}</div>

请注意,这里获取的 TitleDescription 主要是指单页面在后台编辑时填写的“页面名称”和“单页面简介”,它们构成了页面的基本内容信息。

获取单页面的 SEO 标题、关键词与描述

对于内容运营人员而言,仅仅获取页面的内容标题和描述是不够的,我们更关注那些直接影响搜索引擎排名的SEO元数据,即页面的 <title> 标签内容、<meta name="keywords"><meta name="description">

在AnQiCMS中,虽然后台为单页面提供了独立的“SEO标题”和“关键词”配置项,但 pageDetail 标签本身的设计侧重于获取页面的内容字段。为了提供统一且动态的SEO元数据获取机制,AnQiCMS引入了一个更为通用的标签:tdk 标签。这个“万能TDK标签”能够根据当前页面的上下文(无论是单页面、文章详情页还是分类列表页),自动提取并提供最准确的SEO元数据。

因此,获取单页面的SEO标题、关键词和描述,我们应优先使用 tdk 标签。

获取页面的 SEO 标题 (Title)

tdk 标签获取的 Title 专门用于页面的 <title> 标签。它会优先使用后台为单页面配置的“SEO标题”,如果未配置,则可能回退到页面的“内容标题”,并支持附加网站名称等功能。

{# 最基础的SEO标题,不包含网站名称 #}
<title>{% tdk with name="Title" %}</title>

{# 包含网站名称作为后缀的SEO标题,使用默认分隔符 "-" #}
<title>{% tdk with name="Title" siteName=true %}</title>

{# 包含网站名称作为后缀,并自定义分隔符 "_" #}
<title>{% tdk with name="Title" siteName=true sep="_" %}</title>

{# 将SEO标题赋给变量后使用 #}
{% tdk seoPageTitle with name="Title" siteName=true %}
<title>{{ seoPageTitle }}</title>

获取页面的 SEO 关键词 (Keywords)

tdk 标签能够获取后台为单页面专门设置的SEO关键词,用于填充页面的 <meta name="keywords"> 标签。

{# 获取页面的SEO关键词 #}
<meta name="keywords" content="{% tdk with name="Keywords" %}">

{# 将SEO关键词赋给变量后使用 #}
{% tdk seoPageKeywords with name="Keywords" %}
<meta name="keywords" content="{{ seoPageKeywords }}">

获取页面的 SEO 描述 (Description)

tdk 标签同样可以获取后台为单页面设置的SEO描述,用于填充页面的 <meta name="description"> 标签。它会优先使用后台配置的SEO描述,如果未配置,则可能回退到页面的“单页面简介”。

{# 获取页面的SEO描述 #}
<meta name="description" content="{% tdk with name="Description" %}">

{# 将SEO描述赋给变量后使用 #}
{% tdk seoPageDescription with name="Description" %}
<meta name="description" content="{{ seoPageDescription }}">

pageDetailtdk 标签的协作与**实践

作为内容运营人员,理解 pageDetailtdk 标签各自的侧重点是高效进行网站优化的关键。

pageDetail 标签是您获取单页面主体内容字段的工具,例如,在