开发者社区> 大宝SEO> 正文

【建站教程】织梦如何自动生成xml文件地图

简介: 当下最流行的网站后台管理系统中,织梦是比较常见的,但也有不少站长在抱怨说织梦的后台无法自动生成xml文件地图,接下来泽民教大家使用织梦生成xml地图,快速生成sitemap提升页面收录和抓取排名。
+关注继续查看

当下最流行的网站后台管理系统中,织梦是比较常见的,但也有不少站长在抱怨说织梦的后台无法自动生成xml文件地图,接下来泽民教大家使用织梦生成xml地图,快速生成sitemap提升页面收录和抓取排名。经泽民亲试有效,分享给大家。

img_fca74f60f3de07ae29647b3f007101c4.png

1,首先了解一下织梦自带的网站地图生成功能


通过改造把这两项功能改成百度XML地图 及  谷歌网站地图。

2,开始代码进行改造

在 /templets/plus 目录下找到两个文件sitemap.htm 和 rssmap.htm,前者我们当中是百度的sitemap 后者我们当中谷歌的sitemap。

img_bfc4f91af4bbedd6355d9f9266f95057.png


下面开始进行修改:

修改sitemap.htm :把原来的代码全部删除 然后用下面的代码。


{dede:global.cfg_basehost/}

always

1.0

{dede:arclist row=’10000′ orderby=’pubdate’}

[field:global.cfg_basehost/][field:arcurl/]

[field:pubdate function=”GetDateMK(@me)”/]

{/dede:arclist}

{dede:channelartlist row=’50’}

{dede:global.cfg_basehost/}{dede:field name=’typeurl’/}

{dede:php}echo date(‘Y-m-d’);{/dede:php}

{dede:channel type=’son’ row=’8′}

[field:global.cfg_basehost/][field:typelink/]

[field:id runphp=”yes”]@me=date(‘Y-m-d’);[/field:id]

{/dede:channel}

{/dede:channelartlist}

修改rssmap.htm:把原来的代码全部删除 然后用下面的代码


{dede:arclist typeid=’0′ }

[field:global.cfg_basehost/][field:arcurl/][field:pubdate function=”MyDate(‘Y-m-d’,@me)”/]daily1.0

{/dede:arclist}

{dede:channelartlist row=50}

{dede:global.cfg_basehost/}{dede:field name=’typeurl’/}{dede:php}echo date(‘Y-m-d’);{/dede:php}daily1.0

{dede:channel type=’son’ row=’8′}

[field:global.cfg_basehost/][field:typelink/][field:id runphp=”yes”]@me=date(‘Y-m-d’);[/field:id]daily1.0

{/dede:channel}

{/dede:channelartlist}

大家如果熟悉织梦CMS程序结构,也可以自行修改条数。

3,继续修改地图代码

下面继续修改程序代码,找到dede后台目录,找到 makehtml_map.php  修改,过程繁琐,直接放上整体代码如下:


/**

* 生成网站地图

*

* @version $Id: makehtml_map.php 1 11:17 2010年7月19日Z tianya $

* @package DedeCMS.Administrator

* @copyright Copyright (c) 2007 – 2010, DesDev, Inc.

* @license http://help.dedecms.com/usersguide/license.html

* @link http://www.dedecms.com

*/

require_once(dirname(__FILE__).”/config.php”);

require_once(DEDEINC.”/sitemap.class.php”);

require_once(DEDEINC.”/dedetag.class.php”);

require_once DEDEINC.”/arc.partview.class.php”;

if(empty($dopost))

{

ShowMsg(“参数错误!”,”-1″);

exit();

}

$isremote = empty($isremote)? 0 : $isremote;

$serviterm=empty($serviterm)? “” : $serviterm;

$sm = new SiteMap();

$maplist = $sm->GetSiteMap($dopost);

if($dopost==”site”)

{

$murl = $cfg_cmspath.”/sitemap.xml”;

$tmpfile = $cfg_basedir.$cfg_templets_dir.”/plus/sitemap.htm”;

}

else

{

$murl = $cfg_cmspath.”/rssmap.xml”;

$tmpfile = $cfg_basedir.$cfg_templets_dir.”/plus/rssmap.htm”;

}

//$dtp = new DedeTagParse();

//$dtp->LoadTemplet($tmpfile);

//$dtp->SaveTo($cfg_basedir.$murl);

$pv = new PartView();

$pv->SetTemplet($tmpfile); //在这里修改你的谷歌地图模板路径,相对于模板目录

$pv->SaveToHtml($cfg_basedir.$murl); //生成文件名,保存在根目录

if($cfg_remote_site==’Y’ && $isremote == 1)

{

if($serviterm!=””)

{

list($servurl, $servuser, $servpwd) = explode(‘,’, $serviterm);

$config=array( ‘hostname’ => $servurl, ‘username’ => $servuser,

‘password’ => $servpwd,’debug’ => ‘TRUE’);

} else {

$config=array();

}

if( $ftp->connect($config) )

{

//分析远程文件路径

$remotefile = $murl;

$localfile = ‘..’.$remotefile;

$remotedir = preg_replace(‘#[^\/]*\.html#’, ”, $remotefile);

$ftp->rmkdir($remotedir);

if($ftp->upload($localfile, $remotefile, ‘acii’)) echo “远程发布成功!”.”
”;

}

}

//$pv->Clear();

echo “成功更新文件: $murl 浏览…”;

exit();

基本差不多了,如果你配置成功了给我留一句言。

4,完成地图改造

使用方法:在你织梦后台生成的地方,点击更新网站地图,那么这个网站地图的问题就完美结局了。

img_aac47f3d077e6001f47cbb80c2a241aa.png


至此,利用织梦CMS程序自带地图改造完成。如果你愿意动手的话,可以自己尝试来为网站制作一个XML格式地图,提交给百度谷歌,以达到最佳的收录效果。(PS,如果实在不会动代码,可以留言分享我已经修改好的模板文档直接上传覆盖即可。)

最后感谢大家,如果对你有帮助记得留言,并分享给你的朋友。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MyEclipse自动生成hibernate映射文件
http://blog.csdn.net/blacklin520/article/details/6854163
472 0
Spring(05)——基于XML配置的自动注入(autowire)
5 基于XML配置的自动注入(autoWire) 5.1 autowire 通常如果我们需要给一个bean注入另一个bean时都是通过set方法或者构造方法进行注入,其实Spring也支持bean的自动注入。
890 0
make自动生成依赖文件的两种形式
最近编译源文件发现当修改头文件后,make并不会自动把包含此头文件的所有源文件重新编译,而每次都是需要把对应的中间文件清除才能重新编译,非常的麻烦。因此需要make自动对源文件所依赖的头文件进行管理,即make自动生成依赖文件。
1077 0
Qt之生成XML(QXmlStreamWriter)
简述 QXmlStreamWriter 类提供了一个使用简单的流 API,用于写入 XML,与之相对应的是 QXmlStreamReader(读取 XML)。 正如其相关类,它可以在 setDevice() 指定的 QIODevice 上操作。API 很简单明了:对于想要写的每个 XML 标签或事件,QXmlStreamWriter 都提供了一个专门的函数。 简
1662 0
SpringBoot-13-插曲之Node文件重命名+自动生成json对象
遇到的问题:图片太多,使用起来挺麻烦 [1]有很多图片放服务器里,怎么能更好的管理,更方便拿到图片呢? [2]想用json 以一个对象数组的形式保存这些图片:以[{img:"图片名"},{img:"图片名"}....]形式 [3]虽说想法是很好,但不可能一条一条自己写吧,好歹咱也是21世纪敲代码的人。
866 0
【Mybatis】Mybatis generator自动生成插件如何修改Mapper.xml 的命名空间namespace
【Mybatis】Mybatis generator自动生成插件如何修改Mapper.xml 的命名空间namespace
63 0
Spring Boot项目利用MyBatis Generator进行数据层代码自动生成
概 述 MyBatis Generator (简称 MBG) 是一个用于 MyBatis和 iBATIS的代码生成器。它可以为 MyBatis的所有版本以及 2.2.0之后的 iBATIS版本自动生成 ORM层代码,典型地包括我们日常需要手写的 POJO、mapper xml 以及 mapper 接口等。
1914 0
+关注
大宝SEO
不定时分享SEO实战技术,让每个新手SEO易懂,易上手的实战SEO,公众号(zmseo888)欢迎大家来交流学习
49
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载