Since I made the suggestion a couple years ago for my company to use WordPress internally for it’s major websites, they’ve loved every minute of it. In fact, I actually saved the company over $40,000 in license fees to a 3rd party CMS that they had been paying annually for “support”, which was non-existent. I’ve been able to recreate and/or update all of our software products websites, our main website and a couple smaller subsidiary company websites, in WordPress with only a small team and with zero additional cost. That may sound like a giant commercial for WordPress in general, but it’s really more of a statement of fact. WordPress is dead simple for even the most computer-challenged office worker to use. I have office admins, in offices around the country, telling me how much easier it is for them to update things than it was with the old CMS. I’m honestly not getting paid to say this. I just have a deep appreciation for what WordPress can do and how much it’s changed what I can do on the web.

That said, it does have it’s limitations. It’s not a great CMS. It’s the single greatest BLOG platform ever created, but out of the box, it’s lacking some CMS functionality that sets it apart from enterprise packages. That’s ok. It wasn’t created to handle 1000’s of pages, it was created to handle 1000’s of posts and comments. There’s a distinction between the two. Static content isn’t WordPress’ bread and butter. Once you understand that, and can find ways around it, the platform really opens itself up into being just about anything you need it to be.

Some might say that there are better choices for managing static content, and they’d be right. However, I’m willing to trade some functionality that I have to eventually add back in, for some easy of use and flexibility up front. Especially design wise. Nothing really makes the designer in me happier than a simple CSS based design that I can change at will. In the past, with our old CMS, everything was ASP based with C# and this weird mishmash of bits of  random CSS thrown in. It was pretty counter-intuitive to designing. So much so that when it came time to redesign our intranet, I dumped that old system all together and tried to figure out how I could make an intranet, heavy with documents and databases, using WordPress.

To that end, I started searching for ways to extend WordPress’ core functions and there was a distinct lack of information on the subject as far as intranets are concerned. Maybe it shouldn’t be done, maybe there are better alternatives, who knows. All I know is that somehow the top blogging platform isn’t being used to drive company intranets and that suggestions for doing so are few and far between. So, with that in mind, I thought I’d share what  I’ve found to be handy tools and plugins that helped me get the job done:

  • Connections – Connections is essentially a large contacts/address book manager. It can be customized via templates to display the contacts within your post/pages however you like. Also, with an addon ($15) it can bulk import CSV files into the system. That’s what I’m using to replace our aging “office directory”. I requested a large CSV export from our HR department and had everyone imported in just a couple minutes.
  • Easy Category Management Widget – Within our intranet, I had to separate out news by department. I also (using the theme I chose) created custom sidebar’s for each department. This widget helped me display just that departments news within it’s own sidebar.
  • LJ Subpages Widget – Most “page” widgets are pretty useless. I’ve tried various ones in the past to display child-pages only, or pages from a certain level, etc. None of them worked. This one does. You can define was pages are listed as sub-navigation either based on what page you’re on or a selected master page. Very handy for making department specific navigation. It’s technically possible within theme code, but this is a simpler solution.
  • Post Page Associator – Fantastic plugin that lets you associate specific posts with specific pages. You can pick individual posts, posts with certain tags, or whole categories. Each department in my company likes to post their own “news”, so I used this in conjunction with post categories, to create separate “news” pages in each department. Someone makes a post in the “HR Department” category and it shows up on the HR department homepage. Very slick.
  • Private Only – A fairly old plugin that just does one thing and does it well. You can’t see the site without being logged in. That’s it. You get the login screen before you get content. Great for “putting up a wall” to do testing on a private beta site.
  • Search Unleashed – Strait forward improvement in internal search results. I kept getting odd results from the built in WP search engine, and this seems to be helping users find relevant content better.
  • Job Manager – We use a service to post job positions externally to the public, but I wanted something easy for HR to use to post internal jobs only. This fit the bill. Easy to use and strait forward.
  • WP DB Backup – Not really much to say about that one. Does what it says.
  • WordPress Download Monitor – This is a big one. I’m using this to manager hundreds of documents internally. Really easy to use, version controls, bulk imports. With tons and tons of documents, there was just no way to do this by hand, this one really saved my bacon. With nice touches like being able categorize and display documents/downloads per category, it’s easy to put things just where they need to be.
  • Vanilla Forums – Not technically a WordPress plugin, but a stand-alone forum software. I really tried to like bbpress, but it’s lacking so many features it just wasn’t going to work for a company intranet that wanted to be “social”. Vanilla is awesome and feature rich out of the box and with this plugin, can easily be deeply integrated into a WordPress site.
  • Contact Form 7 – Kind of a “duh” plugin for WP at this point. Easiest and most widely used contact form plugin. Using it to power the “help desk” forms on my site.
  • Easy iFrame Loader – I needed something to embed some content from a benefits company that our HR department is using. This was the easiest solution I came up with. I’m not a huge fan of iframes in general, but this is at least super-easy to use. Shortcodes make me happy.
  • FV WordPress Flowplayer – Every once in a while you need a simple movie player. This fits the bill, is unbranded and uses shortcodes to embed the video. Also features player customization (colors, sizes, etc).
  • Log User Access – As the webmaster, I’m responsible for all site operations. This helps me keep track of who’s logging in and changing content. I can keep an eye on all the “content authors” who are making changes. That way I know who to email if something gets messed up.
  • Capability Manager – Since we have a large intranet, I’m not the only content author. Other people need to be able to publish content. They also do NOT need to be mucking around with WP settings. The few default roles within WordPress are very “all or nothing”. There needed to be something in between “admin” and “author”, with specific abilities defined. That’s where this plugin comes in. I created a custom role that had the permissions I needed and defined other authors appropriately. Lots of content privileges, zero settings access.
  • Exclude Pages from Navigation – A really handy function that I’m surprised isn’t in the WP core. I needed a couple hidden pages to do some random things and this makes it really easy. It’s a simple checkbox on the editor screen. Check the box and no one can find that specific page unless you want them to.
  • Shortcode Exec-PHP – We have a couple custom written scripts that pull from various databases. Things like recent contracts we’ve won, etc. Instead of finding a plugin to do this internally, I just let the programming guys create their own. This lets me run php code wherever I need it.
  • Simple LDAP – Having a company single sign on for everything already, I needed a way to have it play nice without creating WP accounts for all 800 of our employees. This let me access and use the system already in place.
  • Backup Buddy – The only plugin on this list that’s a “premium” plugin. At $50 it doesn’t really break the bank, but I thought it was worth mentioning. Since I’m creating the site on an separate machine and I need to move it when I’m done, this was the best “migration tool” I could find. It packages everything up nicely, including widgets, themes, settings, etc, which are all things that WP doesn’t include in it’s built in export function. Given that I have dozens of sidebars and custom widgets that are all normally non-exportable, I needed something that could handle the job. This one will be a life saver.

I hope someone finds that list useful. I thought it might be worth compiling a list of things to help with an intranet build since the resources out there are a little scattered and there’s not really any good solid guides put together. There are some other plugins I’m using here and there, but they don’t really have anything to do with intranet/CMS functionality. If you have any questions, feel free to ask.

Matt out.