使用織夢生成xml地圖,快速生成sitemap提升頁面收錄和抓取排名,利用織夢CMS程序自帶地圖改造完成。如果你愿意動手的話,可以自己嘗試來為網站制作一個XML格式地圖,提交給百度谷歌,以達到最佳的收錄效果。

1、首先了解一下織夢自帶的網站地圖生成功能

通過改造把這兩項功能改成百度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:global.cfg_basehost/][field:arcurl/]</loc>
<lastmod>[field:pubdate function=”GetDateMK(@me)”/]</lastmod>
</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>
</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>
</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: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>大家如果熟悉織夢CMS程序結構,也可以自行修改條數。
3,繼續修改地圖代碼
下面繼續修改程序代碼,找到dede后臺目錄,找到 makehtml_map.php 修改,過程繁瑣,直接放上整體代碼如下:
<?php
/* * * 生成網站地圖**
* @version $Id: makehtml_map.php 1 11:17 $
* @package DedeCMS.Administrator* @copyright Copyright (c)
* @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、完成地圖改造
使用方法:在你織夢后臺生成的地方,點擊更新網站地圖,那么這個網站地圖的問題就完美結局了。