DEDECMS 是一款功能强大的内容管理系统,广泛应用于网站建设中。本文将详细介绍如何优化 DEDECMS 文章页的标题结构,以提高 SEO 效果。

默认情况下,DEDECMS 的文章页 title 结构为:

“文章标题 - 网站名”

为了提升 SEO 表现,我们希望将其改为:

“文章标题 - 二级栏目 - 一级栏目 - 网站名”

以下是两种实现方法:

方法一:

在文件 /include/inc_archives_view.php 中查找 tp.typedir,并将其替换为 tp.typedir,tp.typename。

然后,在文章模板中使用以下代码调用:

{dede:field name='typename' /}

这样就可以在文章页显示所属栏目的名称。Title 的完整代码如下:

{dede:field name='title'/}-{dede:field name='typename'/}-{dede:global name='cfg_webname'/}

方法二:

此方法更加科学和简便,利用 “position” 实现多级栏目的显示。

(A) 基础代码:

{dede:field name='title' /}-{dede:field name='position' runphp='yes'}
$tc="-"; // 分隔符
$tw=$GLOBALS['cfg_list_symbol']; // 调用位置分隔符
@me=html2text(@me); // 去除 html 标签
$tf=split($tw,@me); // 分解成数组
for($ta=(count($tf)-2);$ta>=1;$ta--){
$tk.=trim($tf[$ta]).$tc;
}
$tk=substr($tk,0,-1);
@me=$tk; // 赋值给 @me
{/dede:field}-{dede:global name='cfg_webname' /}

将以上代码放在文章页模板的 <title></title> 之间即可实现所需格式。

(B) 高级优化:

如果目录层级过深,导致标题过长,可以进行如下优化:

{dede:field name='title' /}-{dede:field name='position' runphp='yes'}
$tc="-"; // 分隔符
$tw=$GLOBALS['cfg_list_symbol']; // 调用位置分隔符
@me=html2text(@me); // 去除 html 标签
$tf=split($tw,@me); // 分解成数组
for($ta=(count($tf)-2);$ta>=1;$ta--){
$tk.=trim($tf[$ta]).$tc;
}
$tk=substr($tk,0,-1);
$tk=str_replace("-4级栏目-3级栏目","", $tk); // 移除不必要栏目
@me=$tk; // 赋值给 @me
{/dede:field}-{dede:global name='cfg_webname' /}

通过增加蓝色部分代码,可以移除不需要的栏目标题。

扩展应用:

这种方法同样适用于栏目页面的 title 优化。只需将 (A) 中的代码放入 <title></title>,并删除 {dede:field name='title' /}- 这一段即可。

通过上述方法,您可以有效优化 DEDECMS 网站的文章页标题结构,从而提升搜索引擎排名和用户体验。


空格 示例:
这是一个 带空格 的句子。