织梦程序的SEO优化已经做的非常好了,但总有不如人意的地方,织梦默认的HTML网站地图和RSS地图就是如此。为什么说织梦默认的HTML网站地图不利于SEO优化呢?主要是因为HTML网站地图和RSS地图的目录问题。dedecms模板下载
织梦默认的HTML网站地图和RSS地图的目录为根目录下的data目录,这个目录是存储织梦程序运行时的数据备份、缓存等的文件的(具体的作用可以参考织梦Dedecms主要文件夹目录及模板文件说明);这些文件对系统非常重要,把HTML网站地图和RSS地图文件放在data文件夹中,一方面影响程序的安全,另一方面也不利于织梦的SEO优化。那如何把HTML网站地图和RSS地图文件放到根目录来呢?
首先在网站根目录下建立rss文件夹,用于放置RSS文件,因为RSS文件比较多,所以放在一个文件夹便于管理;然后修改根目录下织梦网站管理目录(默认是dede)下的makehtml_map.php文件,将大约第17行的
1
$cfg_cmspath."/data/sitemap.html";
改为
1
$cfg_cmspath."/sitemap.html";
将22行的
1
$cfg_cmspath."/data/rssmap.html";
改为
1
$cfg_cmspath."/rssmap.html";
17行是普通网站地图,22行是RSS的网站地图。这样改的意思,就是去掉了data目录了,你也可以改为其他你想生成的任何目录。
到这里,已经把HTML地图文件和总的RSS地图文件生成到根目录了,然后是RSS各个栏目的地图文件生成到根目录下的rss目录的修改。主要是修改根目录下include下面的arc.rssview.class.php文件,将71行的
1
$murl = $GLOBALS['cfg_cmspath']."/data/rss/".$this->TypeID.".xml";
改为
1
$murl = $GLOBALS['cfg_cmspath']."/rss/".$this->TypeID.".xml";
同时,修改根目录下include下的sitemap.class.php文件,将57行的
1
$typelink = $GLOBALS['cfg_cmsurl']."/data/rss/".$row->id.".xml";
改为:
1
$typelink = $GLOBALS['cfg_cmsurl']."/rss/".$row->id.".xml";
将94行的
1
$typelink = $GLOBALS['cfg_cmsurl']."/data/rss/".$row->id.".xml";
改为:
1
$typelink = $GLOBALS['cfg_cmsurl']."/rss/".$row->id.".xml";
这样已经把HTML网站地图和RSS地图都生成到了根目录了,接下来就是在适当的文件中加入这两个文件的入口链接。就织梦默认的模版来说,修改/templets/default模板文件head.htm文件,在11行左右找到
1
2
<li class="r3"><a href="global.cfg_dataurl/}/sitemap.html">网站地图</a></li>
<li class="r4"><a href="global.cfg_dataurl/}/rssmap.html">RSS订阅</a></li>
改为
1
2
<li><a href="global.cfg_cmsurl/}/sitemap.html">网站地图</a></li>
<li class="r4"><a href="global.cfg_cmsurl/}/rssmap.html">RSS订阅</a></li>
最后一步,进入网站后台,在生成选项中更新网站地图、更新RSS文件、全部更新。值得注意的是,如果rss生成有问题,可能是没有在根目录下新建rss文件夹。在根目录建立rss文件夹,即可解决。