返回列表 回复 发帖

限制discuz标题的最小字数或加大长度

disucz帖子的标题是长度极限是80个字,中文和英文都是一样的。这个长度应该说够用了,但很多人有不同的需要,discuz不可能控制这么细,因此要控制发帖的最小标题长度或者增加80字的极限长度就要修改程序。

1.限制发帖标题的最小长度

可能有的用户发贴子标题只是习惯用一两个字,或很短不能表达帖子在意思,这对搜索引擎优化是不利的,对于用户体验和discuz的seo也不好。限制发帖标题的最小长度,需要修改后台检测函数就可以了,可能对discuz seo也有好处:
打开include/post.func.php文件:
  1. global $subject, $message, $disablepostctrl, $minpostsize, $maxpostsize;
  2. if(strlen($subject) > 80 ) { //把这两行替换为如下:
  3. global $subject, $message, $disablepostctrl, $minpostsize, $maxpostsize, $action;
  4. if(strlen($subject)>80 || ($action=='newthread' && strlen($subject)<8) ){
复制代码
这时还要注意,当标题过短时的提示还是标题过长超过字数限制,还要修改语言包的提示
打开templates/default/messages.lang.php,找到post_subject_toolong
将后面的提示修改为:标题字数应在 8-80 之间,请返回修改标题长度
注意:不改改变这个文件的字符编码,否则会造成显示乱码。

2.加大discuz标题长度

这个真不知道为什么还要加长,可是有人需要过。方法除了像1.一样修改程序中的限制和提示信息,还要修改数据库中字段的长度,否则也存不下自然就丢弃了。
修改数据表字段长度,主题表:cdb_threads,帖子表:cdb_posts
对它们分别执行:ALTER TABLE [上面两个表的名字] MODIFY subject varchar(200);
注意:操作前要备份数据库;红字根据需要修改。

作者:SEO小工 版权所有,转载请注明作者、出处和原文链接并保留本声明
SEO小工,看了你的文章后, 很有感触, 我就是想再问几个问题.
论坛里面我删除部分帖子, 我是否可以让搜索引擎访问这些删除的帖子然后301定向到首页呢, 这样有好处吗?

第二个是 屏蔽一些提示页面的收录不会出问题吧.
301是内容的永久转移,把删除的帖子定向的首页是不合适的,应该返回404. 对于DZ的修改,只是屏蔽了蜘蛛,这样做只是最简方法.
交流QQ群:13519368
返回列表