当前位置:首页 » 代码教程 » 织梦dedecms自动生成xml文件地图详情

织梦dedecms自动生成xml文件地图详情

本文教大家使用织梦生成xml地图,快速生成sitemap提升页面收录和抓取排名。经舍力亲试有效,分享给大家。

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


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

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"> 
 <url> 
 <loc>{dede:global.cfg_basehost/}</loc> 
 <changefreq>always</changefreq> 
 <priority>1.0</priority> 
 </url> 
{dede:arclist row='10000' orderby='pubdate'}
<url> 
 <loc>[field:arcurl/]</loc> 
 <lastmod>[field:pubdate function="GetDateMK(@me)"/]</lastmod> 
</url> 
{/dede:arclist} 
{dede:channelartlist row='50'}
 <url>
 <loc>{dede:field name='typeurl'/}</loc>
 <lastmod>{dede:php}echo date('Y-m-d');{/dede:php}</lastmod>
 </url>
 {dede:channel type='son' row='8'}
 <url>
 <loc>[field:typelink/]</loc>
 <lastmod>[field:id runphp="yes"]@me=date('Y-m-d');[/field:id]</lastmod>
 </url>
 {/dede:channel}
 {/dede:channelartlist}
</urlset>

修改rssmap.htm:把原来的代码全部删除 然后用下面的代码
<?xml version='1.0' encoding='UTF-8'?>
    <urlset xmlns='http://www.google.com/schemas/sitemap/0.84'>
      {dede:arclist typeid='0' } 
       <url><loc>[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: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='10000'}
        <url><loc>[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>

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

3,继续修改地图代码

下面继续修改程序代码,找到dede后台目录,找到 makehtml_map.php 修改,过程繁琐,直接放上整体代码如下:
<?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 "远程发布成功!"."<br />";
    }
}
//$pv->Clear();
echo "<a href='$murl' target='_blank'>成功更新文件: $murl 浏览...</a>";
exit();

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

4,完成地图改造

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

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

最后感谢大家,如果对你有帮助记得留言,并分享给你的朋友。
End
关键词: dedecms教程
温馨提示:如果您对本文有疑问,请在本页留言即可!!!
觉得很赞 (5)付款方式
X
付款方式:
  • 微信
  • 支付宝
  • QQ红包

使用微信扫一扫
blogger
    发布日期:2018-08-31   所属类别:代码教程   浏览:10577次   评论:7次
    本文地址:https://www.shuyong.net/chengxu/1050.html [ 百度已收录 ]
    声明:本页信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!

留言/评论:◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

填写好QQ号码,任点空白处自动获取

昵称

邮箱

网址

5楼、信息 [回复该留言]
2020-12-27 19:18
楼主,生成的MAP是相对路径,这个有办法解决吗
4楼、皮皮大魔王 [回复该留言]
2020-01-08 10:59
xml内是相对路径,怎么修改
痴人说梦 [回复该留言]
2020-07-20 14:03
@皮皮大魔王:是的 我也是这样的疑问,而且相对路径提交给百度,抓取不了
3楼、皮皮大魔王 [回复该留言]
2020-01-07 16:56
很明白,即便是我这个小白,按照做也成功了!谢谢
2楼、Simida [回复该留言]
2019-08-20 10:54
楼主,您好,可以发我一个吗,谢谢!
舍力 [回复该留言]
2019-08-21 08:08
@Simida:发什么?
1楼、网站建设 [回复该留言]
2018-11-05 11:09
试过不错

个人资料

舍力

博主:舍力

Emlog交流群

    用心做好每一件事!!!

博客统计

  • 文章数量:1132篇
  • 文章评论:3511条
  • 总访问量:9502692次
  • 微语数量:81条
  • 在线人数:1人
  • 本站运行:10年8月
  • 估计博主很忙,已经很久没更新了!
Q2 虚位以待
Copyright © 2024 舍力博客 版权所有   粤ICP备11021420号
基于宝塔面板,数据存储于阿里云ECS
Powered by emlog / &Author 舍力博客.