凌峰创科服务平台

织梦xml网站地图如何生成与使用?

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

织梦xml网站地图如何生成与使用?-图1
(图片来源网络,侵删)

织梦CMS本身没有直接生成标准XML Sitemap的功能,但我们可以通过手动创建使用插件两种非常简单的方法来实现,下面我将为你详细介绍这两种方法。


手动创建XML网站地图(推荐,最稳定)

这种方法最直接,不依赖任何第三方插件,稳定可靠,完全符合Sitemap标准。

步骤 1:了解织梦的URL结构

在创建Sitemap之前,你需要知道织梦CMS的URL规律,通常有以下几种:

  1. 栏目列表页你的域名/plus/list.php?tid=[栏目ID]
    • /plus/list.php?tid=1
  2. 你的域名/plus/view.php?aid=[文章ID]
    • /plus/view.php?aid=100
  3. 自定义页面你的域名/plus/view.php?aid=[自定义页面ID]
    • /plus/view.php?aid=50
  4. 首页你的域名/

步骤 2:创建XML文件

在你的网站根目录(通常是 public_htmlwww)下,创建一个名为 sitemap.xml 的文件。

织梦xml网站地图如何生成与使用?-图2
(图片来源网络,侵删)

你可以用任何文本编辑器(如 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>可选,相对于网站上其他页面的优先级,值从 00,首页通常为 0

步骤 4:如何填充所有链接?

手动为成百上千的页面编写 <url> 标签是不现实的,这里有两种填充方法:

织梦xml网站地图如何生成与使用?-图3
(图片来源网络,侵删)

方案A:一次性手动填充(适合小网站)

如果你的网站只有几十个页面,可以直接在后台复制所有链接,然后按照上面的格式手动添加到 sitemap.xml 文件中。

方案B:通过数据库查询生成(适合大网站,推荐)

这是最专业的方法,你可以写一个简单的PHP脚本,连接你的织梦数据库,自动查询出所有栏目和文章,然后生成完整的Sitemap内容。

  1. 在网站根目录创建一个文件,generate_sitemap.php
  2. 将以下代码复制进去,并修改数据库连接信息。
<?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);
?>

使用方法:

  1. 将上述代码保存为 generate_sitemap.php 并上传到网站根目录。
  2. 修改代码开头的数据库配置信息。
  3. 在浏览器中访问 https://www.yourdomain.com/generate_sitemap.php
  4. 浏览器会直接显示整个XML Sitemap的内容。
  5. 全选、复制这些内容,然后粘贴到你之前创建的 sitemap.xml 文件中,保存即可。

步骤 5:提交Sitemap到搜索引擎

  1. 百度站长平台

    • 登录你的网站账号。
    • 进入“普通收录” -> “自动提交” -> “Sitemap”。
    • 输入你的Sitemap地址:https://www.yourdomain.com/sitemap.xml,然后提交。
  2. 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:下载插件

  1. 访问织梦官方插件市场:http://extend.dedecms.com/
  2. 在搜索框中输入“网站地图”或“Sitemap”。
  3. 找一个评价好、下载量高的插件,“DedeCms 网站地图生成器” 之类的,下载其压缩包。

步骤 2:安装插件

  1. 解压下载的插件包。
  2. 将解压后的文件夹通过FTP上传到你的网站根目录的 /dede/ 目录下(有些插件可能需要上传到 /plus/,请看插件说明)。
  3. 登录你的织梦后台,进入“系统” -> “软件频道” -> “插件管理”。
  4. 找到你刚上传的插件,点击“安装”或“启用”。

步骤 3:配置和生成Sitemap

  1. 安装成功后,通常在后台的“系统”或“内容”菜单下会出现一个新的Sitemap管理入口。
  2. 进入该管理页面,你可以设置要包含的栏目、更新频率等。
  3. 点击“生成”或“更新”按钮,插件会自动在网站根目录下生成 sitemap.xml 文件。

步骤 4:提交到搜索引擎

这一步和方法一完全相同,将生成的 sitemap.xml 地址提交到百度站长平台和Google Search Console即可。


总结与建议

特性 手动创建 使用插件
优点 完全自主控制,代码轻量。
不依赖第三方,稳定无安全风险。
可以高度定制,满足特殊需求。
操作简单,图形化界面。
通常有定时更新功能。
适合不想接触代码的新手。
缺点 需要一定的技术基础(数据库、PHP)。
初始设置稍显复杂。
增加一个插件,有潜在的安全风险。
可能与你的织梦版本不兼容。
功能可能受限,不够灵活。
推荐人群 有一定技术能力,追求稳定和自定义的开发者。 织梦新手,网站规模不大,希望快速解决问题的用户。

最终建议:

对于任何有一定规模的网站,我强烈推荐使用方法一(手动创建+脚本生成),虽然前期需要花一点时间,但一旦配置好(特别是设置好定时任务),就能一劳永逸,并且最安全、最可靠,这对于网站的SEO长期健康发展至关重要。

分享:
扫描分享到社交APP
上一篇
下一篇