在使用Dedecms(织梦CMS)进行网站开发时,我们常常会遇到网站地图生成的问题。默认情况下,Dedecms会将sitemap文件生成到“data”目录下,而该目录却被robots.txt文件禁止搜索引擎抓取。这会导致搜索引擎无法正常获取网站地图,从而影响网站的SEO效果。

为了改善这一问题,我们需要将Dedecms的网站地图生成路径修改为其他可被搜索引擎访问的目录。本文将详细介绍如何将Dedecms的网站地图文件生成到根目录。

第一步:登录FTP,在网站根目录下创建一个名为“rss”的文件夹。


第二步:修改管理员文件夹下的makehtml_map.php文件(默认管理员文件夹名称为dede,如果已更改,请根据实际情况查找)。


具体操作如下:



// 修改第17行
$cfg_cmspath . "/data/sitemap.html"; 改为 $cfg_cmspath . "/sitemap.html";

// 修改第22行
$cfg_cmspath . "/data/rssmap.html"; 改为 $cfg_cmspath . "/rssmap.html";
    

其中,第17行是普通网站地图的路径,第22行是RSS网站地图的路径。


第三步:修改根目录下include文件夹中的arc.rssview.class.php文件。


将第71行:



$murl = $GLOBALS['cfg_cmspath']."/data/rss/".$this->TypeID.".xml";

改为:



$murl = $GLOBALS['cfg_cmspath']."/rss/".$this->TypeID.".xml";

第四步:修改根目录下include文件夹中的sitemap.class.php文件。


将第57行和第94行:



$typelink = $GLOBALS['cfg_cmsurl']."/data/rss/".$row->id.".xml";

改为:



$typelink = $GLOBALS['cfg_cmsurl']."/rss/".$row->id.".xml";

第五步:修改模板文件head.htm(位于/templets/default目录下)。


将模板中“网站地图”和“RSS订阅”的链接路径更改为根目录下的路径,去掉原路径中的“data”目录前缀。


第六步:进入Dedecms后台,依次执行以下操作:


  • 更新网站地图;
  • 更新RSS文件;
  • 更新主页。

注意事项:


完成上述修改后,请务必检查并更新网站页面中所有涉及网站地图的路径,确保其指向新的正确路径。同时,别忘了修改robots.txt文件中的网站地图路径,以确保搜索引擎能够顺利抓取最新的网站地图文件。