分享DedeCMS的TAG标签URL替换成ID解析

我们大家在回到中文URL路径对网站SEO的影响,不少朋友看了看了以后联系小编说织梦dedecms中TAG标签也是中文形式的,问小编该如何处理。下面织梦园资源就带大家来看看到底是织梦回事。 DedeCMS V5.7中的TAG标签的URL一般是

1http://www.ysext.com/tags.php?/%B0%D9%B6%C8%BF%EC%D5%D5/

seo设置标签.jpg


这个路径中有2个问题:
第一:动态的路径tags.php?/。
第二,这是一个含中文网址的路径:%B0%D9%B6%C8%BF%EC%D5%D5。
以上2点都是不利于SEO的。这里有不少的处理方法,可以把织梦dedecms的tags伪静态化,也可以把路径转成ID的形式,今天主要给大家讲转成ID的方法。

//设置一些全局参数的值

foreach($GLOBALS['PubFields'] as $k=>$v) $this->Fields[$k] = $v;

 下面增加

1    //by ysext.com   
2    $s = $this->dsql->GetOne("Select tag From `#分隔符@__tagindex` where id = '{$this->Tag}' ");    
3    $this->Fields['tag'] = $s['tag'];    
4    $this->Fields['title'] = $s['tag'];    
5    //end

 往下继续找到

1    $this->TagInfos = $this->dsql->GetOne("Select * From `#分隔符@__tagindex` where tag like '{$this->Tag}' ");

 修改为

1$this->TagInfos = $this->dsql->GetOne("Select * From `#分隔符@__tagindex` where id like '{$this->Tag}' ");

 一般在站内都是用GetTags()函数调用,但这个函数并没有对应的ID。查看了一下taglist表,发现用的是tid。

1[field:id function=GetTags(@me)/],调出来的会是/tags//

打开/include/helpers/carchive.helper.php,找到

1    $query = "SELECT tag FROM `#分隔符@__taglist` WHERE aid='$aid' ";    
2    $dsql->Execute('tag',$query);    
3    while($row = $dsql->GetArray('tag'))    
4    {    
5       $tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);    
6    }

这里增加了绝对路径的修改。

1    $query = "SELECT tid,tag FROM `#分隔符@__taglist` WHERE aid='$aid' ";    
2    $dsql->Execute('tid',$query);    
3    while($row = $dsql->GetArray('tid'))    
4    {    
5       $tags .= "".$row['tag']."";    
6    }

调用全站TAG标签带链接

1    {dede:tag row='100' sort='new' getall='1'}    
2     [field:tag /]    
3    {/dede:tag}

 有几个参数需要了解


1    row:调用条数    
2    sort:排序方式 month,rand,week    
3    getall:获取类型 0 为当前内容页TAG标记,1为获取全部TAG标记

调用当前内容TAG标签带链接

1    {dede:tag row='10' sort='new' getall='0'}    
2    [field:tag /]    
3    {/dede:tag}

首页、列表页调用文章TAG标签带链接

1 {dede:arclist row='10' titlelen='80'}
2 [field:id function=GetTags(@me)/]3 {/dede:arclist}

 TAG列表页也是用的上述方法。

 TAG详情页调用TAG标签

 不能直接用{dede:field.title/}调用TAG标签了,这时调出来的是该TAG的ID,需要用SQL的方法调用,下面的橙色表前缀请自行更换。

1 {dede:sql sql="select tag from #分隔符@_tagindex where id=~title~"}[field:tag/]{/dede:sql}

以上就是DedeCMS把TAG的URL替换成ID的方法的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持翼速应用,关注翼速应用。

我来说两句

0 条评论

推荐阅读

  • 响应式布局CSS媒体查询设备像素比介绍

    构建响应式网站布局最常见的是流体网格,灵活调整大小的站点布局技术,确保用户在使用的幕上获得完整的体验。响应式设计如何展示富媒体图像,可以通过以下几种方法。

    admin
  • 提升网站的性能快速加载的实用技巧

    网站速度很重要,快速加载的网站会带来更好的用户体验、更高的转化率、更多的参与度,而且在搜索引擎排名中也扮演重要角色,做SEO,网站硬件是起跑线,如果输在了起跑线,又怎么跟同行竞争。有许多方法可提升网站的性能,有一些技巧可以避免踩坑。

    admin
  • 织梦CMS TAG页找不到标签和实现彩色标签解决方法

    织梦cms是我们常见的网站程序系统的一款,在TAG标签中常常遇到的问题也很多。当我们点击 tags.php 页的某个标签的时候,有时会提示:“系统无此标签,可 能已经移除!” 但是我们检查程序后台,以及前台显示页面。这个标签确实存在,如果解决这个问题那?

    admin
  • HTML关于fieldset标签主要的作用

    在前端开发html页面中常用的标签很多,今天为大家带来的是关于HTML中fieldset标签主要的作用说明,根据技术分析HTML

    admin

精选专题