在进行前端模板开发之前,必须先在后台完成基础数据的录入。迅睿CMS(Xunruicms)将栏目名称与SEO标题分离,这是为了满足“用户看到的标题”与“搜索引擎看到的标题”不一致的场景。默认情况下,如果未填写SEO标题,系统会自动使用栏目名称。
登录迅睿CMS后台管理界面,点击顶部菜单栏的【内容】,在左侧下拉菜单中选择【栏目管理】。在栏目列表中,找到你需要配置SEO的栏目,点击该栏目行最右侧的【修改】按钮(图标通常为笔形)。
进入栏目修改页面后,找到【SEO设置】选项卡。点击展开该选项卡,你会看到三个核心字段:
填写完毕后,点击页面底部的【保存】strong>按钮。此时,后台数据配置已完成,接下来需要通过代码在前端页面调用这些数据。
迅睿CMS的前端模板引擎支持直接调用当前栏目的数据。在栏目列表页(category.html)和内容页(show.html)中,调用栏目SEO标题的逻辑有所不同,需要分别处理。
打开你的网站模板目录,找到栏目列表页文件,通常是category.html或list.html。在HTML的区域,找到标签。
默认的标签代码可能只是简单的。我们需要将其替换为具备“回退机制”的代码:即优先显示SEO标题,如果SEO标题为空,则显示栏目名称。
请直接复制以下代码替换原有的Title标签:
```html代码解析:
$cat:表示当前栏目的数据对象。$cat.seo_title:表示后台填写的SEO标题字段。$cat.name:表示后台填写的栏目名称字段。:这是迅睿CMS的模板语法,用于判断。如果SEO标题存在,则输出SEO标题,否则输出栏目名称。$site.name:网站名称,通常放在标题最后以增强品牌曝光。同样在区域,找到和,使用相同的逻辑进行替换。
Keywords替换代码:
```html ```Description替换代码:
```html ```在内容详情页(show.html)中,我们需要展示当前文章所属栏目的SEO标题。由于内容页的默认变量是$title(文章信息),我们需要通过$catid(栏目ID)来反向获取栏目信息。
在show.html的区域之前或者模板顶部,我们需要先查询出当前栏目的数据。迅睿CMS提供了{category ...}标签来实现这一功能。
请在标签上方或者合适的位置插入以下代码:
获取到栏目数据变量$c后,我们就可以在标签中使用了。通常内容页的标题结构是“文章标题 - 栏目SEO标题 - 网站名称”。
请将show.html中的标签修改为:

注意: 上述代码必须包裹在{category ...}标签的内部,或者确保在调用前变量$c已经可用。为了代码结构清晰,建议直接写在Title标签外部进行赋值,或者使用简写方式。
更推荐的简写调用方式(直接在标签中调用):
```html代码解析:
dr_cat_value($catid, 'seo_title'):这是迅睿CMS的万能函数调用,直接通过栏目ID获取字段的值。? :进行判断,如果SEO标题有值则显示,无值则显示栏目名称。这种方式不需要在头部写额外的循环标签,更加简洁。为了进一步提升SEO效果,我们经常需要在栏目SEO标题中自动拼接上级栏目名称,或者加入一些特定的字符。迅睿CMS支持在模板中进行灵活的字符串拼接。
如果你的网站层级较深,例如“产品中心 > 数码产品 > 智能手机”,在“智能手机”这个栏目的列表页标题中,你可能希望显示为“智能手机 - 数码产品 - 产品中心”。
在category.html中,可以使用以下代码实现层级面包屑式的Title:
```html代码解析:
$cat.pid:当前栏目的父级ID。{if $cat.pid} ... {/if}:判断是否存在父级栏目。如果存在,就调用父级栏目的名称。dr_cat_value($cat.pid, 'name'):通过父级ID获取父级栏目名称。在设置SEO标题时,为了URL的美观,通常栏目目录名(dirname)也应该包含关键词。虽然这属于URL优化范畴,但与标题相辅相成。
在后台栏目设置中,确保【生成HTML文件名】(即目录名)包含英文关键词。例如,栏目名为“新闻中心”,目录名可设为news。这样生成的URL是/domain/news/,配合Title标签中的“新闻中心”,相关性更强。
在按照上述步骤操作后,如果前台页面没有正确显示SEO标题,请按照以下顺序排查。
迅睿CMS具备强大的缓存机制。修改后台栏目配置或更新模板代码后,必须更新缓存。
解决步骤:进入后台 -> 【系统】 -> 【系统升级】 -> 点击“更新系统缓存”。或者在后台首页右上角点击“清除缓存”。如果使用了OPcache或Redis等服务器缓存,还需要重启服务或清理对应缓存。
迅睿CMS支持PC端和移动端模板分离。如果你在手机端看不到效果,请检查是否修改了移动端对应的模板文件。
解决步骤:确认你的模板目录结构。通常PC端在/template/default/html/,移动端在/template/default/wap/。请确保两个目录下的category.html和show.html都进行了相应的代码修改。
在部分自定义的循环标签中,$cat变量可能会被覆盖。例如在首页循环调用栏目列表时,内部的$cat代表的是循环中的当前栏目,而不是当前页面所在的栏目。
解决步骤:在首页或非栏目页调用当前栏目信息时,建议使用{dr_cat_value($catid, 'seo_title')}函数直接通过ID获取,而不是依赖$cat变量,以避免变量污染。
如果在SEO标题中使用了特殊符号,导致页面乱码或布局错位。
解决步骤:检查后台数据库字符集是否为utf8mb4。确保模板文件的编码格式是UTF-8(无BOM)。在HTML头部确认有。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图