What I Would Do to Improve WordPress

WordPressEarlier this month the lovely Sarah Gooding published a post about the now infamous “Ghost” project. For those of you who have been hiding under a WordPress-shaped rock for the past few weeks, Ghost is a re-imagining of WordPress with a focus on pure blogging.

The brainchild of this concept is John O’Nolan, a digital nomad/designer/entrepreneur. Personally, I love what he’s done with Ghost. I don’t like all of the concepts, but I do like the energy and enthusiasm he has put into his pet project. If I were half as talented as him in terms of graphical design, I might do something similar.

But I’m not. However, I can write, and Ghost planted a little seed in my head. I often ponder on what I would like WordPress to do, and I tend to voice my thoughts sporadically (and often at random) in various posts around the web. It’s about time I brought them all together.

The Problem with WordPress

I am a blogger, I use WordPress almost exclusively for blogging, and I have my own ideas as to how WordPress should be (don’t we all?). My vision is not nearly as dramatic (or exciting) as Nolan’s, but for many months I have noted new WordPress updates with some frustration — why are argubly superfluous new features being produced whilst fundamental issues and bugs are not being resolved?

I am going to explore a bunch of ideas relating to how I think WordPress should be below, but they are all based around one central concept — the most heavily used aspects of WordPress should be 100% reliable and intuitive. Get the fundamentals right, then you can go around building theme customizers and embedded tweets.

I’m not a WordPress hater — on the contrary, I absolutely love WordPress. I make a living out of it, one way or another. But that does not detract from its many foibles, and I for one would love to see the following issues addressed.

Note: I’m not going to pretend that these ideas are cutting-edge — some of them are in fact proposed in the Ghost concept. This isn’t about me trying to break the mould; it’s simply about how I would like WordPress to be.

Interface

Let’s start by getting rid of a bunch of the meta boxes on the dashboard:

  • Right Now
  • QuickPress
  • WordPress Blog
  • Other WordPress News

I like the concept of Incoming Links, but in reality it’s completely useless:

Incoming Links
One of the links in this list is to a post that is over 12 months old.

Unless it can be improved, that should go too. In reality, the Dashboard is almost redundant and should perhaps be replaced by a launch screen, a la Google Chrome:

Google Chrome

By default this screen would present options based upon your most frequented backend destinations (e.g. Add New Post, Plugins), but you would also have the option to set it manually.

The Hello Dolly plugin should be removed for obvious reasons — it has no purpose. And no, I am not buying the argument that it somehow explains what a plugin is to new users. A brief introductory screen explaining what a plugin is would be more useful (if you want to go down that route).

As for Akismet, it needs to go to. It is not the definitive spam solution — there are alternative options used by many — and as such, it should not be present by default. Let’s not forget that this is a freemium plugin, and as such really has no right to be so closely attached to an open source application.

Finally, the WordPress community needs to initiate a drive to normalize 3rd party application usability. When plugins settings screens can be found in four different places on the backend, you know that something aint quite right. And if themes are to have their own settings screens, there should be some sort of agreed standard that can be developed to.

More Inbuilt Functionality

The WordPress core is getting bloated, so you might think it unusual that I am proposing we add more functionality. But for the most part I am referring to functionality that is (a) arguably integral to the ongoing running of most websites, and (b) already used by the vast majority of WordPress users.

I suggest that the following should be added to the core:

  • Analytics: integration with the most popular services accessible via a settings screen.
  • SEO: let’s get one of the popular SEO plugins integrated with WordPress already, shall we?
  • Redirects: to include redirects created by WordPress when slugs are changed.
  • Code Snippets: you should be able to create your own mini-plugins inside of WordPress.
  • Search: WordPress search is astonishingly bad — at the least, Relevanssi’s functionality should be built into the core.
  • Basic Security: limit login attempts, IP logging, no more default “admin” profile…
  • WYSIWYG Text Widget: why should non-programmer types be hamstrung by a featureless text widget?
  • Widget Logic: ’nuff said.
  • Tables: we should be able to build tables in WordPress without relying upon a third party plugin.
  • Image Optimization: why not optimize images losslessly by default if it is possible to do so?
  • Comment Reply Notification: should be included as an option within Settings > Discussion.

Less Inbuilt Functionality

Now what about all the crap in WordPress that most people will never touch? Let’s start with a particular passage from the Ghost concept that I agree with wholeheartedly:

…admin color schemes, quickpress, post-via-email, remote publishing, inline theme editing, media editing and multi-everything.

I have no idea how these features can be justified as deserving inclusion in the core — they can’t be utilized by more than a fraction of WordPress users. Since we have such an active plugin community, there is no reason why these can’t be available in plugin form to the minority.

Whilst we’re at it, let’s get rid of all those widgets you’ll never need too — the Calendars, Tag Clouds and Recent Comments of this world. Again — they can be made available in plugin form to the minority who want them.

Content Creation

This is the big one for me. I spend far more time writing in WordPress than doing anything else, and yet my work is often interrupted by frustrating bugs and limitations.

Whilst Ghost’s idea is sexy…

Ghost…it would never be implemented in the core — the average WordPress user is going to be intimidated by Markdown syntax. Having said that, I would love to see the above in plugin form (I’d certainly give it a go).

What I would like to see happen in the core is the fixing of the myriad bugs in the text editor. I’m talking about random <div>s being inserted after lists, PHP code being obliterated, images behaving strangely, and so on.

And don’t get me started on the distraction free editor. Don’t get me wrong — I love it, and I’m using it right now, but it is chock full of of bugs and issues (here are ten).

When it comes to making sure something works as perfectly as possible, nothing in WordPress should be more important than the text editor. Nothing is more integral to a blog than its content, so the same should go for the platform on which it is built.

Making this a Reality

I expect plenty of people to tell me that a lot of the above would be difficult to do, and I am not doubting that. I am no programmer/designer — I certainly couldn’t do any of the above myself. But just because something is difficult does not mean that it shouldn’t be done.

The above issues are most pressing to me as a full time WordPress blogger. If the above improvements were implemented my life would be a lot easier. I am sure that the same could be said for many other WordPress bloggers.

Which brings me neatly to you, and your opinion. What is your take on my suggestions for a much-improved WordPress? What would you do if you had the opportunity to make an instant difference to the core? Let us know in the comments section.

20 Responses

  • I LOVE this post Tom. “I’m talking about random s being inserted after lists” – this little gem is one of my BIGGEST frustrations. I also thing that a standardized (but customizable, based on best practices) social media integration for posts would be great. And it should come with XML sitemaps enabled for Google indexing, don’t you think? That’s what I’ve got off the top of my head…

    • Hey Ruth!

      In case you don’t know, the quickest way to remove those divs is to click anywhere within the paragraph and hit Ctrl + 1 (or Command + 1 on Mac) twice. This will format the paragraph as an h1 header, then remove that formatting (along with the div).

      I think that standardized social media integration would be tricky, given the huge number of ways in which people like to display social sharing buttons. And yep — XML sitemap functionality should definitely be included as standard (you’ll find it in the popular SEO plugins).

      Cheers,

      Tom

  • Great article, Tom! I found myself thinking, “Oh, yes!” a number of times.

    As someone who builds WP sites for others, I particularly liked your rant against the Dashboard. I always use the Screen Options tab to get rid of garbage (to me) on that page as well as the Posts page (I think Yoast’s SEO plugin adds a lot of stuff). But I don’t think I’m successful in getting clients to use Screen Options to reduce their own confusion. I don’t want to use a plugin that reduces their ability to control the site, but I’d like one that changes the default screen options.

    And a big Amen for getting rid of the stupid Hello, Dolly and king-of-false-positives Akismet. That’s a manual step for every site I install.

    • You might want to check out WordPress Helpers — with it you can remove the Screen Options tab but retain the ability to remove meta boxes from the Dashboard.

  • THE thing that needs an overhaul is the text editor. It is the bane of WP. It’s only purpose is to write code. It misses the most basic HTML tags, like paragraph and break tags, and proper embed tags. How could somthing so basic not be at the top of the upgrade list? I say, integrate the TinyMCE Advanced plugin features sans the options that could goof up your theme’s styles.

    Agreed about better tables. But will say that most plugins don’t do this very well or in a non-complicated way either.

    For images, would add a crop/resize/optimize option that saves in .png format, sort of like Web Resizer. And, would add a warning telling folks that the native camera they are uploading is a huge no-no.

    As for including SEO any more than it already does, bad idea. In fact, most theme devs are completely removing it. Changes too much. Plus, most of the plugins offer more than straight up SEO, like open graph.

    Agreed about removing Hello Dolly. Let’s include an author widget to show your happy mug and personal hello in the sidebar.

    • Hey MaAnna,

      Definitely in agreement on the text editor front.

      As for tables, I love WP-Table Reloaded and have never had any problems with it.

      With you on the image stuff!

      Most theme devs are removing SEO then recommending that you use plugins like SEO by Yoast, (e.g. WooThemes) because they know that their propriety SEO functionality can’t compete ;-)

      Cheers,

      Tom

  • I loathe TinyMCE. Loathe, loathe, loathe!! It needs to go. A better WYSIWYG would be at the top of my list. I’m not sure how markdown would be received by newbs, but I could get into it (though every online site seems to have their own flavor). I do love the instant preview though. Full-screen mode was a decent step, but it doesn’t completely work either… I find the cursor jumps around when you do certain things.

    Replacing TinyMCE would be closely followed by improved media management, though this might be coming in 3.5 and I just haven’t looked at the betas yet.

    I also like the idea of a “quicklinks” dashboard and linking to the most used applications… or at least some of the more common actions like “new post”, etc.

  • I agree completely with everything in this article. I have all of those plugins mentioned above installed on every site I administrate to; it just makes sense for them to be part of core.

    The ‘Incoming Links’ dashboard widget has never worked for me; no sites are showing up even though Google Webmaster Tools tells me that sites are linking to me. Perhaps this widget should be removed from the core, and replaced by a plugin that queries Google WMT for incoming links?

  • Yes to Widget Logic being integrated, though it needs to be made simpler for regular users. The way Joomla handles assigning modules (widgets) to pages works well.

    A simple launch screen is a big yes. I still find new users are intimidated by the choices presented after logging in.

    Also I’d like to see improvements in image handling; some parts of the system are a little counter intuitive. Adding an image from the library isn’t as easy as it should be. Also, as most users tend to upload large size images straight from a camera (or a phone), WordPress shouldn’t as a default save these raw images. These big images can really fill up servers and it’s unclear which can be safely deleted.

  • I cannot believe how bad WordPress search is….it’s beyond bad….I have lots of pages on my site and need a plugin to access them easily….so better page management at the admin end would be great.

  • I would love to see the functionality of the Duplicate Widget built in as that is one of the first plugins I install along with Yoast SEO and Advanced Custom Fields. I would also love to be able to duplicate a post or a page (or a custom post type post) by clicking a “Duplicate” link with all it’s post meta (custom fields) created in the new post, that will save a lot of time for me.

  • @Kathy, @Corey: I’m one of the main developers of TinyMCE and I must say developing rich text editors is freaking hard. We have been at it for 9 years and we still have things to work around. The problem is that the behavior across browsers are complacently random and in most cases very buggy. So all rich text editors that use contentEditable have mostly the same quirks. But some of the ones that have been around for a while like TinyMCE and CKEditor have worked around most of them. That’s why the code bases of these projects are 10k+ lines of code it’s not bloat that some users think it’s actually important workaround logic.

    Also the output of a WYSIWYG will never be what a tech user wants it to be. For example some user might want “B” for bold some other “STRONG” we could give them 10000 options in the UI but that is sure bad UX. The upcoming 4.0 version of TinyMCE will have improved UX a more slimmed down UI and we fixed a lot of bugs. It will be a lot more easy to make plugins and configure it. But it’s up to the WP devs to expose those features to the WP community.

    Lastly report bugs so we can fix them and send us feedback on our forums.

  • New Recruit

    Re: Better dashboard: Hell yes. (and I do believe they’re working furiously on this)
    Re: Less inbuilt functionality: Hellsz yes.

    Leave it to tools like Jetpack to deliver the “wow” factor for new releases. The WordPress core is holding on to far too many gimmicky features.

    Analytics – Sure
    SEO – Only some more general stuff. Yoast’s plugin still adds a LOT of stuff that most people will never make use of.
    Redirects – Isn’t this in already?
    Code Snippets – Fine as a plugin if you ask me. This is a geeky thing, not a “most users” thing.
    Search – Dear merciful Jebus yes.
    Basic Security – Maybe, yes. Could adopt some stuff from “Better WP Security”.
    WYSIWYG Text Widget – Fancy content in text widgets is an edge case. Leave it to plugins.
    Widget Logic – I think this is too advanced functionality for most WordPress users (and WooSidebars or Content Aware Sidebars are more user friendly examples imo).
    Tables – Again, MOST people won’t be using tables. A solid tables plugin should suffice.
    Image Optimization – Yeah sure.
    Comment Reply Notification – Sure.

    Like many others, the biggest one for me by far is the editor. With all due respect to Johan and the other TinyMCE developers (I might have formulated more sentences with your editor than I have with the spoken word), TinyMCE is far too complex for the average WordPress user. I think it should continue it’s life as a canonical plugin.

    I’d personally love a Markdown editor like Dillinger or EpicEditor, but I’m afraid this is still too geeky for the average user (we’d be moving *back* towards the bbCode days). Personally I think the Aloha Editor and wysihtml5 appear to be the strongest contenders.

  • Tom-
    Great article. I agree with most of what you think should be removed and added from the core. Your thaughts and the ghost proposal have me thinking that maybe what is needed is a second GUI, one for bloggers. In that mode, which could be the set as the default mode the dashboard could be simplified to widget control and a WYSWYG post/page editor. Another good option may be an installation wizard that asks the user what they are going to do with WordPress and adds an removes elements from the core based on their needs.
    Thanks for the article, and please writing this sort of thing. It is a discussion that has to happen.
    -Josh

Comments are closed.