There are times when you should just use an existing solution for your business and times you shouldn’t.

Does your business just need a website to inform people, post your business hours, allow people to contact you, blog, etc?

If so, then something like WordPress (my favorite), Squarespace, or even Drupal would work fine. These allow you to choose custom themes (look an feel) and have tons of plug-ins (additional features). WordPress can be setup online at many hosting providers and at Squarespace is an online offering and can only be setup at Drupal is fairly easy to get going, but requires a hosting provider.

Does your business want to use the website to create a public online community to support your main business?

In this case, Drupal or Joomla are probably your best bet. Again they have themes to use and plug-ins to support many additional features you might want. Both are open source so apart from hosting the code is free to use. And both are actively developed so there is a strong community of people who can help and who are keeping things up to date.

iStock_000006697647XSmall Is the website going to BE the business?

If the business in blogging, I’d still stick with WordPress. If it’s a wider content management system you might want to look at something that is more customizable. Refinery CMS is a ruby on rails Content Management System (CMS) that is built for developers to customize. It will require hosting and probably a developer. If the website is your business you should plan on having a development team, outsourced or in-house, anyway. Picking something built for developers is important because the largest cost regarding software is the ongoing maintenance. Drupal and Joomla are easy to customize initially and to a certain point, but they are hard to do continuous development with and customizations can be hard to maintain.

Is the website going to sell things?

If you going to sell a small number of things, like an ebook or one or two specific products, then WordPress still might be a good choice, search around for an shopping cart plug-in. If you’re going to have a lot of products with a fairly standard shopping cart experience many people like Magento. I haven’t used it, but looking into it, I think it will have the same issues with maintainability as Drupal and Joomla.

Is selling online the MAIN business or do have SPECIAL requirements?

Then Spree, a ruby based shopping cart, might be good. It is easy for developers to customize and maintain. Again, when the website is the business you want something that you can get going quickly, but is easy to keep going later.

Is the business a new web application or service?

In this case using a prebuilt solution is going to be risky or disastrous, you should however look at using an existing framework to build from. A framework, in this case, is some code that enables you do build the web application quickly without redeveloping everything. This should largely be the choice of your developers, but you should know which one their using and how it’s viewed in the development world. You can search for the framework and get an idea about it’s perceived value.

Here are a few I recommend. Microsoft’s MVC Framework, this is not usually used by itself, you might hear Entity Framework, NHibernate, Castle, StructureMap, etc are being used with it. Monorail from the CastleProject uses NHibernate as well and has been around for a long time. These are both c# .net based frameworks.

Play! Framework is a java based MVC, heavily influenced by Ruby on Rails, if you going to use Java, I highly recommend Play!.

Django is a Python web framework, I haven’t used it yet, but it can run on Google App Engine and hosted environments.

And Ruby on Rails, which many of the former frameworks where influenced by, is a Ruby based framework.

There are lots go good prebuilt web applications and web frameworks out beyond what’s in this post and bad ones. Which one you pick will have an impact on your business down the line.

If you have comments or additions, please leave them below. If you need specific advice or help building your web application, please contact me!