Neil Turner's Blog

Blogging about technology and randomness since 2002

Why I’m not switching to WordPress

Now that I’ve announced the book, I’ve had a couple of emails on the lines of “So I’m guessing you’re not switching to WordPress now, huh?”, and indeed I’m not. The book, however, is not the only thing that’s keeping me with MT and I’d like to use this (rather long) entry as a list of reasons why I’m not likely to switch any time soon.

Firstly, MT is what I’m used to. As of the middle of next month, I’ll have been using it for 2 years – whereas I’ve been using WordPress for less than 3 months. It’s the same reason why I use Windows as opposed to Linux – sure, Linux may be more secure and less likely to crash, but I know how Windows works and I feel comfortable in that environment.

Secondly, there’s the templating system, which I’m afraid to say, sucks. Again, maybe I’m just used to how MT works, but altering the way comments display in WordPress requires a lot more time and knowledge than it does in MT. In MT, the templates are totally separate from the MT source code – in WordPress, that separation isn’t so finely defined. Indeed, when you edit wp-comments.php (in 1.2) you’re faced with a 20 lines of PHP that you can’t edit before being able to dig in. And even then, you get comments like “if you delete this the sky will fall on your head” – hardly reassuring for a newbie.

Want to alter how the RSS feeds display? Then you have to edit a page with lots of PHP code which can’t be removed for fear of the sky falling on your head, and with a warning about this being an integral part of WordPress. You also need to know what the file is called since it’s not linked in the WordPress interface. Adding new pages, especially new types of feeds, seems to require a good understanding of PHP – adding a new template in MT is far, far easier.

WordPress isn’t all bad though, and it’s a whole load easier to install than MT is. In fact, a newbie to blogging* would be better off installing WordPress than MT, and includes nice blog-centric features like a links manager. But if you want to control how your site displays and don’t know much PHP then MT is the way to go, in my opinion.

(* = a newbie to blogging would really be better off on a service like Blogger or Typepad, but if they wanted something they could run themselves, WP would be easier than MT)

WordPress also wins on the comments front, despite what I said above, since it has much better comment management features built-in (although in 1.2 they are rather hidden away). That said, MT is brilliant once you have MT-Blacklist installed, since it deals with all the duplicate comments and spam perfectly, but that isn’t included out of the box (though it will be available with MT 3.1).

Rebuilds seem to be a bone of contention with some – if your web server isn’t so fast, they can take forever. I’ve never really had that problem as my host’s servers seem to run well (and I have optimised MT a bit to make it faster) but some people do find that rebuilds take forever for them. With that in mind, I suggest you wait for MT3.1 which adds support for dynamic pages. This will give you the best of both worlds – pages that get requested often like your indexes and feeds can be static, whereas other pages can be generated on the fly as needed. Sure, you can install a caching plugin for WordPress but it’s not something that’s there out of the box (in 1.2, at least). The result is that rebuilds will be much quicker since only 2 or 3 files are being regenerated each time, plus, unlike in WordPress, you won’t have the PHP preprocessor kicking in and doing an SQL query every single time someone requests your RSS feed.

Rebuilds are also quicker in MT3.x due to its more efficient use of SQL queries and background tasks. Since upgrading to MT3, this site has been a whole lot faster, though I am working a new search script to replace mt-search which is a little slow.

Both packages have plugins and while WordPress kicks MT2.x’s arse in that respect, MT3.x does have much better plugin support and many more hooks to allow developers to integrate their plugins with the MT interface without needing to modify the MT source code (detect a theme here?). For example, with MT-Blacklist installed, the comments mass editor has a ‘despam’ link added for running comments through the blacklist and removing the bad ones. As more plugins designed for MT3.x are released I’m sure we’ll see some truly great plugins that integrate tightly with MT.

MT’s help is better. There are some very extensive help documents provided with MT, whereas WordPress has a few links back to its rather sparse documentation pages on its web site. There’s also the wiki but like many wikis it suffers from a lack of structure, and some areas are quite patchy, in my opinion. Trying to have information only display on an individual entry page meant having to use a seemingly undocumented PHP function, for example. Apparently the #wordpress chat room is a good source of help but I’m not comfortable with asking for help in chat rooms and it assumes that you have an IRC client and that you’re on a connection that doesn’t block IRC like my university does.

This is getting quite long but as you can see, I have my reasons for not switching. What this isn’t is a “WordPress sucks and I can’t believe you all use it” rant, it is merely pointing out that WordPress is not for me. I’m sure that when WordPress reaches maturity it’ll be much better and I may give it another look when it hits 2.1 or something, but I’ve yet to be totally impressed. MT is at 3.01 now and feels much more mature than WordPress does. That said, my test install isn’t about to disappear any time soon, though a test install is what what it will remain.

I’ll leave comments open on here – I know this may seem controversial to some of you so please play nice.

19 Comments

  1. You’ve convinced me. I’ll be migrating from 2.661 to 3.1 one it comes out. I’ve been playing with WordPress, too, and, just like you, MT is what I’ve become accustomed to. I’m comfortable with it. Granted, I know far more about PHP than I do Perl, so it was a *bit* easier for me to get around in there than it was initially for me in MT, but I really don’t feel like rebuilding things at this point.

  2. Despite having switched from MT to WP, I would agree with all that you have said! My only (real) reason for switching to WP was that I needed to learn PHP and FAST and this seemed a good way to help me.

  3. Thanks for your honest write-up. Several of the things you mentioned come up somewhat frequently, and if you don’t mind I’d like to address the some of issues you mentioned, issues that myself and the other WordPress developers are acutely aware of and working to address.
    Familiarity is an important aspect in making any decision, I don’t think anyone would fault you there.
    The template system is a mixed bag. On one hand the current system is very, very fast. On the other hand the syntax can be challenging for new users. There are two efforts underway right now to address this, both with the same core underpinnings. In 1.3 the template functions will be structured in a way that makes them easier to build on top of. Donncha is working on re-integrating Smarty on top of WordPress, so that path will be optionally available to those who prefer Smarty. (I’ve seen the code for this and it’s great, it’s completly automatic.) The other option came up on the wp-hackers list is being called EasyTags, which is basically like a PHP lite syntax, an HTML-like syntax on top of the current template tags. Without caching this latter method will be slower, though still fine for the vast majority of sites. The current ultra-fast PHP syntax will continue to remain available so no one will have to redo their templates and those who want every millisecond of performance can use that or Smarty. The comments is being improved to remove some of the cruft you mention (just like index.php has been improved) and I suppose the RSS templates could be similarly improved. (Though what sort of geek wants to modify their RSS templates but can’t edit source files? ;)) Adding new templates is pretty easy. For example to create a light version of your home page you could just copy index.php and take out whatever you wanted.
    Thanks for the comment on installing, it’s something we’ve worked a lot on. Not sure what you mean by “if you want to control how your site displays” though, it seems to imply something that contradicts the rest of your post.
    Rebuilding vs. dynamic is an old argument, and it seems like MT and WordPress are more alike than different these days. The overhead of generating fully dynamic pages is really trivial and not perceptible in the vast majority of situations, including sites that generate hundreds of thousands of dynamic hits per day. (I know, I run a few.) I think the Staticize plugin (included with 1.3) is a good compromise because it doesn’t require you change anything for it to work (it even works on non-WP pages) but still allows you to discretely specify what you want and don’t want cached, down to individual elements on a page.
    Documentation is a weakness of the project. While we have every user-facing function documented and interlinked on the wiki, I think there is a dearth of good tutorials walking through step-by-step how to do certain things with WordPress for new users. Luckily there are some good people working on this and several blogs such as Scripty Goddess, Wordlog, and Weblog Tools Collection that are starting to provide just that.
    Quality of support is a subjective measure, but I think the WP support forums are very friendly to all types of queries and the IRC channel usually has 50 or 60 people in it 24 hours a day. (That said, it’s still an IRC chat channel with all that entails.) Finally the developers are very accessible and provide a great deal of support directly. As far as professional support avenues go, it’s much like any open source project. For example with Apache you may hire one of the developers of the project directly or one of the thousands of people around the world that are Apache-savvy. With WordPress myself, Dougal, and Alex are all freelancers and there are hundreds of other people who could provide consulting as well. (In fact anyone who knows PHP would find it pretty easy to dive into the code.)
    Obviously I’m not trying to “switch” you or anything, your first reason alone is more than good enough to validate staying with any particular system. I do hope, however, that I’ve given you a bit to watch for in the future. 🙂 I’d be happy to expand or clarify on anything here if you have any questions.

  4. Neil I guess you hit the right spots of contention I had with WP too. I just didn’t put them into words as well as you definitely did.
    The WP templating system needs some work. I mean, I am what I’d consider a veteran PHP developer and I’m having trouble getting the templating system to do some things for me based on just the documentation. Like I said in my post you pinged, I went into the source code to look at function definitions to see what they did. I am very glad to hear from Matt that the WP devs are working on this.
    Nevertheless, I am fully appreciating the lack of time spent rebuilding (for me and for my commentors), increased speed, reduced server loads with my new WP setup.

  5. Heh so many people have been arguing with me over why I still use MT. I’ve fought back but from now on I’m just gonna point them here 😉 Exactly the same reasons why I stick to MT !

  6. Why I’m not switching to WordPress

    Why I’m not switching to WordPress…

  7. Why I’m not switching to WordPress

    Why I’m not switching to WordPress…

  8. A lot of the things you mentioned are the same reasons I didn’t switch to WP either. I prefer my templates separate from my code for the most part, though I do have some PHP code in my templates.
    Too bad I can’t lure you over to ExpressionEngine as I think it addresses most of the points you brought up about WP. 🙂

  9. WordPress 1.3, Matt habla sobre lo que est

  10. Good post Neil, and an excellent reply by Matt. Just the fact that Matt has been pro-active enough to respond is commendable.
    Both personally and professionally I have used pretty much all of the blogging systems out there including both WordPress and MT3. I would make a few additional points..
    I believe that Movabletype has been too slow to evolve. I would hope that this will begin to change now that they have switched to a more lucrative licensing model – but at this moment in time WordPress is improving more rapidly. For that reason, if budget was an issue and I were starting a new blog right now – WordPress would be my tool of choice.
    Of all the systems I have used, MT is by far the slowest to update/develop. Perhaps I do have a webhost who are using Psion Organisers as their server hardware, but others I have spoken to have similarly found this to be the case. Making a minor template change and then watching nothing happening for 10 minutes as it rebuilds 100 posts is just hopeless and when doing large scale development it quickly becomes a significant cost. So again, WordPress wins in this department.
    Wordpress documention is just not good enough in my opinion. The wiki has been of minimal use.
    But, for me the best system by quite some distance is actually ExpressionEngine. From an admin perspective it is a joy to use, has some very powerful features (custom entry fields anyone?), and is cheap enough to be considered alongside the likes of MT. The dynamic/static system it employs allows me to hack about with the templates and have them update immediately – no painful rebuilding process. Everything about EE just works better in almost all areas and seems more intuitive to me.
    The new EE 1.1 feature set has some great stuff too, Comment Expiration, Moblogging, built in Blacklist manager.

  11. Well, I’d agree with you on some counts like the templating system of WP looks a sort of mess & if you are not comfortable with PHP or are not willing to be one, it’ll be quite tough wading through it. I started using WP when I barely knew PHP beyond the print() function. I had tried MT earlier but my experience with Perl had never been good & it reflected in my inability to install MT on a Win2k machine with IIS. But though I was able to install later, it was not earlier than I had started using WP. Since I had looked at Perl earlier(it was the first thing I knew, in server-side languages), I found PHP easier to learn & master & dived straight into WP.
    Thus I’d like to take a different point of view on what you say
    But if you want to control how your site displays and don?t know much PHP then MT is the way to go, in my opinion.
    What do you imply by that? The display in WP is controlled by CSS, so you don’t need to know about PHP at all. If you mean by modifying the template, then yes, you are right about it here.
    As for the feeds, well Matt got right on you. Which non-geek blogger will be considerate about customising the feeds? Can you point to anyone? 😉
    And as for your praise about MT-Blacklist, well, its sure good enough to be appreciated but word from some ex-MT & now WP users is that they get less comment spam now than used to get with MT( MT-Blacklist in place).
    And like Matt said, rebuilding vs. dynamic is indeed an old argument, & one of the biggest things that go against MT. You said that someone with a good server shouldn’t worry about it. Well, if someone is on a shared server then he should worry about it if he’s been blogging for quite some time. I think that it was one of the reasons why Cheah Chu Yeow & Jeremy from Ensight.org, shifted to WP, the re-builds were painful with the amount of pages to be rebuilt quite high for both of them.
    And to say nothing of the rebuilds when you are spammed. MT-Blacklist or not, your server will face the heat if you are spammed quite a lot.
    But like anything else, I’m not anti-MT. A good competition leads to a good product. And we all know where our hearts lie. 😉 I’m with WP & the guys & will see it grow & become mature.

  12. Still MT

    “Why I’m not switching to WordPress”. Some reasons….

  13. Neil Turner on Movable Type and WordPress

    Neil Turner has a good post about his evaluation of Movable Type and WordPress. Matt Mullenweg (lead developer of WordPress) of addresses some of the points brought up by Neil in the comments section of the post. Neil Turner is…

  14. Well stated! I don’t agree with you entirely, but that is why we have so many options from which to choose.
    I switched from MT to WP after a year of MT for small, trivial reasons that, well, meant enough to me for me to switch. The biggest one was the interface differences — MT loaded several images every time I edited a page or did anything administrative. This bothered me both because it cluttered my logs and because I am primarily a 28k dialup user.
    I meant to convert sooner (as it was my doing so coincided with the lemming-like flight from MT when the announced the licenses and pricing) but the PHP was a sticking point for me. That is, until I realized that I’d just learn PHP, which is what I did. After all, there was a time when I knew nothing of CSS…

  15. Of course, if you want valid code right out of the box, you *have* to go WP.
    I’m sure there are still some people who don’t think that’s important, and those are the kind of people who probably deserve MT.

  16. Whoa! Might people avoid purchase of the book if they have switched to WordPress?

  17. MovableType 3.1 Launched

    I think I’m going to stick to MovableType vs. moving to WordPress (despite my previous comments), and will make the attempt (at some point) to upgrade to the newly released…

  18. Why Neil Turner isn’t switching to WordPress

    Neil Turner has posted a lengthy post detailing the reasons for why he is sticking with MT and not moving to Word Press. I have to agree with him on just about every point! — MT has done be well…

  19. Why I Switched to ExpressionEngine

    Since I announced the move to ExpressionEngine yesterday, I have had a number of people email me privately to ask why I chose EE over Movable Type and WordPress, both of which I tested out previously. Here is a quick rundown of some of the reasons for…