为什么需要XML地图?
XML地图(Sitemap)是搜索引擎(如百度、谷歌)用来了解您网站结构和内容的重要文件,提交XML地图有以下几个核心好处:

(图片来源网络,侵删)
- 加快收录速度:搜索引擎蜘蛛可以更高效地发现和抓取您网站的所有页面,尤其是新发布的页面。
- 提升网站权重:清晰的网站结构有助于搜索引擎更好地理解您的网站,从而可能提升网站的整体权重和排名。
- 确保页面被收录:它能主动告诉搜索引擎网站有哪些重要页面,减少被遗漏的可能。
- 符合SEO规范:这是现代SEO优化中必不可少的一步。
推荐的XML地图插件
对于织梦DedeCMS,最经典、最稳定、使用最广泛的XML地图插件是 DedeCms Sitemap Generator,这个插件功能强大,支持生成百度、谷歌等多种格式的地图,并且非常稳定。
插件特点:
- 支持生成 Google Sitemap (.xml) 和 百度 Sitemap (.txt)。
- 支持按栏目、按文章、按自定义模型等多种方式生成。
- 可以设置生成频率(每天、每周、每月)。
- 安装简单,操作便捷。
- 完全免费,开源。
插件安装与使用步骤
第1步:下载插件文件
- 访问织梦官方论坛或可靠的DedeCMS资源网站搜索 "DedeCms Sitemap Generator"。
- 下载插件包,通常是一个
.zip压缩文件。 - 注意:请尽量选择与您DedeCMS版本(如DedeCMS V5.7, V5.8等)相匹配的插件,以避免兼容性问题。
第2步:上传并覆盖文件
- 解压下载的插件包。
- 通过FTP工具连接到您的网站服务器。
- 将解压后的文件按照目录结构覆盖到您网站根目录下的相应文件夹中。
- 通常会包含
plus/目录下的sitemap.php文件。 - 可能会包含
include/目录下的inc_functions.php文件(如果插件有修改核心函数)。 - 可能会包含一个
dede/目录下的sitemap_config.php文件(这是后台管理文件)。
- 通常会包含
- 请务必备份您要覆盖的原始文件,以防万一。
第3步:安装插件
- 登录您的DedeCMS后台。
- 在左侧菜单栏找到 “系统” -> “软件频道” -> “插件管理”。
- 在插件列表中,您应该能看到新上传的 “DedeCms Sitemap Generator” 插件。
- 点击插件后面的 “安装” 按钮。
- 系统会提示安装成功。
第4步:配置插件
- 在后台菜单中,找到 “系统” -> “系统基本参数” -> “其他选项”。
- 在页面下方找到 “Sitemap相关设置” 或类似字样的配置项。
- 根据您的需求进行设置:
- 启用Sitemap功能:选择“是”。
- Sitemap文件保存路径:通常为
/sitemap.xml(谷歌地图)和/sitemap_baidu.txt(百度地图),确保此路径可被访问。 - 首页是否包含:选择“是”。
- 包含栏目:选择“是”或“否”,通常选择“是”以包含所有栏目。
- 包含文章:选择“是”。
- 包含自定义模型:根据您的需要选择。
- 生成频率:选择“每天”或“每周”。
- 点击 “保存设置”。
第5步:生成并提交地图
- 在后台菜单中,找到 “系统” -> “生成HTML” -> “更新XML网站地图”**。
- 点击该链接,系统会自动为您生成
sitemap.xml和sitemap_baidu.txt文件。 - 生成成功后,您可以通过访问
http://您的域名/sitemap.xml和http://您的域名/sitemap_baidu.txt来检查文件是否正确生成。 - 提交到搜索引擎:
- 百度站长平台:登录您的百度站长平台,在“链接提交” -> “自动提交” -> “Sitemap” 中,将您生成的
sitemap_baidu.txt文件的URL提交。 - Google Search Console:登录您的Google Search Console,在“站点地图”部分,将
sitemap.xml的URL提交。
- 百度站长平台:登录您的百度站长平台,在“链接提交” -> “自动提交” -> “Sitemap” 中,将您生成的
手动生成XML地图(无插件方法)
如果您不想安装插件,或者找不到合适的插件,也可以手动创建一个简单的XML地图。
创建PHP文件
在您的网站根目录()下新建一个文件,命名为 sitemap.php。

(图片来源网络,侵删)
将以下代码复制并粘贴到 sitemap.php 文件中:
<?php
require_once (dirname(__FILE__) . "/include/common.inc.php");
// 设置header为XML格式
header("Content-type: text/xml");
// 输出XML声明
echo '<?xml version="1.0" encoding="UTF-8"?>';
// 开始输出XML内容
?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<!-- 首页 -->
<url>
<loc><?php echo $cfg_basehost; ?>/</loc>
<lastmod><?php echo date('Y-m-d'); ?></lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<?php
// 获取所有顶级栏目
$dsql->SetQuery("SELECT * FROM `#@__arctype` WHERE reid=0 ORDER BY id");
$dsql->Execute();
while($row = $dsql->GetArray())
{
// 栏目链接
$typeurl = GetOneTypeUrlA($row);
?>
<url>
<loc><?php echo $typeurl; ?></loc>
<lastmod><?php echo date('Y-m-d', time()); ?></lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<?php
}
// 获取所有文章(这里只获取最新的100篇,避免地图过大)
$dsql->SetQuery("SELECT id, typeid, pubdate FROM `#@__archives` ORDER BY id DESC LIMIT 100");
$dsql->Execute();
while($row = $dsql->GetArray())
{
// 文章链接
$arcurl = GetArcUrl($row['id'],$row['typeid']);
?>
<url>
<loc><?php echo $arcurl; ?></loc>
<lastmod><?php echo date('Y-m-d', $row['pubdate']); ?></lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<?php
}
?>
</urlset>
使用方法
- 将上述代码保存为
sitemap.php并上传到网站根目录。 - 访问
http://您的域名/sitemap.php,浏览器会直接显示XML地图内容。 - 您可以将此文件重命名为
sitemap.xml,然后提交给搜索引擎。- 注意:手动方法无法自动更新,每次网站有新内容发布时,您需要手动更新此文件或重新访问
sitemap.php让它生成最新的内容,您可以在发布文章后,通过访问http://您的域名/sitemap.php来触发更新,然后将生成的文件保存为sitemap.xml。
- 注意:手动方法无法自动更新,每次网站有新内容发布时,您需要手动更新此文件或重新访问
常见问题与注意事项
-
地图文件为空或404错误:
- 检查文件是否正确上传到了网站根目录。
- 检查文件权限是否正确(通常为644)。
- 检查服务器是否支持PHP,或者是否有安全软件拦截了访问。
-
插件安装失败:
- 确认插件版本与DedeCMS版本是否兼容。
- 检查是否有文件权限问题导致无法写入。
- 查看DedeCMS后台的“系统环境”检查是否有缺失的PHP函数。
-
地图无法收录:
(图片来源网络,侵删)- 确认地图文件格式正确,内容可以被浏览器正常访问和解析。
- 确保网站本身没有robots.txt文件禁止搜索引擎访问地图文件。
- 质量和更新频率是影响收录的根本原因,地图只是辅助工具。
-
插件不更新怎么办?
- 进入后台的“更新XML网站地图”页面,手动点击生成。
- 检查插件配置中的生成频率设置,确保不是“手动”模式。
- 如果设置了定时生成,请确保服务器开启了定时任务(Cron Job)功能。
希望这份详细的指南能帮助您成功为织梦DedeCMS网站生成并提交XML地图!
