Blog

«Return to Blog ListHow to turn WordPress into a Business-Class CMS

WordPress is a potentially powerful, business-class Content Management System. Potentially. Out-of-the-box, it’s just a blog. To unlock that potential and get from blog to business-class CMS requires some work; a little or a lot of customization, determined by the specific needs of the business or professional organization that owns the website. For Evo, there is one guiding principle in customizing WordPress to turn it into a professional, business-class CMS: make it as easy as possible for website editors to add or update content, without burdening them with design choices, allowing them to quickly move on to other tasks. If you inferred from that we’re not fans of Gutenberg as part of a business-class CMS, you’d be right, and disabling it is the first thing we do.

Possibly the best thing about WordPress is its ability to support customization, not just in appearance, but in the way it can be configured beyond its blog roots to become a business-class content management system. Listed below are various types of customizations that are involved in upgrading WordPress to a professional CMS. 

If you’re considering a new or updated version of your business or professional website, and would like a walk-through of any or all of the items outlined below, contact us.

Custom Post Types

WordPress comes with two content post types: pages and [blog] posts, each with their own associated templates. While useful, they’re not, by themselves, adequate for a professional CMS. Fortunately, WordPress allows us to create custom post types for other types of content.

Let’s say your organization runs monthly events, and you want people to register so you know who and how many to expect. While there are plugins available that list events and may allow people to register, those plugins are designed to cover all sorts of requirements that don’t apply to your events, although your requirements are probably covered in there, somewhere. As a result, these kinds of plugins are always huge, usually resource-hungry, and complicated to manage, with all kinds of features, and choices that must be made that don’t apply to your events. Further, it’s usually difficult, or even impossible, to style plugin templates so the event listings and detail pages look like they belong on your website. 

Creating an events custom post type built on your exact requirements is easier to manage, and displaying them on custom templates (more below) with whatever custom fields (also more below) are needed ensures minimal time spent posting an event. It also means events can automatically disappear from the events listing after the event has passed, not something that can be accomplished with blog post listings or pages.

Custom Fields

Staying with our events example, let’s assume you want the event details page to include the event time, event start and end dates (if multi-day events), event venue, venue address, and a link to a Google map. Of course, you could add all that to a page in the main body of the text or a ‘widget’ (WP’s term for any content that shows on post pages outside the main content), and spend time fussing with the formatting, but custom fields associated with the events post type allow you to focus on putting in the information, which then displays on the custom events template in a pre-arranged location and pre-formatted. It’s possible to add an event, which automatically appears on the events listing, in just a few minutes, assuming the event description is already written and you’re not composing it on the website. And, the formatting for each event is consistent with other events, as they all use the same events custom fields and events template.

Custom Templates and Custom CSS

Every page, post, and custom post type on a WP website is displayed according to the way its template dictates. As alluded to above in my description of custom fields, the ability to create templates specifically designed to present custom post content, including custom fields, consistently in the way the site owner wants it presented. But custom templates do more than present custom post types. Various pages might need to present information in a specific format. Combined with custom fields, a custom page template can easily present that information in a prescribed format.

As an example, on this website there is a page that presents Maintenance Plan FAQs for clients who subscribe to our Maintenance Plans. Custom fields collect two pieces of information in a Question and Answer pair, and you can easily add another Q&A by clicking a button ‘Add Q&A’, which displays a new set of two empty fields ready for input (additionally, you can drag and drop the Q&A pairs to any order you prefer). The FAQ template then places the content into a specific arrangement of HTML, connected to javascript that makes the answers open and close as the reader clicks the links. Because the HTML and javascript is in the template, it doesn’t have to be re-coded as each Q&A pair is created.

Custom CSS (styling) allows us to control the appearance, and sometimes behavior, of content on pages and posts. For instance, a template that includes a custom field that displays in a paragraph tag with the class “address” can be styled differently than the basic paragraph tag in body of the text.

Business-Class Plugins

The final piece of the puzzle is a few business-class plugins, which are not always free, but well-worth the cost. There are lots of free plugins; we’ve learned to rely on the tried and true (some of which are paid), and be wary of the rest. The following are incorporated into virtually every website Evo designs and builds.

First on the list of essential business-class plugins is Gravity Forms, the most capable, extendable forms plugin for WordPress. Of course it relays form submissions as emails, but it also retains them in the website admin, where the entries are sortable and exportable. Due to its extensibility and broad list of integrations with other applications, Gravity Forms can gather names and addresses for your email lists, register people for events, accept donations, and even sell products or collect registration fees.

We use a business-class plugin called Advanced Custom Fields for creating custom fields. While custom fields can be created in WordPress without the plugin, the end-user UI for WP’s custom fields is pretty awful, and confusing. ACF allows control over what kind of fields (text, select, radio button, repeating, etc) are used and how and where they appear on an edit screen, allowing a developer to craft an easily understood UI for pages, posts, and custom posts that use custom fields.

WordFence is a very solid, best-of-class security plugin, protecting websites from all kinds of attacks. It has both a free and paid version and, for many the free version is more than adequate. WordFence blocks all kinds of attacks if properly configured, and blocks some visitors just because they’re known ‘bad actors’. 

InfiniteWP allows monitoring of multiple websites for core and plugin updates. It alerts us when anything on a website is out of date and lets us update it remotely from the control panel. Since keeping WordPress and plugins up-to-date is a critical part of website security, this plugin provides a lot of value. Websites designed and built by Evo get this after-launch monitoring basically ‘forever’.

Most other plugins are selected based on the particular needs of each website, but again, we’ve learned over the years which plugins (and plugin developers) are trustworthy, and which to avoid.

Tags: , , , ,

We use cookies in order to give you the best possible experience on our website. By continuing to use this site, you agree to our use of cookies.
Accept