魔扣论坛

魔扣源码论坛业务
查看: 793|回复: 5

[经验交流] 织梦DedeCMS转WordPress

[复制链接]
  • TA的每日心情
    无聊
    22 小时前
  • 签到天数: 2956 天

    [LV.Master]开坛老将

    7万

    主题

    227

    回帖

    27万

    积分

    管理员

    Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

    魔扣币
    745735
    贡献
    157913
    威望
    32799

    最佳新人活跃会员热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2017-6-15 10:13:20 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x

    最近,有个用户找魔扣科技迁移网站,源站用的dede,需要转成wp,文章数量大概7000-8000篇,其中有个需求是保证旧文章的链接有效,在wp上的新文章与旧文章的链接类型不一样,所以这涉及到伪静态来处理跳转。虽然网上都很多教程,但是在这次导入过程中还是遇到过一些问题。

    以下教程是dede的数据表得与wp的数据表在同一个数据库下!要是不在,可以将dede_archives先导入到wp的数据库里。

    一般流程

    1. 文章标题等基本数据导入

    织梦的文章标题、正文和栏目分别存放在三个不同的表上,但WordPress把文章标题和正文放在一个表上,栏目放在另外一个表上。

    为了简化后面的工作,第一步我首先把织梦的全站RSS文件(rss.php)保存下来,然后使用WordPress自带的RSS导入该文件。这样就可以使WordPress在wp_posts上生成文章标题,在dede_terms上生成文章目录,并匹配起来。通过RSS导入,wp_posts上还导入了文章的摘要、日期、自定义网址等数据。但RSS导入不会导入全文。

    2. 文章全文导入

    织梦数据库的文章全文储存在dede_addonarticle表上的body里,我们要把这个body的内容转到Worpress数据库里wp_posts表上的post_content里。

    这个转换,需要使用一个桥梁——那就是dede_archives,即dede_addonarticle上body的内容先转到dede_archives上,再从dede_archives上再转到wp_posts上的post_content里。这两次转换的匹配点,分别是织梦里的文章id,以及Wordpress里已经导入了的文章标题(这与织梦里的文章标题是一样的)。

    具体步骤如下:

    进入phpMyAdmin,在织梦数据库里的dede_archives表上,添加一个列,命名为body,然后用UPDATE命令把dede_addonarticle上的全文(body)导入到dede_archives的body上,以dede_addonarticle上的aid和dede_archives上的id为匹配点:

    1. UPDATE `dede_archives`,`dede_addonarticle`
    2. SET `dede_archives`.`body`= `dede_addonarticle`.`body`
    3. WHERE `dede_archives`.`id` = `dede_addonarticle`.`aid`
    复制代码

    接下来把整个dede_archives表导入到WordPress的数据库上,使其与wp_posts同在一个数据库下。

    再次使用UPDATE命令把,把dede_archives上的body导入到wp_posts上的post_content上,以文章标题为匹配点 (前提是,你的文章标题都是唯一的):

    1. UPDATE `wp_posts`,`dede_archives`
    2. SET `wp_posts`.`post_content`= `dede_archives`.`body`
    3. WHERE `wp_posts`.`post_title` = `dede_archives`.`title`
    复制代码

    3. 文章点击数导入

    在WordPress上安装一个叫Simple Hit Counter的Plug-in,这样数据库里就出现一个叫wp_hitcount的表。

    在wp_posts增加一个叫hits的column,然后把dede_archives上的点击数click导入到wp_posts的hits上,仍然以标题为匹配点。

    最后把wp_posts的hits导入到wp_hitcount的hits上,这次以wp_posts的ID和wp_hitcount的pid为匹配点。

    常见问题

    1、把rss.xml导入wordpress时提示不能获取文章id

    Rss.xml编码如果和wp系统的编码不一样,在导入wp时,就会提示不能获取文章id。例如你用的织梦是gbk版本的,而默认的wp是utf版本,就会提示这个错误了。

    解决方法:很简单,如果你用的是织梦gbk,那么生成的rss.xml就是gbk的,用dreamwear等编辑工具,把rss.xml改成utf的,之后导入wp,问题就解决了。

    2、导入rss.xml的文章数量限制

    当你的织梦内容很多时,例如有好几万篇文章,那么导出的rss.xml中也就包含几万标题。在导入wp时,在导入到2000左右就会卡住,不能导入了。

    解决方法:很简单,只要把rss.xml重复导入到wp就可以了,因为第二次导入rss.xml时,第一次导入的内容会被跳过,第二次会导入新的内容,重复导入几次后,rss.xml就完全导入成功了。

    3、如果织梦数据导入wordpress后,wp网站首页内容显示正常,但内容页没有显示内容。

    这应该是你wp的固定连接问题,解决方法:wp后台——设置——固定连接,修改成默认,问题就解决了。

    4、在文章全文导入的时候,可能由于文章数量很多,一次性执行sql语句后导致mysql直接挂掉了(这个看各自服务器性能,魔扣科技的这个客户用的是win主机,性能并不好),所以无奈只能分批次来转换,例如通过wp_posts表里的ID区间来分批转换。

    UPDATE wp_posts,dede_archives SET wp_posts.post_content = dede_archives.body WHEREwp_posts.post_title = dede_archives.title and wp_posts.ID < 501

    UPDATE wp_posts,dede_archives SET wp_posts.post_content = dede_archives.body WHERE wp_posts.post_title = dede_archives.title and wp_posts.ID < 1001 and wp_posts.ID > 500

    以此类推,看你文章多少来决定,我每次执行时间是2两多钟。。。而且在导入过程中还会出现error,提示字符串的问题。


    会员购买:>> 点击购买 << | 魔扣币购买:>> 点击购买 <<
    承接业务:服务器代维丨网站托管丨SEO
    联系客服:微信:morko-net | QQ:1367681973

    该用户从未签到

    3

    主题

    231

    回帖

    465

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    231
    贡献
    231
    威望
    0
    发表于 2017-6-15 10:20:05 | 显示全部楼层
    没人回帖。。。我来个吧

    该用户从未签到

    4

    主题

    259

    回帖

    522

    积分

    高级魔扣

    Rank: 4

    魔扣币
    259
    贡献
    259
    威望
    0
    发表于 2017-10-7 23:19:45 来自手机 | 显示全部楼层
    我天天踩你不后悔,踩的你空间人声沸。时时访你不疲惫,访的你博客人陶醉。分分看你不觉累,看的你博友排成队。秒秒愿你都秀美,魔扣源码论坛祝福你年轻又妩媚。

    该用户从未签到

    2

    主题

    258

    回帖

    518

    积分

    高级魔扣

    Rank: 4

    魔扣币
    258
    贡献
    258
    威望
    0
    发表于 2017-12-19 08:04:16 | 显示全部楼层
    真诚的朋友虽然遥远还是心绪相牵!纯真的友谊即是难聚仍然温馨美甜!魔扣源码论坛祝福好朋友事事顺心如意快乐天天!远方的我时时为您衷心的祈祷祝愿!

    该用户从未签到

    0

    主题

    245

    回帖

    490

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    245
    贡献
    245
    威望
    0
    发表于 2018-5-25 20:32:31 | 显示全部楼层
    太给力了,永远支持魔扣源码论坛!

    该用户从未签到

    1

    主题

    245

    回帖

    491

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    245
    贡献
    245
    威望
    0
    发表于 2018-10-24 10:40:21 来自手机 | 显示全部楼层
    突然好想你,想来看看你好不好,不管你在做什么,魔扣源码论坛记住有人一直在挂念着你哦!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表