织梦DEDECMS转WordPress的教程方法汇总 - 奶爸建站笔记

baacloud免费翻墙vpn注册使用

来源: 织梦DEDECMS转WordPress的教程方法汇总 – 奶爸建站笔记

织梦DEDECMS转WordPress的教程方法汇总

织梦dedecms是很多站长使用的国产CMS系统之一,近日织梦官方发表通知称商业用户需要购买授权费才能使用,费用为5800元/年,所以商用的站长最好更换掉其他免费开源的建站系统,例如WordPress,或者购买商业授权,毕竟国内的版权已经越来越严格了。

这里奶爸给大家总结几个可以方便把DedeCMS转移到WordPress系统的方法

DedeCMS转WordPress方法一:通过RSS导出然后导入

这个方法的原理很简单,首先,在DedeCMS系统里面把全站的内容都导出为RSS格式,然后利用WordPress的导入功能,导入rss文件,就可以自动把之前的文章复制过来。

具体的大家可以参考下面这个步骤:

https://github.com/zyfcjtc/dedecms_to_wordpress

  1. 在dedecms的dede文件夹(后台文件夹)下找到makehtml_rss_action.php文件,对其进行编辑,找到代码:
    echo "完成所有文件更新!";

    在其下面添加代码:

    echo "<a href='/rss.xml' target='_blank'>浏览…</a>";

    作用是在生成rss.xml文件后方便点击查看生成结果。

  2. 在dedecms的include文件夹下找到arc.rssview.class.php文件,并对其进行编辑,找到代码:
    $murl = $GLOBALS['cfg_cmspath']."/data/rss/".$this->TypeID.".xml";

    修改为:

    $murl = $GLOBALS['cfg_cmspath']."/rss.xml";

    作用是修改生成的rss.xml文件路径,让该文件保存在网站根目录

    再向下找到以下代码并将其删除:

    $orwhere .= "And (arc.typeid in (".GetSonIds($this->TypeID,$this->TypeFields['channeltype']).") )";

进入后台——生成——更新RSS文件,把“单个类目最大记录数”改为全站的文章数量,然后点击“开始更新”,更新完成后,网站根目录下会生成一个全站rss.xml文件,可通过 http://网站域名/rss.xml 查看。 附:如果生成的rss.xml文件有错误,在根目录下的templets文件夹中的plus文件夹里找到rss.htm文件,对其进行编辑,找到代码:

<description><![CDATA[[field:description function='html2text(@me)'/]]]></description>

修改为:

<description><![CDATA[[field:description/]]]></description>

注:wordpress的编码是utf8,如果dedecms使用的不是utf8的,导入前请先转换编码为utf8。 具体如何查看: 找到common.inc.php文件,里面的

$cfg_version = 'V57_UTF8_SP2';
$cfg_soft_lang = 'utf-8';
$cfg_soft_public = 'base';

即可知道是什么编码

导入织梦RSS步骤

  1. 织梦DedeCMS文章标题等基本数据导入wordpress站点 进入wordpress后台admin => 工具 => 导入 => RSS, 上传导入生成的织梦全站RSS文件。 导入过程中有可能会超时,重新上传RSS即可,不会重复导入。 注:我通过修改rss-import.php里的get_posts function,实现了同时导入织梦文章id到wordpress. 具体请见这里: https://github.com/zyfcjtc/dedecms_to_wordpress/blob/main/get_posts.php
  2. 导入织梦CMS文章全文到wordpress站点 织梦文章的数据存储在dede_addonarticle数据库的body字段中,现在需要把body字段的内容转到wordpress数据库的wp_posts数据库的 post_content字段里。这个转换需要使用一个桥梁——那就是dede_archives数据表,即dede_addonarticle上body的内容先转到dede_archives上,再从 dede_archives转到wp_posts的post_content里。这两次转换的匹配点,分别是织梦里的文章id,以及Wordpress里已经导入了的文章标题 (这与织梦里的文章标题是一样的)。具体步骤如下: 进入phpmyadmin,选择dedecms网站使用的数据库,在SQL输入框中执行以下SQL语句,在织梦数据库的dede_archives表上,添加字段body
    ALTER TABLE dede_archives ADD body longtext NOT NULL

    然后再执行以下SQL语句把dede_addonarticle数据表中的body字段内容导入到dede_archives的body字段,语句以dede_addonarticle的aid 和dede_archives的id为匹配点:

    UPDATE dede_archives,dede_addonarticle
    SET dede_archives.body = dede_addonarticle.body  
    WHERE dede_archives.id = dede_addonarticle.aid

    接着通过phpmyadmin导出功能把dede_archives数据表导出,然后再通过导入功能把该数据表导入wordpress网站使用的数据库中,使其与 wp_posts数据库处在同一个数据库里。

    下面再次使用SQL语句把dede_archives的body导入到wp_posts上的post_content上,以文章标题为匹配点(前提是文章标题都是唯一的) 以ID为匹配点:

    UPDATE wp_posts,dede_archives  
    SET wp_posts.post_content = dede_archives.body  
    WHERE wp_posts.id = dede_archives.id

    至此文章内容部分转换完成!

DedeCMS转WordPress方法二:数据库转换

大概思路就是把dedecms的数据库内容导入到wordpress,并且通过一些数据库命令操作,让本来dedecms的数据库转变为wordpress的,这个方法网上的教程都比较老,不推荐尝试。

DedeCMS转WordPress方法三:复制或者采集

这个方法相对来说是奶爸推荐大家操作的,因为最保险,只不过原网站数据量太大的话,操作起来非常费时间。

具体步骤:

  1. 先搭建一个临时的WordPress网站,教程参考:安装WordPress教程
  2. 在WordPress后台,文章,文章分类里面设置好原网站(DEDECMS)的分类。
  3. 手动一篇文章一篇文章的复制或者使用采集软件(淘宝有帮忙写采集规则的店铺),把文章全部采集过来。
  4. 利用elementor这类型的构建器设计网站首页的效果。
  5. 域名切换为原dedecms网站的域名。
  6. 设置伪静态和301跳转规则,实现可以通过老网站的url跳转到新的url,减少SEO影响。

织梦转为WordPress后的注意事项

一、注意做伪静态和301跳转

虽然织梦和WordPress都是php的程序,但是他们的伪静态规则是不一样的,所以从dedecms转到WordPress之后,之前dedecms的文章页链接打开会报错,这就需要自己做301跳转规则来实现老dedecms网站的文章链接跳转到新WordPress网站的链接。

WordPress做301跳转的话也可以使用插件帮忙,例如Redirection

二、网站页面需要重新设计

不管用哪种方法把DEDECMS转换到WordPress,网站的页面设计都会发生变化的,所以网站文章全部复制过来之后,也需要自己从零开始设计网站的页面。新手的话推荐使用elementor构建器操作,或者直接花钱找人帮你设计,这是比较靠谱的方法。

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏