巅峰霸主 > 前端设计 > 织梦教程 > dedecm修改tag标签和关键词字数限制方法,解决超出被截断的问题

dedecm修改tag标签和关键词字数限制方法,解决超出被截断的问题

时间:2020-03-11 20:35:24 来源:巅峰霸主 作者:烈火大地 点击:
摘要:dedecms关键词默认60个字符限制,tag标签默认12个字节限制,超出之后就会被截断,有时候关键词和tag都会稍微长一些,为了避免被截断隐藏,设置长一些没有坏处……

要解决字数限制的问题,需要修改数据库和相关代码来解除限制,修改数据库时建议直接登录phpmyadmin或MySQL workbench来修改,因为这样可以避免执行SQL语句时出错。由于tag和关键词2个标签都需要解决被截断的问题,所以就一起解决了。

一、解决tag超出被解决问题

①修改数据

dedecms tag标签字数限制修改长一些的的具体方法是修改dede_tagindexdede_taglist这两个表中的的tag字段属性,将TAG字段属性默认的12个字节修改为255即可,有2中修改的方法,第一种是使用phpmyadmin这类管理数据库的工具,登录数据库后台修改,以phpmyadmin为例,登录后找到dedecms数据库的dede_tagindex这个表,下图所示,点“结构”,就会出现修改的选择按钮,找到第二个tag点后面的修改按钮。

image.png

点开修改菜单后,把“长度/值”下面的12修改为数字255,如下图所示,其他的不要修改,然后点保存即可。需要说明一下的是,网上有的教程里面说把“类型”这里的char改为varchar这是不对的,因为varchar会默认清除掉tag标签中的空格,比如你设置了一个标签为“Adobe Dreamweaver”,整个是一个tag标签,中间有空格才是正确的,如果改为了varchar,中间的空格就会被清除,所以大家千万要小心修改。

image.png

利用同样的方法修改dede_taglist这个表中tag字段,把“长度/值”下面的12修改为数字255修改为255,其他的不要修改,然后保存即可。

方法二是使用SQL语句

在网站后台,系统设置里面执行下面两句SQL语句(适用于utf8编码),注意把表前缀修改为你自己的数据表前缀后执行。

ALTER TABLE `dede_tagindex` CHANGE `tag` `tag` CHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';
ALTER TABLE `dede_taglist` CHANGE `tag` `tag` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';

②修改源代码

打开网站根目录includehelpersrchive.helper.php文件,查找代码:

if(isset($tag[12]) || $tag!=stripslashes($tag))

将其中的数字12改为255后保存!一共有2处,这2处都修改。如果找不着可以搜索其中的关键词。

image.png

再打开跟目录/dede/tags_main.php,查找代码

if($keyword != '' && strlen($keyword)<13 )

将其中的数字13修改为255后保存。

这样dedecms系统tag标签大于12个字节被截断的问题就全部解决了。

二、解决关键词超出被截断的问题

①修改数据库表字段的字数限制

下面来修改文档关键词字数限制的问题,默认关键词字数所有字数加起来是60个字节,utf8编码20个汉字的限制,超出就会被截断。修改方法首先是修改数据库,同样使用phpmyadmin等登录你的数据库,找到数据表dede_archivesdede_keywords这2个表,按照前面修改tag标签的方法,将这2个表中的keywords分别改为360,也就是最大字数可以是120个汉字。注意只修“长度/值”后面的数字,其他的不要修改。

也可以在网站后台使用SQL语句来执行,适用于utf8编码的SQL语句如下,注意修改表前缀为你自己的:

ALTER TABLE `dede_archives` CHANGE `keywords` `keywords` CHAR(360) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';
ALTER TABLE `dede_keywords` CHANGE `keyword` `keyword` CHAR(360) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';

②修改源码中的字数限制

数据库keywords字段修改完成之后再修改网站的源码,分别打开网站根目录下的这4个文件:

  1. /dede/article_add.php

  2. /dede/article_edit.php

  3. /dede/archives_add.php

  4. /dede/archives_edit.php

分别查找代码:

$keywords = cn_substrR($keywords,60);

将其中的数字改为360即可。

如果找不到上面代码就找:$keywords = trim(cn_substrR($keywords, 60));

image.png

修改完上面的4个文件之后,再打开网站根目录下/dede/inc/inc_archives_functions.php文件,查找文件中代码:

if(strlen($keywords.$k)>=

将后面的数字改为360即可,注意有2处,2处均要修改。这样dedecms默认的关键词字数超出后被截断的问题就解决了。

修改的难点是数据库字段,因为有的人不懂怎么操作数据库,所以在修改数据表的字段时要万分的小心,认真看我前面写的步骤操作是不会有问题。

优化好dedecms系统的tag标签和关键词标签虽然不能说对SEO优化有多大的影响,但是起码起到的是正面的作用,SEO优化不就是靠一点一滴的小细节积累起来的吗,把每一个细节都做好,自然效果也就会更好了。

(责任编辑:陆柏熺)
相关分类: dedecms tag
评价:
用户名: 验证码: 看不清?点击更换

相关内容推荐



关注站长自媒体 获取更多优质内容

2019-2020 ©巅峰霸主网 京ICP备12023415号-2
返回顶部