Now that it’s 2016, I wanted to summarize some of our key learnings over the past year. Listening to feedback from over 2,000 intranet clients running our WordPress intranet plugins has helped us steadily improve our intranet plugin suite. Hopefully these resolutions will help guide and simplify your own intranet development in the New Year.
1. Solve Real Issues, Don’t List Requirements
I can’t tell you how many times I get a list of several dozen detailed requirements sent to me by a client or agency. They’ve done a wonderful job listing every possible feature request they can imagine coming from their client or employees. What you really need to think about is actual use case scenarios that solve issues. Our business started with the core need for employees to find each other to get their jobs done. That was when we created our Simple Intranet Employee Directory. We’ve since expanded that simple use case to include user photos, editable profiles, a search function and more.
2. Think Less Is More With Intranets
The world record I’ve witnessed for the most plugins installed in a single WordPress install was 64. SIXTY FOUR! That client intranet site was running at such a slow pace, that pages often simply timed out before they loaded. It took a team of half a dozen administrators to sift through all the settings screens and backend widgets, feeds, form databases and more. You really should not need more than a dozen plugins to get the job done. A simple caching plugin such as W3 Total Cache may help with reducing server load but don’t get too carried away. Reducing your site’s total plugin count will minimize memory overhead, admin maintenance, simplify plugin updates, and reduce the chance of conflicts. Your admins will thank you.
3. Your Theme Shall Not Contain Code!
4. Let Your Users Create Content
The more opportunities you give your users to create content, the more they will use your intranet. Functions such as editable/searchable user directory profiles with photos (our #1 feature), online forms (our #2 feature), activity feeds, event calendars, wikis are keys to driving member engagement with your intranet.
5. Avoid Multisite WordPress Installation
I strongly recommend thinking carefully about whether you want to activate the WordPress multisite feature for an intranet. Adding multisite adds overhead and greatly increases the complexity for managing admins, and superadmins. It also hugely complicates troubleshooting when issues arise with plugins and themes that are out of date, have conflicts or crash etc (and they will). Your database overhead also increases reducing optimization and load times.
6. Consider Going Local
If you want to control your own server settings, configuration and ensure total bulletproof security (e.g. if you are a financial institution), consider installing a local WordPress intranet vs a hosted one (see WordPress.org for directions). Local WordPress is supported by all the major server types (WAMP, XAMPP, Ubuntu etc) and it’s not too difficult to load up for most server admins.
If you want ease of access to users via the intranet and want to act also as an extranet, consider hosting your WordPress installation with an experienced WordPress expert ISP host such as Dreamhost. We have many non-profits and retail businesses who successfully host secure intranets with them. They have a one-click installation of WordPress, and very low cost host on shared or private servers. There are many security precautions you can take also using SSL and htaccess files that will make your installs highly secure.
7. Separate Your Intranet From Your Public Site
We strongly recommend separating your public facing website from your intranet. The main reasons are for security, optimization and risk of downtime. If your intranet goes down, gets compromized or has high peak time traffic, it can take down your main site. We suggest setting up a separate subdomain or folder and create a separate installation of WordPress for your intranet.
8. Use Single Sign On
Most clients using Microsoft Active Directory or Google Apps want to avoid having to manage a separate set of login credentials for WordPress as well. Yes, this is possible and we recommend specific third-party plugins from WordPress.org (e.g. Active Directory Integration) that are well supported with such 3rd party applications. Do keep in mind that any totally free (vs paid) plugins often give you only limited or sporadic support and don’t keep up with WordPress regular updates and bug testing. Our set of 24 plugins may not meet all your needs, but we do use core WordPress code and standard tables (e.g. user, usermeta etc) and keep them updated to the latest versions of WordPress. Integrating our plugins with other free or paid versions from WordPress.org is always possible.
9. Think About Workflows
Many WordPress intranet plugins can help you not only with basic features, but will also assist in managing workflows. Our Simple Leave (formerly Simple Vacations) plugin for example allows users to submit vacations on the front end via a form, and then route the leave approval request to the right person via email. Once approved, the requester will be notified and the vacation/leave will show up in a visually formatted calendar. Vacation days will also be tracked and are available for that user to login and view at any time, rather than having to bother an HR person. This is the beauty of an efficient intranet, it saves your HR or admins time and provides user generated documentation and status updates when they login.
10. Resist Customizations
As much as you may like a highly customized theme and set of plugins that use your own branding, look and corporate wording, please resist. You can get 95% of the way there by choosing a theme that is close to what you want and a good set of plugins out of the box. Our Simple Intranet plugins allow you to do basic login and Dashboard logo branding for example. But once you start to customize (or fork) a plugin or theme, you will lose the ability to get automatic updates that keep up with the latest core versions of WordPress, not to mention add features or bug fixes.