王克锋博客-记录生活点滴记忆

SEO优化已经不是为搜索引擎服务,而是全面转移向满足客户的需求。

怎么修改织梦dedecms自带的网站地图路径

王克锋 2017-11-4 dedecms建站 评论 232 次

默认的情况下,网址地图模板是放在如下路径下的。
站点地图的模板:templets/plus/sitemap.htm
rss地图的模板:templets/plus/rssmap.htm

方法:
1.通过ftp进入网站,将dede文件下makehtml_map.php中的$cfg_cmspath."/data/sitemap.html";和$cfg_cmspath."/data/rssmap.html";里的/data去掉。
2.然后,再将根目录下include文件中的arc.rssview.class.php里$murl = $GLOBALS['cfg_cmspath']."/data/rss/".$this->TypeID.".xml";的/data去掉。同时,还将sitemap.class.php里的$typelink = $GLOBALS['cfg_cmsurl']."/data/rss/".$row->id.".xml";和$typelink = $GLOBALS['cfg_cmsurl']."/data/rss/".$row->id.".xml";的/data也去掉。
3.记得根目录下新建rss文件夹

4.去更新网站地图就可OK了。

文章列表在网站地图里无法显示做法:

{dede:arclist titlelen=25 row='25'} 
<a href="[field:arcurl/]">[field:title/]</a> 
{/dede:arclist}

就不能解析出列表。 

现在仿照首页的方法,使用arc.partview.class.php,这是一个视图类,可以解析这些标签。 
修改makehtml_map.php如下: 
1、将

require_once(DEDEINC."/dedetag.class.php");
改成

require_once(DEDEINC."/arc.partview.class.php");
2、将

$dtp = new DedeTagParse(); 
$dtp->LoadTemplet($tmpfile); 
$dtp->SaveTo($cfg_basedir.$murl); 
改成 
$dtp = new PartView(); 
$GLOBALS['_arclistEnv'] = 'index'; 
$dtp->SetTemplet($tmpfile); 
$dtp->SaveToHtml($cfg_basedir.$murl);
3、将

$dtp->Clear(); 
改成 
//$dtp->Clear();
4、将

$murl = $cfg_cmspath."/data/sitemap.html"; 
$tmpfile = $cfg_basedir.$cfg_templets_dir."/plus/sitemap.htm"; 
改成 
$murl = $cfg_cmspath."/sitemap.html";//把生成的网站地图放在网站根目录下,data目录一般设置了蜘蛛不抓取 
$tmpfile = $cfg_basedir.$cfg_templets_dir."/".$cfg_df_style."/sitemap.htm";//同时把网站地图模板改在默认的模板文件夹下

现在就可以解析dedecms所有的标签了,包括文章列表标签。

没有标签!

Powered by wangkefeng.cn 豫ICP备16002007号-1 sitemap
Record the life 王克锋博客