网站地图是网站所有页面链接的清单,它有助于搜索引擎(如百度、谷歌)更高效地发现和抓取你网站上的内容,从而提高网站的索引率。

织梦CMS本身没有直接生成标准XML Sitemap的功能,但我们可以通过手动创建或使用插件两种非常简单的方法来实现,下面我将为你详细介绍这两种方法。
手动创建XML网站地图(推荐,最稳定)
这种方法最直接,不依赖任何第三方插件,稳定可靠,完全符合Sitemap标准。
步骤 1:了解织梦的URL结构
在创建Sitemap之前,你需要知道织梦CMS的URL规律,通常有以下几种:
- 栏目列表页:
你的域名/plus/list.php?tid=[栏目ID]/plus/list.php?tid=1
- 页:
你的域名/plus/view.php?aid=[文章ID]/plus/view.php?aid=100
- 自定义页面:
你的域名/plus/view.php?aid=[自定义页面ID]/plus/view.php?aid=50
- 首页:
你的域名/
步骤 2:创建XML文件
在你的网站根目录(通常是 public_html 或 www)下,创建一个名为 sitemap.xml 的文件。

你可以用任何文本编辑器(如 VS Code, Sublime Text, Notepad++)来创建这个文件。
步骤 3:编写Sitemap内容
将以下代码复制并粘贴到 sitemap.xml 文件中,这是一个包含首页、栏目页和文章页的通用模板。
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<!-- 首页 -->
<url>
<loc>https://www.yourdomain.com/</loc>
<lastmod>2025-10-27T10:00:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<!-- 这里是栏目和文章链接,你需要手动或通过脚本生成 -->
<!-- 示例:一个栏目页 -->
<url>
<loc>https://www.yourdomain.com/plus/list.php?tid=1</loc>
<lastmod>2025-10-26T15:30:00+00:00</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<!-- 示例:一篇文章 -->
<url>
<loc>https://www.yourdomain.com/plus/view.php?aid=100</loc>
<lastmod>2025-10-25T09:15:00+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<!-- ... 在这里添加你网站的所有链接 ... -->
</urlset>
代码解释:
<?xml ... ?>:XML声明。<urlset xmlns="...">:声明这是一个Sitemap文件,并指定了使用的标准。<url>:包含单个URL信息的标签。<loc>:必需,页面的完整URL。<lastmod>:推荐,页面的最后修改日期(W3C标准格式)。<changefreq>:可选,页面的更新频率(如always,hourly,daily,weekly,monthly,yearly,never),这只是一个提示,搜索引擎不一定遵守。<priority>:可选,相对于网站上其他页面的优先级,值从0到0,首页通常为0。
步骤 4:如何填充所有链接?
手动为成百上千的页面编写 <url> 标签是不现实的,这里有两种填充方法:

方案A:一次性手动填充(适合小网站)
如果你的网站只有几十个页面,可以直接在后台复制所有链接,然后按照上面的格式手动添加到 sitemap.xml 文件中。
方案B:通过数据库查询生成(适合大网站,推荐)
这是最专业的方法,你可以写一个简单的PHP脚本,连接你的织梦数据库,自动查询出所有栏目和文章,然后生成完整的Sitemap内容。
- 在网站根目录创建一个文件,
generate_sitemap.php。 - 将以下代码复制进去,并修改数据库连接信息。
<?php
// 设置header为XML格式
header("Content-type: text/xml; charset=utf-8");
// --- 数据库配置 ---
$dbhost = 'localhost'; // 数据库地址
$dbuser = 'your_db_user'; // 数据库用户名
$dbpass = 'your_db_password'; // 数据库密码
$dbname = 'your_db_name'; // 数据库名
// --- 连接数据库 ---
$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
if (!$conn) {
die("数据库连接失败: " . mysqli_connect_error());
}
mysqli_set_charset($conn, "utf8");
// --- 开始输出XML ---
echo '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
// 1. 添加首页
echo "
<url>
<loc>https://www.yourdomain.com/</loc>
<lastmod>" . date('Y-m-d\TH:i:sP') . "</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>";
// 2. 添加所有栏目页
$sql_category = "SELECT id, typename FROM dede_arctype WHERE ishidden <> 1";
$result_category = mysqli_query($conn, $sql_category);
while ($row = mysqli_fetch_assoc($result_category)) {
echo "
<url>
<loc>https://www.yourdomain.com/plus/list.php?tid=" . $row['id'] . "</loc>
<lastmod>" . date('Y-m-d\TH:i:sP') . "</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>";
}
// 3. 添加所有文章页
$sql_article = "SELECT id, pubdate FROM dede_archives WHERE arcrank > -1"; // arcrank > -1 表示已审核的文章
$result_article = mysqli_query($conn, $sql_article);
while ($row = mysqli_fetch_assoc($result_article)) {
// 将Unix时间戳转换为W3C格式
$lastmod_date = date('Y-m-d\TH:i:sP', $row['pubdate']);
echo "
<url>
<loc>https://www.yourdomain.com/plus/view.php?aid=" . $row['id'] . "</loc>
<lastmod>" . $lastmod_date . "</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>";
}
echo '
</urlset>';
// 关闭数据库连接
mysqli_close($conn);
?>
使用方法:
- 将上述代码保存为
generate_sitemap.php并上传到网站根目录。 - 修改代码开头的数据库配置信息。
- 在浏览器中访问
https://www.yourdomain.com/generate_sitemap.php。 - 浏览器会直接显示整个XML Sitemap的内容。
- 全选、复制这些内容,然后粘贴到你之前创建的
sitemap.xml文件中,保存即可。
步骤 5:提交Sitemap到搜索引擎
-
百度站长平台:
- 登录你的网站账号。
- 进入“普通收录” -> “自动提交” -> “Sitemap”。
- 输入你的Sitemap地址:
https://www.yourdomain.com/sitemap.xml,然后提交。
-
Google Search Console:
- 登录你的网站账号。
- 进入“Sitemap”部分(通常在“爬网”下)。
- 在输入框中输入
sitemap.xml,然后提交。
重要提示:
- 定期更新是不断更新的,所以Sitemap也需要定期更新,你可以设置一个定时任务(Cron Job),每周或每天运行一次
generate_sitemap.php脚本,自动更新sitemap.xml文件。 - 网站URL优化:如果你的网站开启了“伪静态”,URL会变成
/category/1.html或/article/100.html这种形式,你需要将Sitemap中的<loc>标签内容修改为你的伪静态URL。
使用插件生成(适合新手)
如果你觉得手动操作麻烦,可以使用织梦的插件市场中的Sitemap生成插件。
步骤 1:下载插件
- 访问织梦官方插件市场:
http://extend.dedecms.com/ - 在搜索框中输入“网站地图”或“Sitemap”。
- 找一个评价好、下载量高的插件,“DedeCms 网站地图生成器” 之类的,下载其压缩包。
步骤 2:安装插件
- 解压下载的插件包。
- 将解压后的文件夹通过FTP上传到你的网站根目录的
/dede/目录下(有些插件可能需要上传到/plus/,请看插件说明)。 - 登录你的织梦后台,进入“系统” -> “软件频道” -> “插件管理”。
- 找到你刚上传的插件,点击“安装”或“启用”。
步骤 3:配置和生成Sitemap
- 安装成功后,通常在后台的“系统”或“内容”菜单下会出现一个新的Sitemap管理入口。
- 进入该管理页面,你可以设置要包含的栏目、更新频率等。
- 点击“生成”或“更新”按钮,插件会自动在网站根目录下生成
sitemap.xml文件。
步骤 4:提交到搜索引擎
这一步和方法一完全相同,将生成的 sitemap.xml 地址提交到百度站长平台和Google Search Console即可。
总结与建议
| 特性 | 手动创建 | 使用插件 |
|---|---|---|
| 优点 | 完全自主控制,代码轻量。 不依赖第三方,稳定无安全风险。 可以高度定制,满足特殊需求。 |
操作简单,图形化界面。 通常有定时更新功能。 适合不想接触代码的新手。 |
| 缺点 | 需要一定的技术基础(数据库、PHP)。 初始设置稍显复杂。 |
增加一个插件,有潜在的安全风险。 可能与你的织梦版本不兼容。 功能可能受限,不够灵活。 |
| 推荐人群 | 有一定技术能力,追求稳定和自定义的开发者。 | 织梦新手,网站规模不大,希望快速解决问题的用户。 |
最终建议:
对于任何有一定规模的网站,我强烈推荐使用方法一(手动创建+脚本生成),虽然前期需要花一点时间,但一旦配置好(特别是设置好定时任务),就能一劳永逸,并且最安全、最可靠,这对于网站的SEO长期健康发展至关重要。
