DedeCMS调用父级栏目及父级的上级栏目
原创重庆seo2020-02-14阅读(313)dedecms
DedeCMS做企业网站的时候经常会用到三级栏目,当然要注意的是,三级栏目下的文章如果不注意规划URL路径,很有可能让蜘蛛抓取困难。
顶级栏目路径:/seo/ 二级栏目路径:/seo/1/
文章的路径不宜过深(超过三级),如果是下面写法蜘蛛抓起来就比较困难(并非完全不能抓取)
/seo/1/12.html (不困难) /seo/a/b/13.html(较困难)
蜘蛛对路径并没有特别的规定,文章路径没必要分得那么细致,让读者从路径便于了解目录结构即可,能顺利抓取就行,可以写成:
/seo/12.html /seo/13.html
SEO最重要的是内容和锚文本的匹配,文章页的权重虽然比首页、列表低,不可否认的是很多重要长尾词流量是从文章页过来的,因此这些页面的匹配度越高越好。
经常需要在文章页调用父级栏目或者父级栏目的上级(顶级)栏目标题、链接,这就需要做一些小修改(以下代码段“分隔符”字样请自行删除)。
在/include/taglib/channel.lib.php 找到的如下代码
else if($type=='self') { if($reid==0) return ''; $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `#分割符@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line "; }
在其后添加
else if($type=='topone') { if($reid==0) return ''; $rowR = $dsql->GetOne("SELECT * FROM `#分隔符@__arctype` WHERE id='$typeid' "); $topids = $rowR['topid']; $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `#分隔符@__arctype` WHERE reid='0' And id='$topids' And ishidden<>1 order by sortrank asc limit 0, $line "; } else if($type=='fatherlist') { $rowR = $dsql->GetOne("SELECT * FROM `#分隔符@__arctype` WHERE id='$typeid' "); $reid = $rowR['reid']; $rowR = $dsql->GetOne("SELECT * FROM `#分隔符@__arctype` WHERE id='$reid' "); $reid = $rowR['reid']; $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `#分割符@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line "; }
内容页、栏目页调用栏目名的例子如下:
{dede:channel type='fatherlist'}父级栏目:[field:typename/]{/dede:channel} {dede:channel type='topone'}父级的上级栏目:[field:typename/]{/dede:channel}
扩展阅读
本文地址:https://www.vi586.com/mip/web/717.html
版权声明:原创文章,版权归重庆SEO吖七所有,欢迎分享本文,支持原创,转载请保留出处