您现在的位置是:首页 > 教程 > dedecms教程dedecms教程
织梦dedecms5.7怎么生成百度地图sitemap和谷歌地图sitemap
乐瑶2023-09-26 18:36:28dedecms教程已有人查阅
导读因为我的新网站收录的特别慢,之前dede系统用的sitemap是直接用的插件百度新闻…因为看到一篇日志,那个鬼说这样有用,今天仔细查了下,后来发现这个生成的
因为我的新网站收录的特别慢,之前dede系统用的sitemap是直接用的插件百度新闻…因为看到一篇日志,那个鬼说这样有用,今天仔细查了下,后来发现这个生成的 xml现在已经不符合百度sitemap的要求了,而且还是只适用于news.baidu.com这个网站…瞬间感觉无比蛋疼,然后今天就研究了下怎么用 dedecms生成正确的sitemap文件。
1.dedecms 生成里面有一个生成地图,原来这个生成的是html,不是我们想要的,而且只生成栏目的,没文章,但是这个界面我们可以方便操作,所以就在这上面来进行修改
2.在/templets/plus 目录下 找到两个文件sitemap.htm 和rssmap.htm,前者我们当中是百度的sitemap 后者我们当中谷歌的sitemap
3.修改sitemap.htm :把原来的代码全部删除 然后用下面的代码
4.重点
之前我就是这个地方有问题,一直生成不了数据,后来改了一些方法调用才OK
找到dede后台目录 找到makehtml_map.php 修改
在上面引用文件的时候 加一句 :require_once DEDEINC.”/arc.partview.class.php”;
搜索
在上面的判断下面加入
在你织梦后台生成的地方 点击更新网站地图 那么这个网站地图的问题就完美结局了。
1.dedecms 生成里面有一个生成地图,原来这个生成的是html,不是我们想要的,而且只生成栏目的,没文章,但是这个界面我们可以方便操作,所以就在这上面来进行修改
2.在/templets/plus 目录下 找到两个文件sitemap.htm 和rssmap.htm,前者我们当中是百度的sitemap 后者我们当中谷歌的sitemap
3.修改sitemap.htm :把原来的代码全部删除 然后用下面的代码
<?xml version="1.0" encoding="{dede:global.cfg_soft_lang /}"?>
<urlset xmlns="http://www.ebingou.cn/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}
</urlset>
大家也可以自行修改条数4.重点
之前我就是这个地方有问题,一直生成不了数据,后来改了一些方法调用才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”; }else { $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();
把这段代码也注释掉
整体代码如下:
<?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.ebingou.cn
*/
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 "远程发布成功!"."<br />";
}
}
//$pv->Clear();
echo "<a href='$murl' target='_blank'>成功更新文件: $murl 浏览...</a>";
exit();
基本差不多了,如果你配置成功了,给我留一句言,然后多点点我网站的 広吿 ,我会无比感激的!在你织梦后台生成的地方 点击更新网站地图 那么这个网站地图的问题就完美结局了。
本文标签:
很赞哦! ()
相关文章
- 织梦dedecms5.7tags标签显示未审核,字母大写就找不到文章
- dedecms5.7后台首页很卡怎么办
- dedecms5.7通过替换文件升级后所有档案列表为空怎么办
- dedecms5.7编辑器默认回车键换行改为换段落的方法
- dedecms5.7tag标签长度限制怎么修改
- 织梦dedecms5.7版自动给图片添加alt属性的代码实例
- 织梦dedecms5.7栏目列表页翻页URL链接优化
- dedecms5.7织梦软件星级替换成图标星星方法
- dedecms5.7织梦登录后台慢的原因及解决方法
- dedecms5.7织梦文章编辑器bug附件上传图标不显示的方法
- 修改dedecms5.7织梦文章内容关键词长度限制的方法
- 织梦dedecms5.7后台登陆页面广告怎么删除
随机图文
-
dede织梦自动审核会员发表新文章的方法
人工审核会员发表的文章是非常累人的,所以织梦模板之家和大家分享织梦DeDeCms自动审核会员发表的较新文章的修改方法,省时省力! -
织梦cms调用文章标题超过字数限制后显示省略号代码实例
在织梦DEDECMS中调用文章,当标题超过限制字数时,怎么在标题后面加上……呢。其实不论是在首页还是列表页还是内容页调用文章,不管是arclist还是list标签调用文章 -
dedecms附件上传大小限制的修改方法
织梦dedecms系统上传附件有大小限制,是2M,超过2M的话,就会提示上传失败,下面就是解决附件上传大小限制的方法: -
织梦dedecms怎么在模板页面中实现会员登录退出状态
很多会员朋友在制作带会员中心的模板文件时候,当我们点击登录后,织梦默认是跳转到会员中心的,但在我们返回网站主页时,发现header没有显示会员登录信息,却
留言与评论 (共有 条评论) |