織夢dedecms默認沒有生成站點地圖sitemap.xml文件的功能,不過咱們能夠本身經過簡單的二次開發來給織夢增長這個功能,而後還能夠用計劃任務的功能讓織夢可以定時自動生成這個文件,下面就給你們詳細講講如何實現這樣的功能:php
第一步、首先在模板目錄放一個sitemap.xml的模板文件,文件的內容以下:html
01 |
<?xml version= "1.0" encoding= "UTF-8" ?> |
05 |
<lastmod>{dede:arclist row=1 titlelen=24 orderby=pubdate} |
06 |
[field:pubdate function =strftime( '%Y-%m-%d' ,@me)/] |
07 |
{/dede:arclist}</lastmod> |
08 |
<changefreq>daily</changefreq> |
09 |
<priority>1.0</priority> |
11 |
{dede:channel row= '10' type = 'top' } |
13 |
<loc>[field:typelink /]</loc> |
14 |
<changefreq>daily</changefreq> |
15 |
<priority>0.8</priority> |
18 |
{dede:arclist row=1000 orderby=pubdate} |
20 |
<loc>[field:arcurl/]</loc> |
21 |
<lastmod>[field:pubdate function =strftime( '%Y-%m-%d' ,@me)/]</lastmod> |
22 |
<changefreq>monthly</changefreq> |
|
第二步、手動寫一個計劃任務執行文件,將該文件命名爲generate_sitemap.php,放在/plus/task目錄裏,文件的內容以下:curl
03 |
require_once( dirname (__FILE__). '/../../include/common.inc.php' ); |
04 |
include(DEDEINC. "/arc.listview.class.php" ); |
08 |
$lv->PartView = new PartView($lv->TypeID, false ); |
09 |
$lv->PartView->SetTypeLink($lv->TypeLink); |
10 |
$lv->PartView->SetTemplet(DEDETEMPLATE. '/2012/sitemap.xml' ); |
11 |
$html = $lv->PartView->GetResult(); |
12 |
file_put_contents( '../../sitemap.xml' ,$html); |
|
第三步、在織夢後臺添加計劃任務,系統——計劃任務管理——增長新任務:網站
任務名稱:定時生成網站地圖ui
運行程序:generate_sitemap.phpurl
執行時間本身根據須要進行適當的設置spa
其它選項默認便可。code
第四步、在模板目錄的foot.hml文件或其餘公共模板include文件的body標籤結束以前加上代碼後生成全站便可。xml
添加完成後網站用戶在計劃任務規定的時間內瀏覽一下網頁就能夠觸發計劃任務文件的執行,就能夠自動生成一次sitemap.xml,若是上次運行時間的時間正常就證實定時任務執行成功了。htm