核心思路
将旧网站迁移到织梦,本质上是将旧网站的内容“翻译”成织梦能够识别和管理的格式,然后将这些“翻译”好的数据导入到织梦的数据库中,这个过程通常分为三步:

(图片来源网络,侵删)
- 分析旧网站:搞清楚旧网站的数据结构(文章、产品、图片等)。
- 数据导出与转换:从旧网站导出数据,并将其格式转换为织梦的
dede_*数据表格式。 - 数据导入与配置:将转换好的数据导入到织梦数据库,并进行必要的配置和修正。
第一步:准备工作(至关重要)
在开始任何操作前,请务必做好备份!
-
备份旧网站:
- 数据库备份:导出旧网站的整个数据库(通常是
.sql文件)。 - 文件备份:将旧网站的所有文件(HTML、CSS、JS、图片等)打包下载。
- 数据库备份:导出旧网站的整个数据库(通常是
-
准备织梦环境:
- 购买/准备服务器:确保您的服务器环境(PHP + MySQL)满足织梦的要求。
- 安装织梦程序:在服务器上上传并安装一个全新的织梦程序。不要直接在旧网站目录下安装,以免冲突。
- 安装织梦默认模板:安装织梦时,选择安装其默认的“官方默认模板”,这能确保您后续有参考模板。
-
分析旧网站结构:
- 栏目分析:旧网站有哪些栏目?公司简介、新闻中心、产品展示、联系我们等,记录下每个栏目的名称、描述和层级关系。
- 内容分析:旧网站的文章/产品包含哪些字段?标题、发布时间、作者、来源、正文、缩略图、附件等。
- URL分析:旧网站的网址结构是怎样的?这有助于后续进行301重定向,避免SEO丢失。
第二步:数据导出与转换
这是整个迁移过程中最核心、最复杂的步骤,根据您旧网站的技术栈,有不同的方法。
情况A:旧网站是开源系统(如WordPress、帝国CMS等)
这种情况相对简单,因为数据结构是已知的。
-
寻找专用转换工具:
- WordPress -> DedeCMS:网上有很多现成的转换工具或插件,您可以搜索关键词
WordPress DedeCMS 转换工具,这些工具通常能自动完成:- 栏目转换:将WordPress的分类目录转换为织梦的栏目。
- 文章转换:将WordPress的文章转换为织梦的文档。
- 用户转换:将WordPress的用户转换为织梦的会员。
- 使用方法:通常是在您的旧服务器上运行一个转换脚本,它会读取旧数据库,生成一个符合织梦数据结构的
.sql文件。
- WordPress -> DedeCMS:网上有很多现成的转换工具或插件,您可以搜索关键词
-
手动转换(如果工具不适用):
- 导出数据:从旧网站后台导出数据(如文章、分类)为 CSV 或 Excel 文件。
- 制作映射表:创建一个Excel表格,一列是旧网站的字段(如
post_title,post_content),另一列是对应的织梦字段(如title,body)。 - 数据清洗:手动或使用脚本来清洗和转换数据。
- 将旧网站的
[img]标签转换为织梦的{dede:img}- 处理特殊字符和HTML标签。
- 为每篇文章生成一个适合织梦的
arcurl(文章URL)。
- 将旧网站的
情况B:旧网站是自定义开发的静态/动态网站
这种情况最复杂,需要手动处理。
-
从旧网站提取数据:
- 静态网站:如果文章内容是分散在各个HTML文件中的,您需要编写一个网络爬虫(Spider)或使用工具(如 Python 的 BeautifulSoup + Requests)来批量抓取:
- 发布时间
- 缩略图地址
- 所属栏目
- 动态网站:如果能访问到数据库,直接导出相关的数据表,如果不能,则通过网页抓取的方式获取。
- 静态网站:如果文章内容是分散在各个HTML文件中的,您需要编写一个网络爬虫(Spider)或使用工具(如 Python 的 BeautifulSoup + Requests)来批量抓取:
-
数据格式化与转换:
- 创建织梦数据模板:这是关键一步,您需要制作一个符合织梦数据导入格式的模板,织梦官方提供了数据导入的功能,它需要一个特定的文本格式。
- 织梦数据导入格式示例:
------------------------------ INSERT INTO `dede_archives` (`id`, `typeid`, `title`, `pubdate`, `senddate`, `arcrank`, `click`, `ismake`, `channel`, `money`) VALUES ('', '栏目ID', '文章标题', 'UNIX时间戳', 'UNIX时间戳', '0', '0', '1', '1', '0'); INSERT INTO `dede_addonarticle` (`aid`, `body`, `description`, `keywords`, `templet`) VALUES ('LAST_INSERT_ID()', '这里是文章正文内容,注意特殊字符处理', ', '关键词1,关键词2', ''); ------------------------------LAST_INSERT_ID()是一个特殊函数,表示获取上一条插入记录的ID,非常重要。typeid是栏目ID,您需要提前在织梦后台创建好所有栏目,并记下它们的ID。pubdate和senddate需要转换为UNIX时间戳。body字段中的内容需要处理好,特别是图片路径要改为相对路径或新的绝对路径。
-
编写转换脚本(强烈推荐):
- 使用 Python、PHP 等语言编写一个脚本,自动完成以下工作:
- 读取您从旧网站提取的原始数据(如CSV/Excel)。
- 根据您制作的映射表,将数据填充到织梦的数据模板中。
- 批量生成一个或多个
.txt文件,每个文件包含一组INSERT语句。 - 处理图片:将旧网站的图片下载到本地,并上传到您织梦网站的
/uploads/目录下,同时更新文章中的图片路径。
- 使用 Python、PHP 等语言编写一个脚本,自动完成以下工作:
第三步:数据导入与配置
您已经准备好了转换好的织梦数据文件。
-
在织梦后台创建栏目:
- 登录织梦后台,进入【核心】-> 【栏目管理】。
- 根据您第一步的分析,手动创建所有旧网站中的栏目,并设置好它们的栏目目录、列表模板、文章模板等。记下每个栏目的ID。
-
导入数据:
- 进入【核心】-> 【数据导入】。
- 选择您上一步生成的
.txt数据文件。 - 织梦会解析文件并执行数据库插入操作,请耐心等待,并注意观察是否有错误提示。
-
导入附件/图片:
- 如果您有附件(如PDF、DOC),请将它们上传到织梦的
/uploads/目录下的相应文件夹。 - 如果图片已经在上一步由脚本处理,则无需额外操作,如果没有,您可能需要手动替换或修复文章中的图片路径。
- 如果您有附件(如PDF、DOC),请将它们上传到织梦的
-
修正与检查:
- 检查文章:在网站前台随机打开几篇文章,检查标题、内容、图片、链接是否正常。
- 检查栏目:检查栏目列表页和内容页是否显示正确。
- 修正URL:织梦默认生成的URL可能和您旧网站的不一样,如果您希望保持旧的URL以利于SEO,需要进行URL重写(伪静态)配置,并设置301重定向。
- 更新网站信息:在【系统】-> 【系统基本参数】中,修改网站名称、公司信息等。
-
设置301重定向(SEO关键):
-
这是保护您搜索引擎排名的最重要一步。
-
方法:在您服务器的配置文件中(如 Apache 的
.htaccess或 Nginx 的nginx.conf)设置规则,将旧网站的URL永久重定向到新的织梦URL。 -
示例 (Apache .htaccess):
# 将旧文章 /news/123.html 重定向到新文章 /a/2025/xx/xx/123.html RedirectMatch 301 ^/news/([0-9]+)\.html$ /a/2025/xx/xx/$1.html # 将旧栏目 /products/ 重定向到新栏目 /products/ RedirectMatch 301 ^/products/$ /products/
-
您需要为所有重要的旧URL都设置好重定向规则。
-
第四步:测试与上线
-
全面测试:
- 在测试环境中(或本地)完成所有测试,确保功能正常,没有404错误。
- 测试表单提交、搜索、评论等功能(如果您的网站有这些功能)。
-
最终备份:
- 在一切就绪后,对新的织梦网站进行一次完整的文件和数据库备份。
-
切换DNS:
将您的域名DNS服务器地址指向新服务器的IP地址,这个过程通常需要几分钟到48小时生效。
-
监控与维护:
- 切换后,密切监控网站是否正常运行。
- 提交一个新的网站地图(Sitemap)到百度站长平台和Google Search Console,以加速新站点的收录。
总结与建议
- 难度:这是一个中高级的技术任务,如果您不熟悉数据库和编程,可能会非常困难。
- 寻求帮助:如果遇到困难,可以考虑:
- 寻找专业服务商:在网上有很多专门做网站迁移的服务商,他们经验丰富,可以高效地完成这项工作。
- 织梦官方论坛/社区:在织梦的官方论坛发帖求助,描述您遇到的具体问题。
- 耐心:数据迁移是一个需要极大耐心的过程,不要急于求成,每一步都要仔细检查。
祝您迁移顺利!
