WordPress: Themes, Plugins, and Site Building

WordPress’ extreme flexibility is both a feature and a liability.  Internally, WordPress has few controls regarding what a plugin or theme can do.  This lets you easily extend your site in numerous ways.  However, it is this lack of rules that creates situations in which plugins and themes can have conflicts, both with each other and with the core of WordPress.

WordPress’ hands-off approach leaves it without internal mechanisms for resolving or even automatically recognizing plugin and theme incompatibilities.  Consequently, any new installation or upgrade to a plugin or theme includes at least a small risk of causing problems on a WordPress site, problems which may or may not be immediately visible and may or may not appear to be related to the responsible code.

Don’t add complications

Each tool added onto your site should be

  1. as simple as your goals allow,
  2. necessary, and
  3. maintained and easy to update.

These suggestions are not meant to dumb down your site but to help keep its focus while reducing the chance the site will need major maintenance just to remain online.  Good websites are rarely very flashy but instead streamlined by user experience design that focuses users on your content, not the site itself.

Themes should not replace plugins

Themes should focus on styling your content.  Those that also provide functionality similar to plugins are generally bloated, trying to do too much at once and assuming too specific a purpose. They may look great in a preview, but, internally, many are the software equivalent of Rube Goldberg machines.  In a future version of a browser, with different content, or after a couple updates to WordPress itself, one or two features may break or become glitchy.  Other theme elements can have trouble when functionality they expect is suddenly missing, you may be left trying to recreate every aspect of the theme from scratch.

Themes (usually) should be free

We strongly recommend using freely available, open source software whenever that’s an option, especially because large user communities can find and fix problems. Using a purchased theme puts your site’s longevity in the hands of your theme developer, who may not be around or care to fix the problems that a theme will eventually—and inevitably—have.  Complex themes for sale are almost guaranteed to have a short lifespan.  If, however, you like a simple theme which costs money, you may be able to maintain it yourself or to switch your theme when it no longer works.

Arguably, the best WordPress themes are those distributed with WordPress, the “twenty-something” themes (“Twenty Ten” through “Twenty Fifteen”).  Though they’re relatively generic, the themes are maintained by WordPress developers, which both helps keep your site online with minimal effort and decreases the chances of conflicts between your theme and plugins.  These themes are also optimized for being parent themes, on the basis of which, it’s easy to create a child theme, overriding as you like while inheriting everything else from the parent theme.

If you want another free theme, the WordPress Theme Directory allows you to sort by theme popularity and to view the revision history of a theme.  Most popular themes with a history of regular updates are likely to be maintained for some time to come.

Plugins should be straightforward

Plugins, much like themes, should do as little as possible. Plugins with multiple features add more to your site than you need, creating more security risks, more code to update, more possible incompatibilities for plugins, themes, and WordPress core, and more confusion in your WordPress admin screens.  There is never a guarantee that a plugin will be maintained for new versions of WordPress, so the less it does, the less there is to break, and the easier the plugin will be to replace when needed.

Security and site stability

Themes and plugins can introduce security risks to WordPress, even when they’re not in use, so it’s wise to delete anything you’re not using.  You can easily download and install a new version later.  If you’re hosting on the NML server, we also require you to keep all your software up to date.

Use a suitable development environment. Installing a plugin or theme on your site changes your site database.  Most un-installation scripts do their best to reset changes in the database, but it will never be the same as if the software were not installed.