如何通过模板标签获取单页面的SEO标题和描述?

作为一名资深的安企CMS网站运营人员,我深知每一个页面在搜索引擎优化中的关键作用,尤其是SEO标题和描述。它们不仅是吸引用户点击的第一道防线,更是向搜索引擎传达页面核心内容的重要信号。安企CMS深谙此道,为我们提供了强大而灵活的模板标签,让我们能够精确控制每个单页面的SEO元素。

安企CMS中的单页面SEO设置

在安企CMS的后台,单页面的SEO标题和描述有着明确的设置位置,这允许运营人员根据页面的特定内容和优化目标进行精细化配置。当我们进入“页面资源”下的“页面管理”功能,编辑或添加一个单页面时,会发现“SEO标题”和“单页面简介”这两个字段。

其中,“SEO标题”是专为搜索引擎显示的页面标题,它可以在不影响页面自身H1标题的情况下,针对搜索引擎进行优化,通常包含核心关键词。而“单页面简介”则被系统用作页面的<meta name="description">标签内容,它是对页面内容的简要概括,旨在吸引用户点击。这些后台设置是前端模板标签获取SEO信息的直接来源。

获取单页面SEO标题的核心模板标签:tdk

安企CMS提供了一个“万能TDK标签”——tdk标签,它能够智能地根据当前页面的上下文,自动获取并输出相应的TDK(Title, Description, Keywords)信息。对于单页面而言,tdk标签会优先读取后台为该单页面设置的“SEO标题”和“单页面简介”。

要获取单页面的SEO标题,我们可以在模板中使用以下标签:

<title>{% tdk with name="Title" %}</title>

这个标签会动态地输出当前单页面在后台“SEO标题”字段中设置的内容。如果我们需要在SEO标题后面附加网站名称,以增强品牌识别度,可以这样使用:

<title>{% tdk with name="Title" siteName=true %}</title>

此时,输出的标题将是“单页面SEO标题 - 网站名称”。我们还可以通过sep参数自定义分隔符,例如 sep="_"

获取单页面SEO描述的核心模板标签:tdk

同样,利用tdk标签,我们可以轻松获取单页面的SEO描述。它会读取后台“单页面简介”字段的内容,并将其输出到页面的<meta name="description">标签中:

<meta name="description" content="{% tdk with name="Description" %}">

辅助模板标签:pageDetail

虽然tdk标签是获取单页面SEO标题和描述的首选,因为它直接对应后台的SEO配置字段,但在某些情况下,如果后台未单独设置“SEO标题”和“单页面简介”,或者我们希望直接获取单页面的主要标题和内容简介(而非专门的SEO字段),pageDetail标签也可以派上用场。

pageDetail标签主要用于获取单页面的详细信息,包括其页面名称(Title)和内容简介(Description)。

获取单页面的主要标题:

<div>页面主要标题:{% pageDetail with name="Title" %}</div>

获取单页面的内容简介:

<div>页面内容简介:{% pageDetail with name="Description" %}</div>

需要注意的是,pageDetail标签获取的是单页面的原生标题和简介,而tdk标签则更侧重于后台为搜索引擎优化的特定字段。在同时设置了SEO标题和主要标题的情况下,它们可能存在差异。作为运营人员,我们通常会优先使用tdk标签来确保搜索引擎获取到的是我们精心优化的SEO信息。

实际应用示例

将这些模板标签应用到单页面的HTML头部,可以构建一个完善的SEO结构。以下是一个典型的单页面<head>区域代码示例:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    {# 使用tdk标签获取单页面的SEO标题,并附加网站名称 #}
    <title>{% tdk with name="Title" siteName=true %}</title>

    {# 使用tdk标签获取单页面的SEO关键词(如果后台有设置) #}
    <meta name="keywords" content="{% tdk with name="Keywords" %}">

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

    {# 获取页面的规范链接,通常用于防止重复内容问题 #}
    {%- tdk canonical with name="CanonicalUrl" %}
    {%- if canonical %}
    <link rel="canonical" href="{{canonical}}" />
    {%- endif %}

    {# 引入CSS文件等其他头部元素 #}
    <link rel="stylesheet" href="{% system with name='TemplateUrl' %}/css/style.css">
</head>
<body>
    {# 页面内容 #}
</body>
</html>

这段代码确保了每个单页面都能动态地拥有专属且优化的SEO标题和描述,极大地方便了网站的SEO管理工作。

常见问题解答

Q: tdk 标签可以在任何类型的页面中使用吗? A: 是的,tdk 标签是一个“万能TDK标签”,它被设计用于在任何页面类型(如首页、文章详情页、分类列表页、单页面等)中智能地获取并输出当前页面的SEO标题、关键词和描述。它会根据页面的上下文自动识别并读取后台相应的SEO配置。

Q: 如果我没有为单页面设置“SEO标题”和“单页面简介”,tdk 标签会返回什么? A: 如果后台没有为单页面专门设置“SEO标题”,tdk标签通常会回退到使用单页面的主要标题(即“页面名称”字段)。同样,如果“单页面简介”为空,它可能会尝试提取页面内容的前N个字符作为描述,或返回空值,具体行为可能取决于模板的默认逻辑和系统配置。为了**SEO效果,强烈建议为每个重要单页面手动设置SEO标题和描述。

Q: pageDetailtdk 获取的标题和描述有什么区别? A: pageDetail标签主要用于获取单页面的核心内容属性,例如它的主要标题(通常用于页面内部显示,如H1标签)和主要内容简介。而tdk标签则专注于获取为搜索引擎优化的特定字段,即后台“SEO标题”和“单页面简介”中输入的内容。在许多情况下,尤其当运营人员希望为搜索引擎和用户展示不同的标题/描述时,这两个标签获取的内容可能会不同。我们建议优先使用tdk标签来设置页面的<title><meta name="description">,以确保搜索引擎优化效果。