What is missing in WordPress
WordPress is a blogging tool, or at least it was when the project started. Now, they call it a web software or CMS. But there are some functions/functionalities that are missing, and in my opinion should be included in the core. So in order for the WordPress to work as a great CMS I always have to install lots of plugins.
Changing order by drag and drop
The thing that annoys me the most, is a lack of simple drag ‘n drop for posts ordering. Ok, custom post types, as the “posts” usually are ordered by date. Same goes for pages. Even tho you use custom menu for main navigation, you may use some “child of” page listing in side menu. Changing the number in the order field, in the “Page Attributes” meta box, is sooo not user friendly. So in order to fix this problem I use Intuitive Custom Post Order.
This maybe isn’t a “plugin” thing, but more of a “should be set by default”. How often you use default permalink schema p=id? How many times you’ve changed permalinks to /%postname%/? Unless you need something specific, you most likely change this setting everytime you start new WordPress installation. I know I do. Everytime. So eventually I will create some script that will set this for me. Either way, we all have SEO in mind and pretty links are now consider as “must have” and not “nice to have”, so why not to set this option by default. I honestly don’t know.
I know there is WordPress SEO by Yoast, but possibility to set custom meta title or description should be available without any plugin. I know that Yoast offers a lot more than simply adding those extra fields, but sometimes you only need just that and most CMS have (should have) this by default.
WYSIWYG in widgets
This actually puzzles me for a long time. Why the heck there isn’t wysiwyg widget available in core? Yes, I can see my clients editing content in “text” widget, adding links and formatting text. Yes… well, obviously not. If a website I’m working on have a sidebar, first thing I do is – install plugin – like a robot. Lately it’s a Black Studio TinyMCE Widget.
mail via SMTP
This will be short. No option to send mail via SMTP. And now, more hosting providers are restricting sending mails via php mail in order to prevent spam, so sending mails via SMTP is the safest way to go = this is a must. I use for that WP STMP but it wasn’t updated since 2014-8-2 so I hope it will work with each wp update and doesn’t have some vulnerabilities.
If something is called “Library” I assume I can organize there my stuff somehow. At least by categories. For some reason this isn’t an option here. After few months (or even very early when you are filling your website with content) it’s almost impossible to find something. Simply because we don’t remember the filename, or just can’t find it (you finger have enough of that scrolling). I’m trying out this Enhanced Media Library plugin to see if there is some hope.
Minify/combine CSS and JS
I wasn’t sure if I should put this one on the list, but this is something I think is a MUST for every website. Especially when we use so many plugins and each of them append some CSS or JS. So in order to speed up our website we must minify and combine those files. That’s obvious. And we shouldn’t even have to remember to do this. This should just happen. Because it does not, I use Better WordPress Minify (but it wasn’t updated since 2014) or Autoptimize.
Note: with Autoptimize, it’s good to put any inline JS like tracking code or remarketing code into <!–noptimize–><!–/noptimize–> tag to make sure it wouldn’t be combined.
I believe that everything described above should work out of the box without any plugins. The more plugins we use, the less secure and slower our website is. Not to mention that we can only hope that author of the plugin will have time for updates once new version of WordPress is released.
This is really interesting article. Although I don’t agree with you about the Pretty links thingy. WordPress is updating regularly lets hope they make those improvement…
Tomas, why do you disagree? I’m not saying to remove completely other options. But this is an option that almost everyone will change, so why not to set it by default?