x x
当前位置 : 主页 > 网站建设 > 正文

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吖七所有,欢迎分享本文,支持原创,转载请保留出处