DedeCMS可以为网站增加大量的页面,必须处理得当,否则会产生非常多的垃圾页面。页面SEO优化的三要素Title、Keywords、Description。最重要的是Title,而TAG页面没有对应的Descripition描述,可以把当前TAG标签写成描述也可以,但不灵活,下面提供为TAG标签增加描述,如图

DedeCMS织梦TAG标签SEO描述功能开发

  

  数据库部分修改

  用Navicat数据库管理工具打开dede_tagindex数据表,依次点击文件 -> 设计表,如图

DedeCMS织梦TAG标签SEO描述功能开发

  

  新建tagms字段,类型varchar,长度255,允许空值。

  管理后台部分修改

  打开后台/dede/tags_main.php,大概在27行找到

  $dlist->SetParameter("tag", $tag);

  下面增加

  $dlist->SetParameter("tagms", $tagms); //by www.dede58.com

  

大概在49行找到

  $query = "UPDATE `dede_tagindex` SET `count`='$count' WHERE id='$tid' ";

  修改为

  $query = "UPDATE `dede_tagindex` SET `count`='$count',`tagms`='$tagms' WHERE id='$tid' ";

  

大概在147行找到

  $query = " INSERT INTO `dede_tagindex`(`tag`,`count`,`total`,`weekcc`,`monthcc`,`weekup`,`monthup`,`addtime`) VALUES('$keyword','0','1','0','0','$timestamp','$timestamp','$timestamp');";

  修改为

  $query = " INSERT INTO `dede_tagindex`(`tag`,`tagms`,`count`,`total`,`weekcc`,`monthcc`,`weekup`,`monthup`,`addtime`) VALUES('$keyword','$tagms','0','1','0','0','$timestamp','$timestamp','$timestamp');";

  

打开/dede/templets/tags_main.htm,找到更新的JS

  function UpdateOne(tid)

  {

  location = "tags_main.php?action=update&count="+document.getElementById('count'+tid).value+"&tid="+tid;

  

增加描述的参数,代码修改为

  function UpdateOne(tid)

  {

  location = "tags_main.php?action=update&count="+document.getElementById('count'+tid).value+"&tagms="+document.getElementById('ms'+tid).value+"&tid="+tid;

  

找到

  <td width="10%">标签</td>

  下面增加

  <td width="35%">描述</td>

  

找到

  <td>

  <a href="../tags.php?/<?php echo urlencode($fields['tag']); ?>/" target="_blank">{dede:field.tag /}</a>

  </td>

  下面增加

  <td>

  <textarea name="" rows="" cols="" id="ms<?php echo $fields['id']; ?>" ><?php echo $fields['tagms'];?></textarea>

  </td>

  

由于增加了一列,后台其他地方的样式就自行解决了。

  打开/include/taglib/tag.lib.php,找到

  $row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";

  修改为

  $row['link'] = $cfg_cmsurl."/tags/php?/".urlencode($row['id'])."/";

  

打开/include/arc.taglist.clss.php,找到

  $this->TagInfos = $this->dsql->GetOne("Select * From `dede_tagindex` where tag like '{$this->Tag}' ");

  修改为

  $this->TagInfos = $this->dsql->GetOne("Select * From `dede_tagindex` where id like '{$this->Tag}' ");

  

模板部分调用

  {dede:sql sql="select * from dede_tagindex where id=~title~"}[field:tagms/]{/dede:sql}

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。