织梦标题长度限制怎么修改

DedeCMS教程标题设置数据库字段

标题被截断的原因

很多站长在使用织梦DedeCMS发布文章时,会发现标题输入超过一定字数后被自动截断,后台显示不完整,前台展示也缺斤少两。这是因为织梦数据库中标题字段 title 默认长度设置为60个字符(约20个汉字),加上后台系统参数里的标题长度限制,共同导致超长标题无法完整保存。

要从根本上解除限制,需要同时修改数据库字段长度和后台系统参数,二者缺一不可。

一、修改数据库字段长度

标题存储在 dede_archives 表的 title 字段。登录数据库管理工具(phpMyAdmin或Navicat),执行以下SQL:

ALTER TABLE `dede_archives` CHANGE `title` `title` CHAR(255) NOT NULL DEFAULT '';

除了主表,附加表 dede_addonarticle 中如果有标题相关字段也需要一并修改。建议统一改为 CHAR(255)VARCHAR(255),足够容纳绝大多数标题。

如果使用织梦其他模型(如图片模型、软件模型),对应的附加表也要检查标题字段长度,确保一致。

二、修改后台系统参数

数据库改完后,后台发布文章时仍有长度校验,需要调整系统参数:

  1. 登录后台,进入「系统」-「系统基本参数」-「其他选项」。
  2. 找到「文章标题长度」选项,默认值通常为60,改为255。
  3. 找到「文档标题长度限制」相关项,同样调整为255。
  4. 保存设置并清空缓存。

三、修改后台发布页面JS校验

有些版本的后台发布页面有JavaScript字数校验,输入超长会弹窗提示。需要修改对应JS文件去掉或放宽限制:

  • 编辑 /dede/templets/article_add.htm,找到标题输入框的 maxlength 属性,改为 255
  • 检查同文件中的字数统计JS,把限制值同步调整。
  • 编辑 /dede/templets/article_edit.htm 做同样修改。
<input name="title" type="text" id="title" value="" 
       style="width:380px" maxlength="255" />

四、模板显示控制

数据库和后台限制解除后,标题能完整保存。但前台展示时,长标题可能撑破布局,需要在模板中控制显示长度,超出部分用省略号代替。

用织梦标签截断

[field:title function="cn_substr(@me,40)"/]

表示截取前40个字符,超出自动截断。CSS层面也可以配合:

.title {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

这样标题在视觉上单行显示并省略,但HTML中完整标题仍然保留,鼠标悬停可看全称,不影响SEO。

SEO标题字段的使用建议

织梦文章有「文章标题」和「SEO标题」两个字段。文章标题用于页面h1展示,SEO标题(shorttitle/seo标题)专门用于搜索引擎。建议:

字段用途建议长度
title 文章标题页面h1展示完整描述,不刻意控制
shorttitle 简略标题列表页、推荐位15-20字精炼
seo标题meta title30字内含关键词
标题虽然能存255字符,但搜索引擎展示标题通常只显示30个汉字左右。过长的标题后半部分会被截断,关键词也可能被稀释。建议核心关键词放在标题前15字内。

修改后的验证与维护

所有修改完成后,发布一篇长标题测试文章,确认后台能完整保存、前台能正常展示、数据库中字段内容完整。修改数据库字段属于结构性变更,操作前务必做好数据库备份。日后织梦升级版本时,注意检查升级是否覆盖了后台模板文件的修改,必要时重新调整。保持标题字段长度与展示策略的统一,既保证内容完整,又兼顾搜索展示效果。