dede谷歌dede网站地图制作怎么制作

织梦dedecms5.7 生成百度地图sitemap和谷歌地图sitemap教程|封程中个人博客
您所在的位置: >
作者:封程中
来源:封程中个人博客
因为我的新网站 交友吧 收 录收录的特别慢,之前dede系统用的sitemap是直接用的插件百度新闻因为看到一篇日志,那个鬼说这样有用,今天仔细查了下,后来发现这个生成的 xml现在...
因为我的新网站&&收 录收录的特别慢,之前dede系统用的sitemap是直接用的插件百度新闻&因为看到一篇日志,那个鬼说这样有用,今天仔细查了下,后来发现这个生成的 xml现在已经不符合百度sitemap的要求了,而且还是只适用于这个网站&瞬间感觉无比蛋疼,然后今天就研究了下怎么用 dedecms生成正确的sitemap文件
好了 直接看步骤吧.
1.dedecms 生成里面有一个生成地图,原来这个生成的是html,不是我们想要的,而且只生成栏目的,没文章,但是这个界面我们可以方便操作,所以就在这上面来进行修改
2.在&/templets/plus 目录下 找到两个文件sitemap.htm 和&rssmap.htm,前者我们当中是百度的sitemap 后者我们当中谷歌的sitemap
修改sitemap.htm :把原来的代码全部删除 然后用下面的代码
&?xml version=&1.0& encoding=&{dede:global.cfg_soft_lang /}&?&
&urlset xmlns=&http://www.sitemaps.org/schemas/sitemap/0.9&&
&loc&{dede:global.cfg_basehost/}&/loc&
&changefreq&always&/changefreq&
&priority&1.0&/priority&
{dede:arclist row='10000' orderby='pubdate'}
&loc&[field:global.cfg_basehost/][field:arcurl/]&/loc&
&lastmod&[field:pubdate function=&GetDateMK(@me)&/]&/lastmod&
{/dede:arclist}
{dede:channelartlist row='50'}
&loc&{dede:global.cfg_basehost/}{dede:field name='typeurl'/}&/loc&
&lastmod&{dede:php}echo date('Y-m-d');{/dede:php}&/lastmod&
{dede:channel type='son' row='8'}
&loc&[field:global.cfg_basehost/][field:typelink/]&/loc&
&lastmod&[field:id runphp=&yes&]@me=date('Y-m-d');[/field:id]&/lastmod&
{/dede:channel}
{/dede:channelartlist}
修改rssmap.htm:把原来的代码全部删除 然后用下面的代码
&?xml version='1.0' encoding='UTF-8'?&
&urlset xmlns='/schemas/sitemap/0.84'&
{dede:arclist typeid='0' }
&url&&loc&[field:global.cfg_basehost/][field:arcurl/]&/loc&&lastmod&[field:pubdate function=&MyDate('Y-m-d',@me)&/]&/lastmod&&changefreq&daily&/changefreq&&priority&1.0&/priority&&/url&
{/dede:arclist}
{dede:channelartlist row=50}
&url&&loc&{dede:global.cfg_basehost/}{dede:field name='typeurl'/}&/loc&&lastmod&{dede:php}echo date('Y-m-d');{/dede:php}&/lastmod&&changefreq&daily&/changefreq&&priority&1.0&/priority&&/url&
{dede:channel type='son' row='8'}
&url&&loc&[field:global.cfg_basehost/][field:typelink/]&/loc&&lastmod&[field:id runphp=&yes&]@me=date('Y-m-d');[/field:id]&/lastmod&&changefreq&daily&/changefreq&&priority&1.0&/priority&&/url&
{/dede:channel}
{/dede:channelartlist}
大家也可以自行修改条数
之前我就是这个地方有问题,一直生成不了数据,后来改了一些方法调用才OK
找到dede后台目录 找到&makehtml_map.php &修改
在上面引用文件的时候 加一句 :require_once DEDEINC.&/arc.partview.class.php&;
搜索&if($dopost==&site&)
然后把这个判断里面的代码替换掉:
if($dopost==&site&)
$murl = $cfg_cmspath.&/sitemap.xml&;
$tmpfile = $cfg_basedir.$cfg_templets_dir.&/plus/sitemap.htm&;
$murl = $cfg_cmspath.&/rssmap.xml&;
$tmpfile = $cfg_basedir.$cfg_templets_dir.&/plus/rssmap.htm&;
(原因: 1.html改为xml 不用多说 格式问题 & & &2.把data去掉了,因为sitemap这样的文件放到根目录效果更好 )
//$dtp = new DedeTagParse();
//$dtp-&LoadTemplet($tmpfile);
//$dtp-&SaveTo($cfg_basedir.$murl);
把这3句话注释掉
在上面的判断下面加入
$pv = new PartView();
$pv-&SetTemplet($tmpfile); //在这里修改你的谷歌地图模板路径,相对于模板目录
$pv-&SaveToHtml($cfg_basedir.$murl); //生成文件名,保存在根目录
//$pv-&Clear();
把这段代码也注释掉
整体代码如下:
* 生成网站地图
* @version
$Id: makehtml_map.php 1 11:17 日Z tianya $
* @package
DedeCMS.Administrator
* @copyright
Copyright (c) 2007 - 2010, DesDev, Inc.
* @license
/usersguide/license.html
require_once((__FILE__).&/config.php&);
require_once(DEDEINC.&/sitemap.class.php&);
require_once(DEDEINC.&/dedetag.class.php&);
require_once DEDEINC.&/arc.partview.class.php&;
if(($dopost))
ShowMsg(&参数错误!&,&-1&);
$isremote = ($isremote)? 0 : $isremote;
$serviterm=($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&;
$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!=&&)
($servurl, $servuser, $servpwd) = (',', $serviterm);
$config=( 'hostname' =& $servurl, 'username' =& $servuser,
'password' =& $servpwd,'debug' =& 'TRUE');
$config=();
if( $ftp-&connect($config) )
//分析远程文件路径
$remotefile = $murl;
$localfile = '..'.$remotefile;
$remotedir = ('#[^\/]*\.html#', '', $remotefile);
$ftp-&rmkdir($remotedir);
if($ftp-&upload($localfile, $remotefile, 'acii')) echo &远程发布成功!&.&&br /&&;
//$pv-&Clear();
echo &&a href='$murl' target='_blank'&成功更新文件: $murl 浏览...&/a&&;
& &基本差不多了,如果你配置成功了,给我留一句言,然后多点点我网站的 & 広吿 &&&,我会无比感激的!
在你织梦后台生成的地方 &点击更新网站地图 &那么这个网站地图的问题就完美结局了.
因为我是做好了再来写教程的,所以不确定是否有什么遗漏,如果有什么问题,大家可以留言问我. &大家可以看看我生成的sitemap
百度Sitemap: &/sitemap.xml
谷歌Sitemap: &/rssmap.xml
来源:(QQ号:),原创文章如转载,请注明本文链接:
1.如果您觉得文章帮助了您,可以点击下面的广告来支持我,谢谢!2.本站的原创文章,请转载时务必注明文章作者和来源,谢谢!3.作者投稿可能会经我们编辑修改或补充,并且会注明版权来源,谢谢!
织梦cms使用阿里大鱼短信接口进行短信发送
织梦cms发邮件功能bug修复,邮件功能重写
织梦cms 自定义表单导出功能的实现详细步骤
织梦Cms会员中心我的收藏新增一个描述字段显示
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
关注微信公众号,了解最新精彩内容dedecms织梦生成sitemap.xml谷歌地图
1、制作地图模板googlesitemap.htm
将以下代码保存为googlesitemap.htm
&?xml version="1.0"
encoding="{dede:global.cfg_soft_lang/}"?&
&urlset xmlns=""&
&loc&&/loc&
&lastmod&{dede:arclist row=1
titlelen=24 orderby=pubdate}
[field:pubdate function=strftime('%Y-%m-%d',@me)/]
{/dede:arclist}&/lastmod&
&changefreq&daily&/changefreq&
&priority&1.0&/priority&
{dede:channel type=top row='10000'}
&loc&[field:typelink
&changefreq&Always&/changefreq&
&priority&0.6&/priority&
{/dede:channel}
{dede:channel row='1000' orderby=id}
&loc&[field:typelink
&changefreq&Always&/changefreq&
&priority&0.6&/priority&
{/dede:channel}
{dede:arclist row=1000 orderby=id}
&loc&[field:arcurl/]&/loc&
&lastmod&[field:pubdate
function=strftime('%Y-%m-%d',@me)/]&/lastmod&
&changefreq&Always&/changefreq&
&&priority&0.6&/priority&
{/dede:arclist}
把googlemap.htm上传至templets模板目录
1、要替换代码中的网址/& 替换成你自己的。
2、进入织梦后台& 系统-单页文档管理-增加一个页面,
新增一个单页面 模板填{style}/googlemap.htm,文件名填sitemap.xml
3、提交,浏览看效果以后更新地图时只需要点击更新页面即可。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

参考资料

 

随机推荐