Open source web publishing products have one big draw back to them and that's plethra of plugins/modules/extensions they offer.
When I build a site I try to first define information architecture and only then do the implementation, but many projects are not always as ideal. In all cases I found that choosing the right plugins at the start will pay off at a later date. Here is the list of plugins that I find are a must have and my reasons.
Pods 2.0
This a very powerful plugin that I try to use in every implementation because it truly converts WordPress into a more full featured CMS.
Pros:
- Easy to create a custom content types via UI
- Easy to create custom taxonomy
- Easy to create/drop in a dynamic list of content into pages
- Allows admins to create pre-set display templates for dynamic lists
- Actively developed
Cons:
- Dynamic list queries require coding knowledge
- Limited documentation on custom coding of the templates
Theme My Login
One major downer to WordPress, as compared to Drupal, is a generic login form. I haven't heard one client say to me "I love the default form with WordPress branding". Most of them actually want a form that blends into a theme, as to not detract a user from a seamless branded experience. This plugin allows you to do just that. It automatically creates Login/Reset password pages in your site, all you have to do is update the menu link to point to the /login page & you are all set.
BuddyPress
WordPress assumes that only admins should see a profile page, so all users see the profile page in the default admin theme. Quite often that is not a desire. BuddyPress offers just the right solution it provides pages for custom profiles and custom user fields. It's well integrated with WordPress and is used on wordpress.org.
Pros:
- Fast and easy way to have custom user-friendly profiles
- Easy to add additional user profile fields
- Provides a way for users to interact
- Integrates easily with other plugins
Cons:
- The basic list of modules it offers feel like quite a bit sometimes.
- Additional development work is needed to customize any of the pages, however, there are many default templates available for most common reusable themes.