Dedecms网站的地图更新很繁琐,文章已经做了自动更新,可是效果依然不理想。
教程如下:
首先是要在模板目录/dede/templets放一个sitemap.xml的文件,代码如下:
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://www.你的域名.com/</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> </url> {dede:channel row='10' type='top'} <url> <loc>[field:typelink /]</loc> <changefreq>daily</changefreq> <priority>0.8</priority> </url> {/dede:channel} {dede:arclist row=2000 orderby=pubdate} <url> <loc>[field:arcurl/]</loc> <lastmod>[field:pubdate function=strftime('%Y-%m-%d',@me)/]</lastmod> <changefreq>monthly</changefreq> </url> {/dede:arclist} </urlset>
然后新建一个PHP文件复制下面的代码保存为“generate_sitemap.php“,放在根目录/plus/task目录里面:
<?php require_once(dirname(__FILE__).'/../../include/common.inc.php'); include(DEDEINC."/arc.listview.class.php"); $lv = new ListView(); //解析模板到字符串 $lv->PartView = new PartView($lv->TypeID,false); $lv->PartView->SetTypeLink($lv->TypeLink); $lv->PartView->SetTemplet(DEDETEMPLATE.'/sitemap.xml'); $html = $lv->PartView->GetResult(); file_put_contents('../../sitemap.xml',$html); ?>
其次在织梦后台-系统-计划任务管理-增加新任务,任务名称:随便写任性!比如高端大气上档次的定时更新地图,地图运行程序:“generate_sitemap.php”执行时间:随便填其他默认就行了。最后在织梦的模板目录的“foot.htm”文件最后引用就行了,引用代码如下:
<script language="javascript" src="http://www.nrgmm.cn/plus/task/generate_sitemap.php"></script>
发表评论