Subscribe to
Posts
Comments
NSLog(); Header Image

WordPress Likes and Dislikes

As you likely know, I've recently converted from MovableType (MT) to WordPress (WP) here at NSLog(); primarily as a "test run" for eventual movement of The Sand Trap. The move was not without its difficulties, and even as I write this entry days later, I've still not truly completed it.

Having used MT for so many years, I've come to understand it rather well. Unfortunately, it's that understanding that led me away from it. But having all that experience with MT made the differences between MT and WP stand out quite quickly.

What follows are lists of the good and the bad, my likes and dislikes less than a few weeks into using WP as my blogging platform.

Things I Like about WordPress

Support for "Pages"
I haven't made use of the feature yet, but I like that WP has both entries and pages, If I had this feature in MT, my "About Me" and "Disclaimer" pages wouldn't exist at some /yyyy/mm/dd/ URL.

WP-Cache
I like the flexibility of serving static/dynamic hybrids. I can shove a page up for six hours, then append ?-refresh to the URL to allow me to see changes I might be making to a template. I like the decreased server load, the /. or digg readiness (not that I write anything worthy), and the ability to include dynamic portions.

Server Loads
It was not uncommon under MT to have 40 mt-tb.cgi scripts sending my server loads to 30, 40, and even 70+ (!!!). With WP, my server loads are way, way down to the low single digits where they should be.

Speed
A search for "Something" in MT took nearly three minutes on my blog (while the same search in the admin area took about 15 seconds). The same search on the WP-powered NSLog(); takes about two seconds. Virtually everything in WP takes fractions of the time similar tasks took in MT.

Rebuilds a Thing of the Past
In MT, any change made to my "Individual Entry" template required a rebuild of some individual entry (see "Speed" above). When I was done modifying the template, I'd have to sit through a lengthy rebuild process of every individual page. In WP, it's simply a matter of deleting the cache (or, if I'm feeling lazy, waiting until cached pages expire).

A More Sensible Database
MT's database was an overwhelming blob (no pun intended) of garbage strewn over 22 tables took and 17.8 MB of space. My WP table occupies only 10 tables and 13.4 MB of space and is arranged in a far more sensible fashion.

Spam (or Lack Thereof)
The MT Akismet plugin helped a little, but Akismet seems to work a lot better on WP. Only one spamment has gotten through. This may change over time, but early results are encouraging.

Ability to Post Via Email
I'm not likely to use the ability to post via email. If I can get to email, there's a very good chance I can visit my site and post normally. I don't have a BlackBerry or any other sort of "thin" email client, and I don't know that I ever will. Still, it's nice to have the option.

Theme Switching
Click. Boom! A new theme! The library of themes (with thumbnails) and one-click application is much, much better than MT's method (if you can call it that).

Plugins in One Folder
In MT, it's not uncommon for a plugin to require installation in two or three separate folders. In WP, almost every plugin is a single file. Those that take more than one file are in a single folder. In both cases, the files go in one place: wp-content/plugins/. Easy.

Things I Dislike about WordPress

Comment Feed Doesn't Name Authors
My MT comment feed template listed the "Author" of each comment. The default WP comments feed titles each item "Comment on [Title] by [Author]". I very much prefer being able to sort by the "Author" field. Instead, a bunch of "Unknown" people have posted comments. I can probably fix this, but it should be better by default.

Can't Turn Off Grandma Mode
I don't want curly quotes, I don't want "&amp;" entities displayed as "&", I don't want to see "Jos&eacute;" written as "José", I don't want to ever see "&#38;", and I don't want to see "&hellip;" written as "…". When I type &lt;!-- something --&gt;, I expect it to stay that way, not be gobbled up by WP and handed to the browser as an invisible comment <!-- something -->. I access my WP database from all sorts of apps and through a variety of interfaces. The odds that one of them might muck it up are great.

Here's a picture of how the above paragraph looks when it's copied from phpMyAdmin, for example:

Wp Screwed Up HTML

Tag-Eating Import
This one cost me hours and hours of repair time. Fortunately, someone filed a bug on my behalf and before I'd gotten around to it, so I hope it's fixed in later versions.

Lack of Local Import
Instead of forcing me to split my 14 MB MT export into about 20+ files, I would have preferred a way to upload the export.txt file and have WP import it in one shot, perhaps from the command line or by specifying the path to the local file in a web interface. Only MT's inherent (and vast) suckiness made me muddle through eight to ten separate WP import abortions.

Cluttered Notification Emails
I prefer the emails MT would send when new comments were posted, TrackBacks needed moderated, etc. I do appreciate that WP includes links to approve or delete items right in the email… I just wish the content looked a little more attractive and made better use of whitespace (primarily to separate those two links from each other). I'm finding it difficult to quickly determine where a comment begins and ends in WP's emails.

Ugly Themes
A lot of the available WP themes are pretty ugly. Fortunately, I was able to find the Misty 2.0 theme, which I've hacked to suit my taste.

Not as Many API Hooks
WP plugins don't seem to have quite the same accessibility as MT plugins. Some plugins - like the "Subscribe to Comments" plugin - work beatifully and much more easily than their MT counterparts. Others don't. I think the WP API is about a step behind MT's.

Ugly Admin/Authoring Interface
I want a larger editing box. I don't want to have to scroll to see all of my categories. I want to see a table-like view of my comments similar to MT's comment/TrackBack listing.

<-- more -->
MT has an "Extended Entry" field. WP simulates this functionality with a <-- more --> comment. L-A-M-E! Here's to hoping WP addresses this glaring hole soon.

No Comment/TrackBack Segregation
Comments are TrackBacks, at least as far as the admin interface is concerned. They're two totally different things to me, and I wish they were treated as such by WP. Yes, you can get at a comments "comment_type" and check to see if it's == 'pingback' in your code, but good luck administering them differently.

Safari Bias?
In Firefox, I can resize the entry area. Buttons are provided for me. In Safari, I see none of this. This may be TinyMCE's fault, but WP uses it, so I blame WP.

16 Responses to "WordPress Likes and Dislikes"

  1. What I feel is sorely lacking in blog applications is a common exporting scheme for entries, comments and metadata, so you could just export from one application and feed it straight to another. I'm tired of googling for various export/conversion hacks.

    While I do like WP, I've been thinking about checking out Mephisto.

  2. I'm heading out the door, but I bookmarked this for later. Will respond to these point-by-point. You have some good suggestions in here. Thanks for making them, and welcome to the community! 🙂

  3. Interesting post. I had considered purchasing MT when I decided to switch from Blogger, just because I remember it being popular back when blogging was something fresh and new. I guess I made the right choice with WP.

  4. Hm, I assume the trouble you had with import-through-uploading was with script timeouts? If so, you probably could've done an easier hack by temporarily increasing the maximum execution time for PHP scripts. Although with 20+ files it seems you'd need to run the script for more than 10 minutes, where I think you'd hit upon the Apache timelimit halfway there.. So yeah, not the best solution anyway, but at least it could probably have saved you a few files 🙂

    And of course, this is not a general solution for WP itself.. A CLI-script for imports from files located on the server would be better as you say.

  5. For the Grandma mode...in the WP admin interface, go to:

    Options --> Writing

    Uncheck: "WordPress should correct invalidly nested XHTML automatically"

    Would that do it? I've got it disabled here because it messes with any HTML or PHP I insert into a WP page (I think).

    The other thing I've turned off is in:

    Users --> Your Profile

    Uncheck: "Use the visual rich editor when writing"

    I think the Safari one is either crippled or disabled, but Safari is my primary browser anyhow. I'm positive this one messed with my PHP code in a page, which is why it was off for me almost immediately when the feature was introduced.

    You're right, it's TinyMCE's fault...the competitor (also open source) to TinyMCE, which is called FCKeditor, also can't seem to get Safari supported (they claim it's issues particular to Safari). I prefer MarsEdit, personally. Not free, though, but it would also solve the issue you had with the posting box width (which bothers me, too).

    It's tough to find a really good WP theme, that stands out...but the nice thing is, more are showing up. The official themes site seems to list themes that all look the same...you're better off Googling yourself, for something truly original. Some sites solely track new themes and plugins, such as this one:

    http://weblogtoolscollection.com/

    (worth checking out - I had another in my bookmarks that I need to track down)

    You can segregate comments and trackbacks within the theme, I wish I knew how to tell you how...but I know it's possible (check out my site - it's running K2: http://getk2.com/ ).

    I'm confused about the "extended entry" thing. You mean, there were two boxed in MT, where you'd write half your entry in one, and half in the other? Or you could put a teaser or small summary in one box, and the full post in another?

    The teaser box is there in WP, click the + sign on "optional excerpt", below the posting box.

    The "more" HTML tag is what LiveJournal has used for a while now, that's probably where WP got the idea. How does MT do it differently?

    I know some people say this sometimes as a retort, and please understand I don't mean it like that...but the code is available for WP, and if you change something for the better, chances are it'll make it into the next version if it works well (and it won't be confusing for the next person, hopefully).

    Here's the Suggestion forum, if you'd really like to try to get something changed/improved and would rather not delve into the code:

    http://wordpress.org/support/forum/4

    🙂

  6. I actually much prefer the ability to put a separator in the text.

    The biggest complaint I had about the switch to WP was the lack of polish that existed on the admin interface. (The admin interface is a whole heck of a lot more organized than the one in MT--theirs just seemed have things constantly patched onto the side.)

  7. [quote comment="19855"]Uncheck: "WordPress should correct invalidly nested XHTML automatically"[/quote]
    That's been off and it's not what I'm talking about.

    [quote comment="19855"]Uncheck: "Use the visual rich editor when writing"[/quote]
    That's also off. Neither has any affect on what's stored in the database and neither has any affect on curly quotes, conversion of two dashes to an em dash, conversion of ampersands to #38, etc. Basically, I want an option to disable a lot of WordPress's "pretty-ifying" stuff. I don't want my data mucked with in the database. I want plain 7-bit text.

    It seems that perhaps changing UTF-8 to iso-8859-1 or something might help, but I'm not certain.

    [quote comment="19855"]Not free, though, but it would also solve the issue you had with the posting box width (which bothers me, too).[/quote]
    I post via ecto, primarily. Still, it would be nice to have the features, even if it's just for other people I know.

    [quote comment="19855"]You can segregate comments and trackbacks within the theme[/quote]
    I know that I can. That's beside the point - that the administration of them is made more difficult because they're lumped together.

    [quote comment="19855"]I'm confused about the "extended entry" thing. You mean, there were two boxed in MT, where you'd write half your entry in one, and half in the other? Or you could put a teaser or small summary in one box, and the full post in another?[/quote]
    Yes, two boxes. See this image for an example. It's not an excerpt. WP lacks the capability to do what MT did, and tries instead to get by with the lame "more" comment line.

    [quote comment="19855"]I know some people say this sometimes as a retort, and please understand I don't mean it like that...but the code is available for WP, and if you change something for the better, chances are it'll make it into the next version if it works well (and it won't be confusing for the next person, hopefully).[/quote]
    The change for <!-- more --> will affect a lot of people and a lot of themes. Such a change would need to come from within, and would likely be held for a major revision, like 2.5 or 3.0 or whatever.

  8. Can't Turn Off Grandma Mode

    All the curly quotes and such are all done via output filters, i.e. none of that stuff is stored in the database. Don't like them? Simply remove the filter -- easy as that:

    remove_filter('the_content', 'wptexuturize');

    Either throw that in a tiny plugin of your own or try out this plugin

    Not as Many API Hooks

    You sure about that? What are you wanting to do? There are very few things you can't do via a plugin and if it really does turn out you can't do what you are trying to do via a plugin, make a ticket on Trac and there's a very good chance it'll get added. 😉

    Ugly Admin/Authoring Interface

    Options -> Writing to control the size of the write box.

    Use a plugin and the admin_head hook to put some CSS into your header to customize the admin area. You could even go all out and get a plugin that completely redoes your admin area such as this one. No file editing required of course. 😉

    <-- more --> = lame

    Uh, okay. How is it lame? And if you don't like it, you can always replace it's functionality with a plugin.

    Safari Bias?

    It's none of the above. It's the fault of crappy Safari which until recently was not support cursor-aware in Javascript and would crash the browser if I remember correctly.

  9. [quote comment="19914"]Either throw that in a tiny plugin of your own or try out this plugin[/quote]
    Done. Thanks. That plugin seems to be just what I needed.

    The point remains that this should be something within my control in the base system. I shouldn't have to get a plugin for the simple or important tasks.

    [quote comment="19914"]You could even go all out and get a plugin that completely redoes your admin area such as this one.[/quote]
    I have that very thing installed. It's still ugly. And I shouldn't have to hack apart something for the base functionality to work. A scrolling list of categories - and I don't have that many - is silly.

    [Re: "<-- more -->"]Uh, okay. How is it lame? And if you don't like it, you can always replace it's functionality with a plugin.[/quote]
    No, I can't, because that's the way it's set up in the database. MT had separate fields for the entry and the extended entry. Dropping back to only sucks.

    It's lame because not every theme supports the comment-tag-as-extended-entry idea. It's lame because I've gone from having more information about my setup to less (being able to run different filters, etc. on different fields). I've lost information in the process, and not to gain functionality, but to move to a worse system. How anyone could not think it's lame is beyond me. Suggesting I write a plugin is silly - it's "post_content" in the database. I'm not going to hack WP to create post_content_extended.

    That's something the authors and maintainers should have done.

    [quote comment="19914"]It's none of the above. It's the fault of crappy Safari which until recently was not support cursor-aware in Javascript and would crash the browser if I remember correctly.[/quote]
    Exactly: it's worked since August (and my own recollection from using MT's editing bar suggests that it's been longer than that), yet the changes still haven't been included in WP despite just releasing 2.0.5.

    An addition I'd like added to the list of dislikes: removal of "nofollow" tags. I'm diligent about not allowing spam on my blogs, so nofollow is counter-productive to me.

  10. For me WordPress' code soup is my major gripe, unless it changed in the past 6 months of course.

    Lots of the back end is a real mess and the themes are a mix of code and presentation.

    I got into Textpattern simply because its templates are über simple and it seemed to be built with a sensible and architected backend.

    However since then I am leaning towards a Rails solution like http://mephistoblog.com/. It's just nice how the templates are clean and the backend is easy to hack. It is however not as easy to host as Rails is not something all hosts will provide whereas PHP is.

  11. You sound like a grumpy old man. 😛

    The point remains that this should be something within my control in the base system.

    No, WordPress is setup for the average user. Sure, we could include an option for that and a bazillion other things, but you gotta draw the line somewhere. Simplicity of the core is key if you ask me. If you want a feature, add it. Simple as that. 😉

    No, I can't, because that's the way it's set up in the database. MT had separate fields for the entry and the extended entry. Dropping back to only sucks.

    I believe that's the point of the excerpt...

    yet the changes still haven't been included in WP despite just releasing 2.0.5.

    http://trac.wordpress.org/ticket/3051

    I'm diligent about not allowing spam on my blogs, so nofollow is counter-productive to me.

    remove_filter('pre_comment_content', 'wp_rel_nofollow', 15);

    Anyway, as I said, if you don't like how WordPress does something, by all means, please go open a ticket. Everyone and anyone can contribute to WordPress. Hell, even a little ol' user like me has gotten quite a bit of code I've written into the core. 🙂

  12. [quote comment="19940"]No, WordPress is setup for the average user. Sure, we could include an option for that and a bazillion other things, but you gotta draw the line somewhere. Simplicity of the core is key if you ask me. If you want a feature, add it. Simple as that. ;-)[/quote]
    When I have the time, I probably will. Until then, I'm simply interested in solving the immediate problem of getting this site up and running with good/proper/etc. functionality.

    [quote comment="19940"]I believe that's the point of the excerpt…[/quote]
    No, it's not. And you've ignored the fact that I've effectively lost data - or easy/easier manipulation of my data - in the migration, and that's what stings most, not the actual utility. MT had an excerpt, entry, and extended entry field. WP has only two of those three.

    [quote comment="19940"]http://trac.wordpress.org/ticket/3051[/quote]
    So it may be fixed in WP 2.1, which will be out who-knows-when despite this "bug" having been fixed in Safari for four months already. That's not impressive.

    [quote comment="19940"]remove_filter('pre_comment_content', 'wp_rel_nofollow', 15);[/quote]
    Thanks, but again, this is a feature I feel should be user-defined by default.

    [quote comment="19940"]Anyway, as I said, if you don't like how WordPress does something, by all means, please go open a ticket.[/quote]
    It takes longer for me to open tickets because, as a software developer myself, I tend to spend an inordinate amount of time looking for duplicates so as to avoid causing other people unnecessary work.

  13. BTW, after searching, it seems that a better plugin for removal of all "nofollows" is the "DoFollow" plugin.

    The remove_filter('pre_comment_content', 'wp_rel_nofollow', 15); option only removed a small percentage of the "nofollow" tags.

  14. Viper, I do appreciate the help. Certainly you can appreciate how overwhelmed I might feel right now, attempting to learn a new blogging system after being very comfortable with another system.

    I've put up a new post detailing the plugins I currently have installed. Fewer than I thought, really, and yet more than I ever had in MT. Some, like Footnotes and Quoter, add new functionality. Others fix what I would still consider "holes" in WP's capabilities or settings.

  15. Viper, I do appreciate the help. Certainly you can appreciate how overwhelmed I might feel right now, attempting to learn a new blogging system after being very comfortable with another system.

    No, I get where you're coming from. You're used to what you had.

    I'm on the other side of the fence though -- I've been using b2 based blogging software for 4-5 years now (b2 -> b2evo -> and then finally WordPress a year ago). I'm just so used to it and as a result, I know I end up being biased towards it.

    I do have to agree with you though about the curly quotes. That should be an option built in.

    Anyway though, I stand by my statement though that WordPress should be as light as possible. I don't get what's so bad about having to install a plugin if you want a feature. Sure, WordPress may not be able to do something out of the box that MT could, but seriously, so what? It's a lot easier to add a feature than remove it.

    Take for example one of my very popular sites that uses WordPress for it's news. I don't need tons of crap, I just need it to output posts and that's it. Having it light and to the point allows me to only have the features I need. I don't need anti-spam protection (comments are off), I don't need excerpts and crap (my posts are short and I make use of more-tag), etc.

    I, and I think the developers of WordPress do too, look at WordPress as a frame. It's just a "basic" engine to run a blog with some standard features and that's it.

    I hope you get my point. I suck at making points and I ramble. :/

  16. I hate the smartquotes filter with a passion.

    How the heck are you supposed to post code samples when they can't be cut-and-pasted into a text editor properly?!