The popular publishing platform, WordPress, recently released its latest major version: WordPress 3.0 (dubbed “Thelonious”). This iteration of WordPress introduces plenty of convenient new features such as drag-and-drop interfaces for building navigation menus (for those not comfortable modifying their theme files), the ability to deploy multiple sites under one installation (by the inclusion of WordPress MU) and a system for making custom content types other than posts and pages.
However, some new features appear to be superfluous. Why have a built-in link shortener (yet not include social media web service integration that benefit from link shortening)? Why release a new default theme every year? Is it really worth the increase in the code base’s bulk to give end-users an interface for designing custom headers?
These not-so-handy new features lead me to ponder: Why not put all of this effort to features that are actually useful to many?
Many, if not all, of the features I’ll suggest here already exist as WordPress plugins or can be found in competing content management systems (such as Drupal).
Many will argue that if a feature already exists as a plugin — why bother? There are definite benefits to incorporating features into WordPress even if they already exist as plugins.
First, it reduces the need for the user to install a third-party plugin, which in turn can improve performance and enhance maintainability, as some plugins are better written than others. One of the biggest causes of broken WordPress sites is plugin incompatibilities; by having these features native and tightly integrated into the system, we can avoid these issues.
Also, by adopting these features, they can be cultivated by the collective contributions of open source developers, which also means that we needn’t worry any longer about a particular plugin not being maintained by its creator.
Upgrading a system will be simpler if you didn’t have these features as plugins. You just have to upgrade your WordPress installation, and these features will subjected to the same testing, review, and scrutiny as other parts of the WordPress core.
With all of that in mind, let’s go over some of what I believe are missing features in WordPress.
1. Web Caching
Every time a visitor views a web page in a WordPress-powered site, the system performs multiple server-side processes and database queries to generate that page for the visitor. This affects the speed in which a web page can be rendered and — for people running the publishing platform on an underpowered web server — can cause major downtimes and slowdowns.
One of the best ways to improve page performance is through web caching files on the web server — storing static versions of each web page so that the system doesn’t have to perform redundant work whenever a page is requested.
There are a number of popular plugins that handle caching for WordPress sites, and other CMSs like Drupal already have it out of the box.
This feature should be an optional feature that WordPress site administrators can enable, with option settings on how long to keep the cached files that they can tweak according to their site’s updating frequency and traffic load.
2. Pagination with Multi-Page Navigation
The Pagination pattern is a popular navigation interface for web pages that show a list of results that’s too long to show in one page. The solution, then, is to break this set of information down into several pages.
WordPress does have built-in pagination, but it can only navigate one page at a time. For blogs that have been around for a long time or those that post frequently, navigating to older posts requires many clicks if you can only move around one page at a time.
As a solution, you can have a list of links in a row that points to all the pages, with options to jump to the last and first pages. This is relevant for many WordPress content pages, including the front page (index.php), category pages (category.php), as well as posts (post.php) and pages (page.php) that have been split up into more than two pages.
3. Displaying Related Posts
Findability can be greatly improved if related content is displayed on a post. Right now, theme developers can take advantage of the
get_category/get_categories for pulling out the posts’ category and
wp_get_post_tags for the post’s tags, however, what’s more difficult is displaying related posts.
There are ways to try and display related posts, such as picking, say, 5 random posts from the same category/categories or posts tagged with the same words. However, the accuracy of how related the queried posts will be to the current post is, a lot of times, poor.
There should be more “signals” to determine the relevancy of one post to another, such as seeing if the title of posts have the same words, how many tags are the same on both posts, and if the current post links to another post.
4. Custom User Role Permissions
WordPress is used by huge websites with multiple authors (i.e. TechCrunch, Mashable, and Smashing Magazine all use WordPress, for example). These multi-author sites have the need to control who can do what.
Currently, WordPress has five user roles, and for the most part, they’re fine. But as WordPress gets utilized in more and more distinct ways, there becomes a need to have a system for building custom user roles, or at least the ability to modify the five built-in user roles.
For example, there might be authors that are only permitted to see or post in a particular category, or an administrator that can do everything but install plugins and change discussion settings.
Permission/role management is an essential component to systems with multiple users.
5. Social Media Integration for Popular Web Services
An essential feature of content-centered sites is the ability for its users to share published content. Blogs that don’t have social media buttons and sharing options using email are uncommon.
I think it’s relevant to include native integration for at least the popular web services like Digg, Twitter, StumbleUpon and Facebook so that end-users don’t have to rely on and maintain third-party plugins.
Social media integration is so commonplace that the “twitter” plugin tag is a popular tag amongst more general keyword tags such as “Post”, “widget”, “image”, and “sidebar.”
6. Site Statistics
The capacity to learn about what content works and what doesn’t is key to being able to produce content that people view the most. The tool that’s central to this understanding of our content is website analytics.
The plugin shows administrators top referrers (where visitors are coming from), popular posts, site traffic statistics, and a pretty line graph that visualizes site traffic trends.
It’s time to adopt this plugin into WordPress.
7. Web Form Builder
HTML web forms are crucial to most modern sites: They’re the primary means of enabling communication and input from users. Comments, surveys, polls, contact forms, and content submissions are all large components of content-driven sites and they all need web forms.
Having a form builder interface, similar to the navigation and header builders that came with WordPress 3.0, can help users create custom web forms to increase interaction with site visitors.
8. Minification of Source Code
9. Better Site Search
WordPress’ built-in search is terrible. It’s one of the first things that’s replaced by third-party web service like Google Custom Search in a new WordPress site deployment. Don’t just take my word for it: WordPress guru, Joost de Valk, once said, “WordPress default search kinda sucks.”
It “kinda sucks” so much that even WordPress.org — the official site of the publishing platform — doesn’t use it (the site uses Yahoo! Search BOSS).
Comparing built-in search features to other CMSs like Drupal, I know WordPress can do better. Search, right now, only looks for literal matches in blog posts, excluding other things like comments and metadata (e.g. searching for the name of your favorite author won’t result to anything if the template generates the name using the
the_author template tag).
A better search algorithm should be a primary focus for the next iteration of WordPress. Barring that, native integration of popular third-party web services like Google Custom Search or Yahoo! Search BOSS is an okay compromise.
10. Content Rating
The ability to rate content, including user comments, pages, and other content types is a good design pattern for increasing user participation. Content rating opens up a lot of possibilities, such as displaying a dynamic list of the most popular content based on user rating on the sidebar or the ability to sort archives based on popularity.
Content rating can also help the site owner identify content that users like so they can make more of it. Additionally, under the expertise of a theme developer, it can help with site maintenance, such as in the case of auto-deletion of spam comments if a comment is downvoted a lot or flagged as spam.
What other features are missing in WordPress? What are other benefits of incorporating these features into WordPress?
- WordPress.com Stats Stats – number based on recent week number of downloads.