织梦免插件完美实现XML与HTML网站地图功能

论坛 期权论坛 期权     
梦在心中   2019-7-29 01:04   3318   0
网站地图对于SEO来说是非常重要的,织梦后台是有一个生成“网站地图”的地方,但是实践之后发现并不符合我们SEO的要求,织梦系统自带的网站地图功能太简单,直接生成的sitemap.html里面只有网站栏目列表,没有网站文章列表,这样不利于百度收录,也不利于用户访问,并且sitemap.html生成的位置在data文件夹中,而data文件夹一般情况下为了安全是禁止访问的,所以我们要优化一下织梦的网站地图功能,下面附上教程。



sitemap.html完成效果



sitemap.xml完成效果

首先我们打开/dede/makehtml_map.php(默认为dede目录,如已经更改后台目录请自行找到该文件)。
在该文件搜索
  1. if($dopost=="site")
复制代码
  1. {
复制代码
  1.     $murl = $cfg_cmspath."/data/sitemap.html";
复制代码
  1.     $tmpfile = $cfg_basedir.$cfg_templets_dir."/plus/sitemap.htm";
复制代码
  1. }
复制代码
  1. else
复制代码
  1. {
复制代码
  1.     $murl = $cfg_cmspath."/data/rssmap.html";
复制代码
  1.     $tmpfile = $cfg_basedir.$cfg_templets_dir."/plus/rssmap.htm";
复制代码
  1. }
复制代码
将这部分改成
  1. if($dopost=="site")
复制代码
  1. {
复制代码
  1.     $murl = $cfg_cmspath."/sitemap.html";
复制代码
  1.     $tmpfile = $cfg_basedir.$cfg_templets_dir."/".$cfg_df_style."/sitemap.htm";
复制代码
  1. }
复制代码
  1. else
复制代码
  1. {
复制代码
  1.     $murl = $cfg_cmspath."/sitemap.xml";
复制代码
  1.     $tmpfile = $cfg_basedir.$cfg_templets_dir."/".$cfg_df_style."/xml.htm";
复制代码
  1. }
复制代码
以上修改是让织梦生成的网站地图在网站根目录,地图后缀名为html和xml,并且让织梦的网站地图模板位于后台设置的模板目录,模板文件名为sitemap.htm与xml.htm(原来网站地图模板的路径是固定在/plus/目录中的)。
织梦的网站地图是不能解析织梦的相关调用标签,我们需要稍作修改,让他实现调用任意标签。这里也是修改上面所提到的makehtml_map.php文件。
(1)把
  1. require_once(DEDEINC."/dedetag.class.php");
复制代码
改成
  1. require_once(DEDEINC."/arc.partview.class.php");
复制代码
(2)把
  1. $dtp = new DedeTagParse();
复制代码
  1. $dtp->LoadTemplet($tmpfile);
复制代码
  1. $dtp->SaveTo($cfg_basedir.$murl);
复制代码
改成
  1. $dtp = new PartView();
复制代码
  1. $GLOBALS['_arclistEnv'] = 'index';
复制代码
  1. $dtp->SetTemplet($tmpfile);
复制代码
  1. $dtp->SaveToHtml($cfg_basedir.$murl);
复制代码
(3)把
  1. $dtp->Clear();
复制代码
注释掉
  1. //$dtp->Clear();
复制代码
现在织梦网站地图就可以解析相关的调用标签了
现在我们在自己网站的模板目录新建两个模板文件,分别是sitemap.htm和xml.htm开始试试吧(模板使用标签跟做织梦普通的模板是一样的)。
最后,生成网站地图,普通地图为html格式,RSS地图是xml格式(如果链接够多的话会出现卡几秒的情况,等待一下即可)。

后台更新截图
最后附上我修改过之后的makehtml_map.php还有模板文件sitemap.htm和xml.htm的下载链接。大家可以对比学习一下,当然如果你的makehtml_map.php文件在这之前没有修改过的话可以直接覆盖使用,模板文件sitemap.htm和xml.htm就需要按自己的网站情况来修改定制了。
注:该教程在织梦V5.7SP2正式版的基础下编写,是否适用其他版本请自行测试。
附:教程修改文件下载链接https://pan.baidu.com/s/1XghxmNHjRy8J7tgjQ2Re3A  提取码:fhjo
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:5
帖子:1
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP