Joomla is a great way to build a website. While the checklist for a finished website vary based on the site's requirement, this is a generic checklist and a good place to start.

Start off by getting everything you need from your client.


What are the requirements for the site? Get a list together of everything the site needs to be able to do. Should the site have a blog? Does the site need a calendar? Will the site have any calculators? Will the site have testimonials or random quotes? What pages will be included in the site? Who is providing the copy for each page?

Copy and images

Obtain the copy for the home page, the about page, and any other pages the client has copy for. Get all images and video that client wants on the site.

Look and feel

Does the client have a template chosen? Is so, that's great. If not, walk your client through several template demos to find out what they like and don't like. What style of navigation is desired? How should the menus behave? Where should the banner be?

Develop a sketch of the home page. Where should each module go? What should the modules do?

Develop the navigation bar. What items are in the navigation bar? What do those items link to?

Once you have everything you need from the client, start building the website.

The steps

  1. Find a hosting company that deals well with Joomla and set up an account. Acquire the domain and have the DNS settings go to the hosting company. Install the latest version of Joomla. Create an admin account for you. Create an account for the client (but thoroughly consider if the client's account should have super user permissions or not, based on the clients comfort and skill level.)
  2. Make a list of all the credentials that go along with the site. What's the main admin's user name and password? What is the name of the MySQL database? What are the credentials for it? What are the credentials for the ftp layer? Put all this information together and call your client to give them the information. Or, you can mail it USPS. Don't email this information to your client.
  3. Set up the backend administration for the website.
  4. Download the editor of your choice. (I like to install JCE and turn off the Code Checking feature. I also like CodeMirror installed.)
  5. Will this be a community site? If so, download and install community builder.
  6. Will your client need any forms? If so, download a form extension and install it. (I like Blue Flame Forms and CK Forms.)
  7. Does the website need a calendar or an event list? If the client wants an actual calendar on the site, I find it easiest just to use a Google calendar and insert it into a page with an iframe. If the client was more of an event list, I am fond of EventList.
  8. Does the site need a blog? If so, download and install a blog component. I have tried at least a dozen blogging components, and I like the simplest one I tried the best. It's called Jaggy Blog.
  9. Will you need to have custom code on the site? If so, you need to download and install an extension that allows you to run php and/or Javascript. I like Sourcerer.
  10. Create an appropriate category or more than one category in the Contacts component. Add the appropriate contacts.
  11. Create appropriate sections and categories for your client for the articles.
  12. Install a template. If the client chose a template, download and install it. If the client gave you a list of colors, fonts, and graphics, find the closest template you can, download and install it. Then, modify the template's code to get the desired effect.
  13. Add a front page article, an about article, and any other articles your client has copy for. Put them in the correct sections and categories.
  14. Build the menu items for the navigation bar.
  15. Set up the modules.
  16. Have the client review the site and make the first list of changes.