- 删除栏目或文章后:DedeCMS 默认不会物理删除对应的目录和 HTML 文件,只是从数据库中移除了记录。
- 更换目录目录(如
/a/改为/article/):旧的目录和里面的文件就变成了无用的“孤儿文件”。 - 清理系统生成的缓存文件。
- 网站改版或下线后。
下面我将分门别类地详细说明如何安全、高效地清理这些文件。

(图片来源网络,侵删)
⚠️ 重要:操作前必读
在进行任何删除操作之前,请务必备份你的网站!特别是 /data 目录和数据库,一旦误删,恢复起来非常困难。
- 全站备份:通过 cPanel、宝塔面板或 FTP 将整个网站目录打包下载。
- 数据库备份:在 DedeCMS 后台 > 系统 > 数据库备份/恢复,或直接在 phpMyAdmin 中导出数据库。
第一部分:删除无用的 HTML 文件
这些是网站前台生成的静态页面,通常位于 /html/ 目录下。
使用 DedeCMS 后台自带的“一键更新”功能(推荐)
这是最安全、最官方的方法,它只会删除那些在数据库中已经不存在的栏目或文章所对应的 HTML 文件。
-
登录你的 DedeCMS 后台。
(图片来源网络,侵删) -
进入 “生成” -> “一键更新” 页面。
-
在这个页面中,你会看到几个选项:
- 更新主页HTML:更新首页。
- 更新栏目HTML:更新所有栏目的列表页和封面页。
- 更新文档HTML:更新所有文章的详情页。
- HTML文档管理:这是我们需要的!
-
点击 “HTML文档管理”。
-
在打开的页面中,你会看到一个文件列表,这些文件是系统认为可能已经失效的(即数据库里没有对应记录的)。
(图片来源网络,侵删) -
勾选 你想要删除的文件列表。
-
点击底部的 “删除选中项” 按钮。
优点:
- 绝对安全:DedeCMS 后台会严格比对数据库,确保只删除真正无用的文件,不会误删正在使用的页面。
- 操作简单,无需代码。
缺点:
- 如果你有大量的“孤儿文件”,每次只能看到一部分,需要分批操作。
使用 FTP 客户端手动删除(适用于批量清理)
如果你已经明确知道哪些目录是废弃的(比如旧栏目目录),可以直接用 FTP 删除整个目录。
- 连接你的网站:使用 FTP 软件(如 FileZilla, WinSCP)连接到你的服务器。
- 定位到 HTML 目录:进入网站根目录下的
/html/文件夹。 - 识别并删除目标:
- 按目录删除:如果你删除了某个名为 “news” 的栏目,
/html/news/这个目录就可以直接删除。 - 按文件名删除:如果你知道文件名规则(如文章 ID),可以按名称筛选并删除。
- 按目录删除:如果你删除了某个名为 “news” 的栏目,
- 执行删除:右键点击目标文件或文件夹,选择 “删除”。
优点:
- 速度快,适合处理大量文件。
- 可以自由选择删除范围。
缺点:
- 风险高:容易误删正在使用的文件,导致网站出现 404 错误。务必在 100% 确认该目录/文件无用后再操作。
第二部分:删除无用的目录文件
这里的“目录文件”通常指两种:一是 /html/ 下的栏目目录,二是网站根目录或特定目录下的其他文件夹。
场景1:删除 /html/ 下的废弃栏目目录
这和上面方法二完全一样,是清理 HTML 文件的一部分,你删除了 “产品” 栏目,/html/products/ 目录就可以通过 FTP 删除。
场景2:删除网站根目录或其他位置的废弃文件夹
这些可能是旧版本、测试文件、临时文件等。
-
通过 FTP 删除:
- 连接到 FTP,导航到你想要清理的目录(如网站根目录 )。
- 找到那些不再需要的文件夹(
old_version,temp_files等)。 - 再次确认:打开这些文件夹,确保里面没有你还需要的内容。
- 右键点击文件夹,选择 “删除”。
-
通过服务器面板(如宝塔面板)删除:
- 登录你的服务器控制面板(如宝塔面板)。
- 进入 “文件” 管理器。
- 找到并定位到目标目录。
- 选中文件夹,点击右上角的 “删除” 按钮。
第三部分:删除系统缓存文件
缓存文件存放在 /data/ 目录下,定期清理可以释放空间,解决一些因缓存导致的问题。
- 登录 FTP 或服务器面板。
- 进入网站根目录下的
/data/文件夹。 - 找到并删除缓存目录:
- 主要的缓存目录是
/data/cache_template/和/data/cache/。 - 你可以直接删除这两个目录下的所有文件。
- 注意:不要删除
/data/目录本身,也不要删除里面的common.inc.php等核心配置文件。
- 主要的缓存目录是
- 删除后刷新网站:删除缓存后,DedeCMS 会自动重新生成必要的缓存文件,网站前台可能会稍微慢一下,这是正常的。
第四部分:使用 Shell 脚本(高级用户,适用于 Linux 服务器)
如果你熟悉 Linux 命令,可以写一个简单的脚本来批量删除。此方法风险极高,请谨慎使用!
要删除 /html/ 目录下所有超过 365 天未被修改的文件(通常意味着很久没被访问了):
# 进入你的网站 html 目录
cd /path/to/your/website/html
# 查找并删除超过 365 天未被修改的文件
# -mtime +365 表示修改时间超过 365 天
# -type f 只针对文件
# -exec rm -f {} \; 对找到的每个文件执行删除命令
find . -mtime +365 -type f -exec rm -f {} \;
# (可选)同样地,删除空目录
# -type d 只针对目录
# -empty 表示目录为空
find . -type d -empty -exec rmdir {} \;
使用前请务必在测试环境或本地虚拟机上验证脚本的安全性!
总结与最佳实践
| 清理对象 | 推荐方法 | 备选方法 | 风险等级 |
|---|---|---|---|
| 无用的 HTML 文件 | 后台“生成” -> “HTML文档管理” | FTP 手动删除 | 低 |
| 废弃的栏目目录 | FTP/面板删除整个目录 | 无 | 中 |
| 系统缓存文件 | FTP/面板删除 /data/cache* |
无 | 低 |
| 其他位置的废弃文件夹 | FTP/面板手动删除 | Shell 脚本 | 高 |
最佳实践流程:
- 规划:确定要删除哪些栏目或文件,做到心中有数。
- 备份:再次强调,操作前务必备份!
- 清理 HTML:优先使用 DedeCMS 后台的 “HTML文档管理” 功能,这是最安全的。
- 清理目录:对于已确认废弃的栏目目录,通过 FTP 或面板进行物理删除。
- 清理缓存:定期清理
/data/目录下的缓存文件,保持系统清爽。 - 检查:删除后,到网站前台走一遍流程,检查被影响的页面是否正常显示,没有出现 404 错误。
遵循以上步骤,你就可以安全有效地清理 DedeCMS 网站中的无用文件了。
