For clients looking for a simple web presence, mainly content pages and news posts (blogging), I usually recommend using one of the many free CMS (Content Management System) or blogging platforms available today like Drupal, Joomla and WordPress. For clients that need to put custom content, business logic and display information from a database I recommend using a custom solution that conforms to their needs. While many free platforms offer way to extend them (via plugins, extensions or an API), many times it's difficult to adapt or extend to the particular needs of the client, and may result in more code bloat or systems that become unwieldy to update or extend.
I usually recommend a custom system with the KISS principle (Keep It Simple, Stupid) that is both simple to use for non-technical users but also does exactly what the client requires.
Traditional web sites were developed as static HTML pages, which as they grow are more difficult to maintain. A CMS (Content Management System) is an application that manages much of the basic functionality of a website, like retrieving data from a database (like a members directory), can help establish a consistent "look and feel" (via a template system), and make content usable by cross-referencing and searching. This frees the users of the system to concentrate more on the content of their site instead of worrying about other details like using correct fonts.
I have developed a base CMS to provide the basic features required by web sites: content pages, navigation, SEO (Search Engine Optimization) friendly URLs, blogging and basic events calendar, all database driven. This allows me to create a basic site for a client for quick feedback, and concentrate more on their custom content and front-end. Web sites can be more user and content centric for a better online experience.
I constantly improve my CMS platform based on client feedback, new requirements and new technologies.
Here is a quick rundown of some of the technologies and techniques I employ in development.
From time to time I get requests for functionality that is already available in free systems, where doing custom development might be to cost or time prohibitive. One example of this is forum software where there are many free alternatives (like PHPBB) which might suit the client. In some of those cases I might provide the installation and customization service.
I also help integrate other web services like Twitter, Google Maps, ReCaptcha, Google Analytics and YouTube to websites.
I also provide consulting services to clients about developing an online presence including:
Additionally I sometimes do outsourcing work for clients that don't have IT or online content departments, which includes: