63 Comments


  1. ·

  2. ·

    Amazing!
    I did kinda move from typo3 to wordpress with primariamedias.ro (~700 posts and ~300 pages).
    I also used a lot of regex for filepaths manipulations. I’ve managed to make the conversion by exporting all the posts data into rss/xml. One of the major problem was localization, bbPress and WordPress do not understand each other when it comes to localisation of an integrated version of these two (again the wp team didn’t payed enough attention to this fact).

    Of course, there’s a lot to thank wp team for the plugins system! Anyway, you did really amazing work!!!

    Good luck!


  3. ·

    Thank you so much for writing this up. There are a lot of useful tips and tricks in here for us other WordPress users!

  4. Jim
    ·

    Hey, any tips on how to make those pretty load graphs?


  5. ·

    I used to love MT, but man did they drop the ball. We’ve been migrating all the MT installs to WordPress over here too.

    It’s nice not worrying about your mt-search.cgi, mt-comments.cgi, and mt-tb.cgi scripts consuming obscene amounts of system resources.


  6. ·

    Thanks for the deep info on the migration, the list of plug-ins used and the special requests of the team! I’d like to give massive kudos for the nerdy details as I am myself a network admin/minor web techie. Cheers!


  7. ·

  8. ·

  9. ·

    PJ – Dropped the ball… sort of. But the fundamental problem is the basic CGI architecture. There’s no good way to fix that without throwing it all away and re-building from scratch in another language.

    Where do you work again?


  10. ·

    @Jim – the pretty graphs come from a little script called loadavg. It’s designed for VPSs only, and you’ll need root access to run it.


  11. ·

    “There’s no good way to fix that without throwing it all away and re-building from scratch in another language.”

    FastCGI addresses a lot of the shortcomings of CGI. Although it’s not perfect, it certainly rises to the level of a “good fix.”

    Paired with a FastCGI-aware httpd (e.g. Lighttpd) and CGI is quite smooth.


  12. ·

    Indeed, SixApart recommends moving to FastCGI for sites suffering from performance problems. But that’s just it – you need to tweak your server setup to match the platform, which is annoying. And some (most?) web hosts may not even allow FCGI at all.


  13. ·

    Ha! Pretty cool that your MT permalinks worked due to that canonical redirect code. Believe it or not, that wasn’t the actual purpose of that code — it was meant to handle things like plain text e-mail mangling WP URLs (e.g. wrapping in the middle of the post slug). Bonus!


  14. ·

  15. ·

    I would be very interested in the “CDT Docs” plugin you mention. Is it available somewhere?Documenting the way to use the site would be a must for the site I maintain.
    Thank you in advance!


  16. ·

  17. ·

    @Mark Jaquith – Intentional or no, you’re my hero. Seriously. The partial URL handling was such an unexpected bonus for the migration project. Thanks.

    @Yves – Sure thing – I’ve just bundled it up and put it on my site. Download here. It’s very simple, and very crude. An ideal version would let you use the native WP post editing screen to save documentation info in the db. This is just raw HTML. But gets the job done! Hope you get some mileage out of it.


  18. ·

    By the way, since we’ve got so many WP gurus watching this thread, let me throw out a support question: I can’t get the Visual Editor to work at all on the site, even with all plugins disabled. I also can’t get the Flexible Upload plugin to work, even with all other plugins disabled – it displays garbage – and its author has not been able to solve the problem. Finally, the Options | Reading option to enable/disable gzip support won’t stay checked – it just reverts immediately back to unchecked. I have a hunch these three are related, but don’t know how, or where to begin on a fix.

    If you have a clue what might be going on, or can lend a hand, I’d really appreciate it.

  19. Michael Bazeley
    ·

    I’ve found the visual editor (ie: TinyMCE) to be buggy over the years. In my experience, it’ll work fine in one browser and not another. Bug reports are filed, but because the behavior is so random or can’t be replicated, the problem goes unsolved. Have you tried a wide variety of browsers?

    Regarding Flexible Upload, it’s been a mixed bag for me ever since upgrading to 2.3. There is an images problem for some users with WP 2.3, so maybe that is connected. On my Powerbook/Camino combo, I had the plugin working fine, but on a friend’s XP/IE combo, it didn’t work.


  20. ·

    Well, I tracked down the problem today. One RedirectMatch lines in my .htaccess file, essential for maintaining old links, was also breaking the Flexible Upload plugin. So I’m working on a way to rewrite that line so it doesn’t affect wp-admin URLs. Definitely not browser-related – this is all server side.


  21. ·

    By the way, putting all your redirects in the Apache conf file is going to consume much less system resources than using the .htaccess file for your redirects.


  22. ·

  23. ·

    @PJ – Totally. I’ll move to that model (embedded redirects rather than .htaccess) after I work out a few kinks.

  24. Jeb
    ·

    Thanks for taking the time to share this, Scot. Six Apart should really pay attention. It was years ago I followed you into MT world. Then you jumped ship, and this one post really captures so many reasons why. Now if you’ll just post a similar Joomla -> WordPress summary. :-)


  25. ·

    Jeb – You followed me into the MT world? Yikes, that’s a weird thing to learn (I feel responsible). I should make clear a few things:

    – MT has its strengths
    – MT really works for people in a position to give it the extra TLC it needs (willing to alter the server environment, etc.)
    – Many of the problems I describe above could have been solved while staying on MT, if I had felt that was the right thing to do.

    As for Joomla –> WordPress: While I did do a conversion like that for the Crestmont School site, they’re such radically different systems that I can’t really speak to it. That conversion was a matter of pasting old content into the new site manually (it was small enough for that to be easy).

    While it’s true that many small sites live in overblown CMSs when they don’t need to be, and would be better served by WP, that’s not true of all sites. There’s a certain level of complexity in terms of hierarchy and layout where WP/MT no longer become the right tools for the job. Then it becomes a question of Joomla vs. Drupal vs. 600 other possible CMSs…


  26. ·

  27. ·

  28. ·

  29. ·

    Thanks for sharing this; I saw your email today on the uwebd list. We used to run some MT installations here at UT Law, but like you said comment spam got the best of them a few years back and then they moved to a commercial license, and we eventually migrated everyone away from MT.

    I use WordPress for my personal projects, and love it. Have you ever used WordPress MU as a CMS? I’m considering evaluating it, as it seems like it would be ideal for keeping down the insanity of having multiple WP’s set up all over the place while still being pretty flexible. I’d love to hear some downsides of using MU versus plain-old WP if you know of any!


  30. ·

    I’ve deployed WPMU as a multi-blog, but not as a CMS per se’. I think it could be a great solution though, and is probably very much underexplored.

    As for handling lots of scattered WP installations, I check them all out with svn then just keep a record as an array in a script I wrote. When upgrade time comes, I’m able to upgrade 50+ installations in about three minutes flat. So it’s really no hassle as long as you stick to the system.


  31. ·

  32. ·

  33. ·

  34. ·

  35. ·

  36. ·

  37. ·

  38. ·

    It’s really not fair to blame Movable Type as a CMS for the performance problems caused by a plugin. As to the claim of 15 minutes to publish a single new blog post, I would have to see that to believe it. In any decently designed template set, an update shouldn’t take longer than a matter of 10-20 seconds for something as simple as posting a new blog post. It sounds to me like you built up a lot of dependencies that had to be met with each rebuild.


  39. ·

    MikeT: To be clear – I definitely could have improved the situation by optimizing the MT setup, having certain templates generated statically by cron, or as PHP includes, etc. But with all of MT’s hassles and shortcomings, it didn’t seem worth it. We would have migrated to WP even if we hadn’t been facing this particular issue. As for 15 minutes… yep, you had to see it to believe it. It just got progressively worse over the course of two years as the number of tags and tagged entries grew, until the situation was unbearable.


  40. ·

  41. ·

  42. ·

  43. ·
  44. Annette
    ·

    shacker!!!

    how funny to find you by accident as i ponder my static > WordPress image migration problem. good to see you you in the mix. And I hope you and the family are more fabulous than ever.

    I have an unholy WordPress crush at the moment. It gets worse every week. I’m sure my friends are plotting an intervention!

    I’m in the middle of setting up WordPress as a CMS for the wads of content in our two main online exhibitions at NSW Migtation Heritage Centre. At the moment it’s static and I’m hand sorting all pages. Arggg!

    – Annette from the old days


  45. ·

    Annette! How great to hear from you. WordPress is an addiction, no doubt. Is there any problem it can’t solve? I’m having trouble finding examples. :) Looks like you’ve mastered it quickly. Let me know if you have any Qs!

    Antiweb misses you.


  46. ·

    Thanks for the offer – I may well have questions. See how I go with my plan to move over all the images.

    As for the addiction… it started when I realised WordPress would make a nice CMS for simple sites (mid last year). It got worse when I realised the power of Custom Field GUI / Fresh Post. Then – just when I thought I might have a chance of resuming a normal life – along comes 2.5! I’m doomed!

    I think I’ve spawned about 10 WP installs in the last month! Nothing much live yet, but I’m frantically moving old clients over so they can look after their own stuff.

    I moved the ‘band’ section of http://songpod.com.au over to WP last year, but I think the time has come for me to move the whole site over.

    I was just thinking of Antiweb last night… lurking is probably an understatement at this point. Is there a word for oblivious, automated lurking? The emails go straight into a folder that I never see. Terrible!


  47. ·

    I’ve deployed WPMU as a multi-blog, but not as a CMS per se’. I think it could be a great solution though, and is probably very much underexplored.

    As for handling lots of scattered WP installations, I check them all out with svn then just keep a record as an array in a script I wrote. When upgrade time comes, I’m able to upgrade 50+ installations in about three minutes flat. So it’s really no hassle as long as you stick to the system.


  48. ·

    Rusya – Your svn checkout array sounds very similar to a script of mine called WP-Mass-Upgrade, which is built expressly for this purpose! And yes, it feels great to be able to upgrade 50+ installs in a few minutes. A far cry from the all-manual days of yore…


  49. ·

  50. ·

    I think I’ve spawned about 10 WP installs in the last month! Nothing much live yet, but I’m frantically moving old clients over so they can look after their own stuff.


  51. ·

    Thanks for the offer – I may well have questions. See how I go with my plan to move over all the images…

  52. swork
    ·

    Hey, I think PHP uses perl-style regexes – so each “[0-9]*” says “Match zero or more [0-9] characters.” Several in a row doesn’t do anything different than a single one – it’s matching any number of digits for year and any number of digits for month. For /yyyy/mm/ I think you want “/([0-9][0-9][0-9][0-9])/([0-9][0-9])/” (or, for bonus points, “/([0-9]{4})/([0-9]{2})/”).

    But consider that what you have is working before making any changes…


  53. ·

    Thanks for the write-up. I was especially interested in the description of the rule-based redirects so you were able to avoid a large list of urls.


  54. ·

  55. ·

    I would love a copy of your htaccess redirect rules … so that I can improve my methods.

    RedirectMatch Permanent ^/tag/(.*)\+(.*)$

    http://chinadigitaltimes.net/tag/$1-$2

    My actual rules are a bit more complex, as they account for the possibility of tags and authors consisting of 1,2,3 or 4 words. Ask me if you’d like a copy.

    Could you email me a copy please? Thanks so much.

    I typically hard code 301’s for my biggest inbound link pages to leave nothing to chance, what do you think on that?


  56. ·

    Data – Sent you a copy of the full .htaccess, hope you find it useful.

    As for hard-coding rather than using .htaccess, I don’t think it has anything to do with “leaving things to chance” but it should have a small performance benefit.


  57. ·

    I recently moved a MT blog to WordPress. I used the wordpress plugin “redirection” to handle all of the 301 directs which made it very easy. I was also able to redirect users trying to hit the old MT Search engine, capture and forward their search request to the new wordpress search engine. I have a post with some sample regular expressions up here:

    http://www.iainlbc.com/2010/04/forward-old-movable-type-search-traffic-to-wordpress-search-engine-using-redirection-plugin/

    Cheers and nice post Scot

  58. büşra pekin
    ·

    Laurentiu – If you’re managing 10 installations, be sure and check out WP-Create and WP-Mass-Upgrade. . You’ll save yourself a lot of management hassle.

  59. tatil
    ·

    PJ – Dropped the ball… sort of. But the fundamental problem is the basic CGI architecture. There’s no good way to fix that without throwing it all away and re-building from scratch in another language.

    Where do you work again?

  60. cell phone stun guns
    ·

    I would be very interested in the “CDT Docs” plugin you mention. Is it available somewhere?Documenting the way to use the site would be a must for the site I maintain.
    Thank you in advance!

Leave a Reply