As CiviCRM for WordPress experts, we receive questions daily from non-profits who want to adopt an open-source CRM solution for their organizations. Whether you plan on using CiviCRM to manage memberships, event registration, or simply to collect donations, there are a number of practices that every organization, regardless of size, should adhere to when implementing CiviCRM on their WordPress websites. We’ve outlined four below:
- CiviCRM should be the core platform around which you build your WordPress website; not vice versa. Although CiviCRM is classified as a plugin for WordPress, it is a much larger installation than WordPress and requires far more server and database power to run. Many clients are surprised to learn that their shared web hosting service — which may have been suitable to run their WordPress website — is not viable once CiviCRM is added to the equation. We recommend that CiviCRM be run on a host that specializes in CiviCRM. CiviCRM uses the database in ways that WordPress does not, and many shared hosts and WordPress-specific hosts cannot adequately handle this. The database is the heart of any CRM system and it’s critical that the data can be stored and retrieved quickly. Most good CiviCRM hosting solutions use a Virtual Private Server (VPS) for security and performance reasons.
- When selecting a WordPress Theme, choose one with minimal options and Theme-specific settings. Many less seasoned WordPress users gravitate towards Themes that come with lots of bells and whistles that can affect more than just the “look and feel” of the website. There are many reasons to go with the simplest Theme possible; unnecessary features tend to impact performance and when CiviCRM is added to the equation the chances for running into potential problems greatly increases.We always advocate for separating design from function. While there are exceptions to the rule, Themes should be selected for how they make your website look, i.e., the layout and presentation, colors, fonts, etc. When additional functionality is required — for example, you want to be able to selectively show a Widget on certain pages but not others — you are better off using a plugin.A Theme that mixes design with function may seem like it’s a single tool that controls all aspects of your WordPress website, but that is never the case. These types of Themes always cause conflicts, both with other plugins and CiviCRM.
- While Plugins should be used to add functionality, choose them with care and consider that they must work well with CiviCRM. WordPress has what may seem like a limitless supply of third-party plugins. Look through the WordPress plugin repository and you’ll find at least three plugins for any type of functionality you could possibly want or need. It’s important to select carefully. Do as much research as possible; determine whether other CiviCRM users are using the plugin; and test to the best of your ability.A badly coded plugin will conflict with other plugins and with CiviCRM. Many plugins load all the files they need to run whatever functions they perform on every page of a site — both on the user side and in the back-end admin area. This is not best practice and causes conflicts. It is worth spending a few hundred dollars to pay a CiviCRM development consultant for some assistance evaluating a plugin. A CiviCRM WordPress expert may even have recommendations for plugins that have already been tested with CiviCRM. Investing in time for testing upfront can save an organization a bundle later when a bad plugin can bring CiviCRM to a grinding halt.
- Choose page and site builders with care. Page and site builders may be a blessing to the non-technical content manager, allowing her to create on-page layouts without having to know any HTML or CSS, however, not all page builders are equal. Remember, WordPress stores all your content in a database — that’s what makes it possible for you to swap Themes easily when you want to change the look of your site without losing any of the content.The native WordPress content editor keeps your content in the database in the same format in which you enter it. Not all page builders do. Some page and site builders rely on special functions, like shortcodes, to store your content. That means that if down the road you decide to change your page or site builder or Theme, you might have to cut/paste all your content from one tool into another.
Our cautioning around Themes and Plugins shouldn’t be interpreted to mean that you can’t have a beautiful, feature-rich WordPress website and run CiviCRM, too. Having the options provided by Themes and Plugins is what makes WordPress such a popular platform. It’s how these options may impact your CiviCRM installation that should always be thoroughly investigated, and, in all cases, CiviCRM should be your primary consideration.