Fully-customized site with PHP and MySQL
You could also build a fully-customized website, built entirely from scratch, using a programming language such as PHP and a database such as MySQL. In this type of system, one or more programmers build custom code specifically for your website. Some common libraries may be used to speed up development, but the majority of the site will be custom-created.
Key advantages
There are several advantages to developing a completely custom-built website for your company, which are listed as follows:
The final website will be fully customized to meet the exact needs of your company
New functionality can be added by another programmer, who is skilled in the same programming language, at a later date
Complex functionality may be easier to develop, when starting with a clean slate
The website may be much more efficient than a website built on a predefined framework or content management system
Key disadvantages
Unfortunately, developing a completely custom website is a difficult, time-consuming process and has several disadvantages. They are listed as follows:
Relatively lesser-skilled programmers may create a website that is difficult to maintain and enhance
Changing the look and feel of the website may require significant re-work, unless the site is designed to allow customization
The website may require a great deal of work by programmers to create and maintain
Security flaws may be inadvertently introduced, which could compromise the overall server or private data of your customers
The site may require more hardware resources than simpler sites and may require significant resources to run at acceptable speeds
Creating all of the functionality from scratch can prove to be very costly
Drupal content management system
Drupal is an open source content management framework based on PHP and MySQL. To use Drupal, you need to install it onto your web server. After it's installed, you use Drupal to create and edit pages. Drupal handles most of the common functionalities that are needed to build websites of any size, and also handles many complex functionalities with the help of plugin Drupal modules, including:
User management
Categorization of content
Building menus
Creating a consistent look for all pages
Adding pictures to pages
Creating and maintaining blogs
Creating and maintaining forums
E-commerce
Image galleries and other multimedia support
Contact forms
Translation and internationalization
And much more
Although these features alone are sufficient to handle many sites, Drupal also offers a powerful module system that allows developers to create modules that plug in to the core Drupal framework to seamlessly provide new capabilities. Many modules have been created by the Drupal open source community and released for use under open source licenses, free of charge. Modules are available for nearly every conceivable task, but if you don't find what you are looking for, a custom module can always be created to handle your exact needs.
Drupal also provides a powerful theme system that allows you to change the look and feel of your website and have all of the pages changed throughout the entire website, instantly. Hundreds of free themes are available on the Drupal website, and these can be customized to fit your needs. Alternatively, you could develop a custom theme for your own website. Commercial themes can also be purchased.
Benefits of building with Drupal
Drupal offers a number of benefits not found with the other methods of building a website. Many of these are related to the ease of maintenance and the ability to concentrate on business functionality rather than building common, repetitive functionality. The benefits of Drupal are listed as follows:
You are free to concentrate on building content and functionality to support your business rather than creating basic functionality already provided by Drupal
The look and feel of the website can be easily changed without rewriting the entire site or changing all of the pages
All changes to the website take effect immediately, so you can ensure that the changes are correct
Changes can be previewed prior to the website being updated, to make sure that it works properly
Revisions to pages can be tracked, and you can require pages to go through an approval process prior to being made viewable
You do not have to use FTP or other methods to deploy pages to your website. You can also use more stable and secure methods of deploying entire Drupal sites, using tools and software, including git and SVN.
Development costs are low, as Drupal is available free of charge
There is an active community that can help to answer any questions that you may have
Drupal is actively maintained and enhanced, which helps to ensure that potential security issues are rapidly found and fixed
Drupal can be used effectively by a wide range of people, even if they do not have any programming experience
Site management can be delegated to a team of people, who can share responsibility for the entire website between them or take individual responsibility for specific areas within the site
As Drupal is constantly being maintained and updated, you can gain access to new technologies more rapidly