作为一位深耕网站运营多年的老兵,我深知每一个细节都可能影响网站在搜索引擎中的表现。其中,Title(标题)、Description(描述)和Keywords(关键词)这“三驾马车”——常被我们称为TDK,更是网站SEO优化的基石。它们如同网站的“门面”与“地图”,直接告诉搜索引擎和用户您的页面是关于什么的。

在安企CMS(AnQiCMS)这样一款高效、可定制的Go语言内容管理系统中,自定义TDK的显示逻辑,不仅灵活便捷,更能帮助我们精细化地掌控SEO策略。今天,就让我们一同深入探讨,如何在AnQiCMS的模板中,巧妙地定制这些关键元素的显示逻辑。

安企CMS TDK 策略:分层与灵活性

AnQiCMS在TDK管理上,提供了一种分层、逐级覆盖的策略,极大地增强了我们的运营灵活性。这意味着,您可以从宏观到微观,对网站的每一个页面进行TDK的精细配置。

首先,在全局设置中,您可以为整个网站的首页配置TDK。这通常是您品牌名称、核心业务和整体定位的体现。在后台的“首页TDK设置”里,您可以轻松填写“首页标题”、“首页关键词”和“首页描述”。

更进一步,AnQiCMS允许您在内容层面,为每一种具体的内容(如文章、产品、单页面、分类页和标签页)设置独立的TDK。例如,在“发布文档”时,除了文章标题和内容,您会发现“SEO标题”、“文档关键词”和“文档简介”这些专用字段。这些字段的目的,就是为了让您能够针对性地优化每一篇内容的搜索引擎可见性。同样地,在“文档分类”、“文档标签”以及“页面管理”中,也都提供了类似的“SEO标题”、“关键词”和“简介/描述”字段。

这种分层设计的精妙之处在于,当一个页面同时具备全局TDK和内容TDK时,内容层面设置的TDK往往会优先被读取,从而实现更精准的SEO控制。而最终呈现在用户面前的TDK,则是由您的模板代码来决定如何解析和展示这些数据的。

核心工具:万能 TDK 标签 {% tdk %} 的精妙运用

AnQiCMS的模板系统采用了类似Django模板引擎的语法,其中一个非常强大的内置标签就是{% tdk %}。它被设计成一个“万能标签”,能够智能地根据当前页面类型(首页、文章页、分类页等)自动抓取并输出相应的TDK信息。

Title(页面标题)的定制

在模板的<head>区域,您可以使用{% tdk with name="Title" %}来输出页面的Title标签内容。这个标签非常智能,它会根据当前页面的上下文,优先尝试获取内容层面(如文章、分类、单页的SEO标题),如果没有设置,则会回退到该内容的常规标题,最后再回退到全局首页标题。

更棒的是,{% tdk name="Title" %}还提供了几个实用的参数:

  • siteName=true:如果您希望页面的Title后自动附加网站的名称,可以设置为true。例如,{% tdk with name="Title" siteName=true %}可能会输出“文章标题 - 您的网站名称”。
  • sep="_":您可以自定义网站名称与页面标题之间的分隔符,例如将其设置为下划线_
  • showParent=true:在某些分类页面下,您可能希望Title显示上级分类的标题,这个参数就能帮您实现。

例如,在您的base.html头部:

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

Keywords(页面关键词)和Description(页面描述)的控制

对于Keywords和Description,用法与Title类似:

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

它们同样会根据页面上下文智能匹配,优先使用内容层面设置的关键词和描述,其次是其常规简介,最后回退到全局设置。

Canonical Url(规范链接)的引入

在SEO中,规范链接Canonical Url对于处理重复内容至关重要。AnQiCMS同样提供了{% tdk with name="CanonicalUrl" %}来输出页面的规范链接。在内容发布时,如果文章或单页设置了规范链接,这里便会输出。**实践是进行条件判断:

{%- tdk canonical with name="CanonicalUrl" %}
{%- if canonical %}
<link rel="canonical" href="{{canonical}}" />
{%- endif %}

这样可以确保只在存在规范链接时才输出该标签,保持代码的整洁。

自定义 TDK 显示逻辑的实战演练

尽管{% tdk %}标签已经足够智能,但在某些特定的业务场景下,我们可能需要更精细、更具优先级的TDK显示逻辑。AnQiCMS的模板灵活性允许我们直接在模板中编写判断,自定义获取数据的流程。

假设您希望在文章详情页实现这样的逻辑:

  1. 优先使用文章自身的“SEO标题”。
  2. 如果“SEO标题”为空,则使用文章的“文档标题”。
  3. 最后,统一加上网站的名称。

您可以在文章详情模板(如archive/detail.html)的<head>部分这样编写:

”`html {% set pageTitle = “” %} {# 尝试获取文章的SEO标题 #} {% archiveDetail seoTitle with name=“SeoTitle” %} {% if seoTitle %}

{% set pageTitle = seoTitle %}

{% else %}

{# 如果SEO标题为空,则获取文章的常规标题 #}
{% archiveDetail articleTitle with name="Title" %}
{% set pageTitle = articleTitle %}

{% endif %}

{# 获取网站名称 #} {% system siteName with name=“SiteName” %}

{# 组合最终Title #} {{</p> </div> </div> </div> <div class="layui-card"> <div class="layui-card-body"> <div class="article-prev-next"> <li> 上一篇: <a href="https://www.anqicms.com/blog/6570.html">安企CMS的TDK标签设置后多久能被搜索引擎收录?</a> </li> <li> 下一篇: <a href="https://www.anqicms.com/blog/6572.html">安企CMS的`tdk`标签在使用时需要注意哪些参数?</a> </li> </div> </div> </div> </div> <div class="layui-col-md3"> <div class="layui-card"> <div class="layui-card-body"> <ul class="aside-list"> <li class="item"> <a href="https://www.anqicms.com/case" class="link"> <h5 class="title">安企CMS网站案例</h5> </a> </li> <li class="item"> <a href="https://www.anqicms.com/help" class="link"> <h5 class="title">安企CMS使用帮助</h5> </a> </li> <li class="item"> <a href="https://www.anqicms.com/manual" class="link"> <h5 class="title">安企CMS模板标签手册</h5> </a> </li> <li class="item"> <a href="https://www.anqicms.com/blog" class="link"> <h5 class="title">安企BLOG</h5> </a> </li> <li class="item"> <a href="https://www.anqicms.com/design" class="link"> <h5 class="title">设计市场</h5> </a> </li> <li class="item"> <a href="https://www.anqicms.com/anqiapi" class="link"> <h5 class="title">安企CMS接口帮助</h5> </a> </li> <li class="item"> <a href="https://www.anqicms.com/changelog" class="link"> <h5 class="title">AnqiCMS更新记录</h5> </a> </li> <li class="item"> <a href="https://www.anqicms.com/question" class="link"> <h5 class="title">问题交流</h5> </a> </li> <li class="item"> <a href="https://www.anqicms.com/plugin" class="link"> <h5 class="title">功能介绍</h5> </a> </li> <li class="item"> <a href="https://www.anqicms.com/courses" class="link"> <h5 class="title">视频教程</h5> </a> </li> </ul> </div> </div> <div class="layui-card"> <div class="layui-card-header">最新文章</div> <div class="layui-card-body"> <ul class="aside-list"> <li class="item"> <a href="https://www.anqicms.com/blog/6572.html" class="link"> <h5 class="title">安企CMS的`tdk`标签在使用时需要注意哪些参数?</h5> </a> </li> <li class="item"> <a href="https://www.anqicms.com/blog/6571.html" class="link"> <h5 class="title">如何在安企CMS模板中自定义Title、Description、Keywords的显示逻辑?</h5> </a> </li> <li class="item"> <a href="https://www.anqicms.com/blog/6570.html" class="link"> <h5 class="title">安企CMS的TDK标签设置后多久能被搜索引擎收录?</h5> </a> </li> <li class="item"> <a href="https://www.anqicms.com/blog/6569.html" class="link"> <h5 class="title">安企CMS的图片Alt标签与TDK关键词有什么关联?</h5> </a> </li> <li class="item"> <a href="https://www.anqicms.com/blog/6568.html" class="link"> <h5 class="title">如何在安企CMS中为不同的内容模型配置差异化的TDK策略?</h5> </a> </li> <li class="item"> <a href="https://www.anqicms.com/blog/6567.html" class="link"> <h5 class="title">安企CMS的TDK标签内容是否支持HTML代码或特殊字符?</h5> </a> </li> </ul> </div> </div> <div class="layui-card"> <div class="layui-card-header">相关文章</div> <div class="layui-card-body"> <ul class="aside-list"> <li class="item"> <a href="https://www.anqicms.com/blog/6570.html" class="link"> <h5 class="title">安企CMS的TDK标签设置后多久能被搜索引擎收录?</h5> </a> </li> <li class="item"> <a href="https://www.anqicms.com/blog/6569.html" class="link"> <h5 class="title">安企CMS的图片Alt标签与TDK关键词有什么关联?</h5> </a> </li> <li class="item"> <a href="https://www.anqicms.com/blog/6568.html" class="link"> <h5 class="title">如何在安企CMS中为不同的内容模型配置差异化的TDK策略?</h5> </a> </li> <li class="item"> <a href="https://www.anqicms.com/blog/6567.html" class="link"> <h5 class="title">安企CMS的TDK标签内容是否支持HTML代码或特殊字符?</h5> </a> </li> <li class="item"> <a href="https://www.anqicms.com/blog/6566.html" class="link"> <h5 class="title">安企CMS的流量统计数据能帮助我优化TDK关键词吗?</h5> </a> </li> <li class="item"> <a href="https://www.anqicms.com/blog/6572.html" class="link"> <h5 class="title">安企CMS的`tdk`标签在使用时需要注意哪些参数?</h5> </a> </li> </ul> </div> </div> </div> </div> </div> <div class="footer-block"> <footer class="layui-footer"> <div class="layui-container"> <div class="layui-row layui-col-space30" style="margin-left: -8px; margin-right: -8px; row-gap: 16px;"> <div class="layui-col-lg4 footer-block"> <h3>安企内容管理系统(AnqiCMS)</h3> <p><img src="/anqicms.png" style="width: 96px;" /></p> <p>安企内容管理系统(AnqiCMS),是一款使用 GoLang 开发的企业站内容管理系统,它部署简单,软件安全,界面优雅,小巧,执行速度飞快,使用 AnqiCMS 搭建的网站可以防止众多安全问题发生。</p> </div> <div class="footer-block layui-col-lg3 layui-col-xs6"> <h3>安企CMS</h3> <ul class="footer-list"> <li class="item"> <a href="/about.html" class="link"> <div class="title">关于安企CMS</div> </a> </li> <li class="item"> <a href="/download" class="link"> <div class="title">下载安企CMS</div> </a> </li> <li class="item"> <a href="/price.html" class="link"> <div class="title">服务价格</div> </a> </li> <li class="item"> <a href="/help-basic/114.html" class="link"> <div class="title">开发计划</div> </a> </li> <li class="item"> <a href="/changelog" class="link"> <div class="title">版本记录</div> </a> </li> <li class="item"> <a href="/authorization.html" class="link"> <div class="title">授权&贡献查询</div> </a> </li> </ul> </div> <div class="footer-block layui-col-lg3 layui-hide-xs"> <h3>使用帮助</h3> <ul class="footer-list"> <li class="item"> <a href="/case" class="link"> <div class="title">网站案例</div> </a> </li> <li class="item"> <a href="/design/1" class="link"> <div class="title">模板市场</div> </a> </li> <li class="item"> <a href="/help" class="link"> <div class="title">使用帮助</div> </a> </li> <li class="item"> <a href="/manual" class="link"> <div class="title">模板手册</div> </a> </li> <li class="item"> <a href="/anqiapi" class="link"> <div class="title">接口文档</div> </a> </li> <li class="item"> <a href="/question" class="link"> <div class="title">问题交流</div> </a> </li> </ul> </div> <div class="layui-col-lg2 layui-col-xs6"> <h3>联系我们</h3> <div>联系微信:websafety</div> <img class="qrcode" src="https://www.anqicms.com/uploads/202211/09/1a55bfcde55aa2d6.webp"> <div class="qr-tips">联系客服</div> </div> </div> </div> </footer> <div class="footer-copyright"> <a href="/privacy.html">隐私权</a> <a href="/terms.html">条款</a> <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">粤ICP备2024356999号</a> <span>© 2020-2025 深圳市搜外科技有限公司 All Rights Reserved, Created By <a href="https://www.anqicms.com/" target="_blank">安企内容管理系统(AnqiCMS)</a></span></div> </div> </body> <script src="https://www.anqicms.com/static/anqitpl1/js/template.js?v=1.3"></script> <script src="https://www.anqicms.com/static/anqitpl1/layui/layui.js"></script> <script type="module"> import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs'; mermaid.initialize({ startOnLoad: true }); </script> <script> layui.config({ base: "https://www.anqicms.com/static/anqitpl1/js/" }).use('index'); //加载入口 </script> <script src="https://www.anqicms.com/static/anqitpl1/js/app.js?v=1.5.7"></script> <div class="layui-hide"><script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?23ac1576d1ee72920a3d65a2cf536ac0"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </div> </html>