dedecms织梦怎么生成百度、谷歌sitemap地图

自媒体 思享 2873浏览

最近本渣用dedecms织梦系统搭建了一个网站,用起来还是没有wordpress那么习惯,最近在网上找到了一个生成sitemap地图的方法,转载过来

修改地图文件

/templets/plus文件夹下

sitemap.htm代码修改如下:

  1. <?xml version="1.0" encoding="{dede:global.cfg_soft_lang /}"?>
  2.  <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  3.  <url>
  4.  <loc>{dede:global.cfg_basehost/}</loc>
  5.  <changefreq>always</changefreq>
  6.  <priority>1.0</priority>
  7.  </url>
  8. {dede:arclist row='10000' orderby='pubdate'}
  9. <url>
  10.  <loc>[field:global.cfg_basehost/][field:arcurl/]</loc>
  11.  <lastmod>[field:pubdate function="GetDateMK(@me)"/]</lastmod>
  12. </url>
  13. {/dede:arclist}
  14. {dede:channelartlist row='50'}
  15.  <url>
  16.  <loc>{dede:global.cfg_basehost/}{dede:field name='typeurl'/}</loc>
  17.  <lastmod>{dede:php}echo date('Y-m-d');{/dede:php}</lastmod>
  18.  </url>
  19.  {dede:channel type='son' row='8'}
  20.  <url>
  21.  <loc>[field:global.cfg_basehost/][field:typelink/]</loc>
  22.  <lastmod>[field:id runphp="yes"]@me=date('Y-m-d');[/field:id]</lastmod>
  23.  </url>
  24.  {/dede:channel}
  25.  {/dede:channelartlist}
  26. </urlset>

rssmap.htm代码修改如下:

  1. <?xml version='1.0' encoding='UTF-8'?>
  2.     <urlset xmlns='http://www.google.com/schemas/sitemap/0.84'>
  3.       {dede:arclist typeid='0' }
  4.        <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>
  5.       {/dede:arclist}
  6.       {dede:channelartlist row=50}
  7.         <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>
  8.            {dede:channel type='son' row='8'}
  9.         <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>
  10.         {/dede:channel}
  11.     {/dede:channelartlist}
  12. </urlset>

修改生成程序

/dede/makehtml_map.php  (如后台目录修改则为对应目录)

  1. <?php
  2. /**
  3.  * 生成网站地图
  4.  *
  5.  * @version        $Id: makehtml_map.php 1 11:17 2010年7月19日Z tianya $
  6.  * @package        DedeCMS.Administrator
  7.  * @copyright      Copyright (c) 2007 - 2010, DesDev, Inc.
  8.  * @license        http://help.dedecms.com/usersguide/license.html
  9.  * @link           http://www.dedecms.com
  10.  */
  11. require_once(dirname(__FILE__)."/config.php");
  12. require_once(DEDEINC."/sitemap.class.php");
  13. require_once(DEDEINC."/dedetag.class.php");
  14. require_once DEDEINC."/arc.partview.class.php";
  15. if(emptyempty($dopost))
  16. {
  17.     ShowMsg("参数错误!","-1");
  18.     exit();
  19. }
  20. $isremote = emptyempty($isremote)? 0 : $isremote;
  21. $serviterm=emptyempty($serviterm)? "" : $serviterm;
  22. $sm = new SiteMap();
  23. $maplist = $sm->GetSiteMap($dopost);
  24. if($dopost=="site")
  25. {
  26.     $murl = $cfg_cmspath."/sitemap.xml";
  27.     $tmpfile = $cfg_basedir.$cfg_templets_dir."/plus/sitemap.htm";
  28. }
  29. else
  30. {
  31.     $murl = $cfg_cmspath."/rssmap.xml";
  32.     $tmpfile = $cfg_basedir.$cfg_templets_dir."/plus/rssmap.htm";
  33. }
  34. //$dtp = new DedeTagParse();
  35. //$dtp->LoadTemplet($tmpfile);
  36. //$dtp->SaveTo($cfg_basedir.$murl);
  37. $pv = new PartView();
  38. $pv->SetTemplet($tmpfile); //在这里修改你的谷歌地图模板路径,相对于模板目录  
  39. $pv->SaveToHtml($cfg_basedir.$murl);   //生成文件名,保存在根目录 
  40. if($cfg_remote_site=='Y' && $isremote == 1)
  41. {
  42.     if($serviterm!="")
  43.     {
  44.         list($servurl$servuser$servpwd) = explode(',', $serviterm);
  45.         $config=array( 'hostname' => $servurl, 'username' => $servuser,
  46.                    'password' => $servpwd,'debug' => 'TRUE');
  47.     } else {
  48.         $config=array();
  49.     }
  50.     if$ftp->connect($config) )
  51.     {
  52.         //分析远程文件路径
  53.         $remotefile = $murl;
  54.         $localfile = '..'.$remotefile;
  55.         $remotedir = preg_replace('#[^\/]*\.html#', ''$remotefile);
  56.         $ftp->rmkdir($remotedir);
  57.         if($ftp->upload($localfile$remotefile, 'acii')) echo "远程发布成功!"."<br />";
  58.     }
  59. }
  60. //$pv->Clear();
  61. echo "<a href='$murl' target='_blank'>成功更新文件: $murl 浏览...</a>";
  62. exit();

生成网站地图

网站后台——生成——更新网站地图

sitemap

普通地图则是生成百度sitemap地图

地址为 /sitemap.xml

RSS地图则是生成谷歌sitemap地图

地址为 /rssmap.xml

推荐阅读

XML网站地图中,“priority”会影响排名吗?

不会。Sitemap 中的“priority”提示只是说明该网址相对于您自己网站上其他网址的重要性,并不会影响网页在搜索结果中的排名...

什么是Sitemap网站地图?

Sitemap(即站点地图)就是您网站上各网页的列表。创建并提交Sitemap有助于百度发现并了解您网站上的所有网页。您还可以使用Sitemap提供有关您网站的其他信息,如上次更新日期、Sitemap文件的更新频率等,供百度Spider参考。 百度对......

百度的API推送和网站地图提交有什么区别?

状态反馈更及时了,原来提交后需要登录到搜索资源平台查看提交是否成功。目前只要根据提交后返回的数据就可以判断了 其他回答 参考回答 百度提供多种提交数据的方式,相对来说,网站地图更基础一些,百度API推送效果会比sitemap提交好些。但是这几种推送方......