Step-by-Step: How to Build a Joomla Website

While Joomla being more complex than WordPress, it is far more beginner friendly than Drupal. If you are considering using Joomla to create your own web presence, you have come to the right place. In the following, you will learn all you need to know to get started.

This post will show you how to install the software on your server and give you an overview over the basic functionality. In the end, we want you to feel able to start exploring by yourself and build the Joomla website of your dreams.

How to Use Joomla to Build Your Own Website

Below, you will learn how to create a Joomla website and start customizing it.

1. Get Your Own Domain Name

Before you can even think about building your Joomla site, you’ll need a solid domain name. It’s a key element of your website that gives a first impression to website visitors, affects your SEO and defines your brand.

In case you just need a refresher, choose a website domain that is:

  • Simple, so it’s easy to remember
  • Ends with or .org

2. Get a Web Hosting Service

Aside from a domain name, you’ll also need a hosting service.

I won’t go too much into choosing a web host, but I’ve been (and keep) recommending ASPHostPortal.

However, if you decide to choose another hosting provider, here are 3 things to keep an eye on:

  • 1. Uptime. The more the better, usually measured in percentages, such as 99.90% and 99.99%.
  • 2. Page load speed. How fast is the hosting provider? It should load your site within 500ms.
  • 3. Customer support. You’ll have to sort out issues with support at some point – therefore you should choose a host that has a good-quality and responsive customer support.

3.1 Install Joomla via One-Click Installation

Once you have a domain and hosting provider, the first thing you need to do is install Joomla. This can be more or less complicated depending on where you host your site. For example, Bluehost offers one-click install for the CMS. Here, all you need to do is log in to your account, find the Joomla icon in your control panel, click it and follow the instructions.

It’s a matter of two minutes. You can find an example if it in this post (scroll a little down the page).

3.2 Prepare to Install Joomla Manually

If you are with a hosting provider that does not have the above option, you will have to go the manual route. However, don’t worry, it’s far from complicated and we will go over it now.

The first step is to create a MySQL database. This is where Joomla stores all of your content and it is a vital part of any website built with the CMS. You should find options to create one in your host’s control panel.

To install Joomla, you need the following information:

  • Database name
  • Name of a user associated with that database
  • Password of that user
  • Database server address

Once you have that, it’s time to upload Joomla to your server. For that, you first need to head on over to the download section of the Joomla homepage and hit the big green download button.

Make sure to save the zip file to your hard drive and, when it’s finished, extract all files. After that, connect to your server via FTP (e.g. through FileZilla) and upload the extracted files to where your domain is pointing (usually the root directory). Once that is finished, it’s time to move on to the next step.

3.3 Run the Manual Installation

When all files are on your server, it is now time to open a browser window and input your site URL. If you have done everything right, this should start the Joomla installation process.

At the top, make sure to pick the right language for running your site. Below that, enter your site’s name and, optionally, a description. This is all stuff that will show up in search engines, so be conscious about it. However, you can also change it all later if you are not happy with your first choices.

On the right, you will be asked to enter the information for your Super User account. That is the main administrator, so be sure to enter a valid email address, a user name that isn’t easy to guess and a safe password (twice).

Finally, at the bottom you can select to set your site’s front end to offline mode after installation. That way, only logged in users will see your site. This can make sense for development projects and is up to you. When you are done, hit Next.

3.4 Connect Joomla to Your MySQL Database

Doing so gets you to this screen:

Here, you will need the database information from earlier. Fill everything in like so:

  • Database Type — In most cases, you can simply leave this as is.
  • Host Name — This is the hosting location of your database. Change it if it’s anything else than localhost.
  • Username — The database user name associated with your database.
  • Password — In this field goes the password for your MySQL database.
  • Database Name — Here, include the name of the database you want to connect your Joomla website to.
  • Table Prefix — Unless you have good reason to change this, you can probably use the randomly generated prefix offered by the installation.
  • Old Database Process — If there is already any data in your database, you can choose whether Joomla should delete or save it.

Again, once you are ready, hit the Next button.

3.5 Finish the Installation

The final screen of the Joomla installation is mostly a summary of everything you have done so far.

At the top, you can choose whether to install any sample data. Since we want to learn how to build a website with Joomla from scratch, leave this at None. Under Overview, you can determine whether the installation should send the configuration to your Super User’s email address.

Aside from that, you only need to check if the configuration is as you like and if your server environment passes the requirements of Joomla. When all of that is the case, you can click Install. Joomla will then set up the CMS on your server. Once finished, you will see this screen:

joomla installation successful

(Ideally) it tells you that Joomla has been successfully installed. You also have the option to add more languages. If you don’t want to do that, don’t forget to remove the installation folder by clicking the yellow button. This will get rid of sensitive files on your server.

When you are done, click the blue Administrator button. In the screen that follows, enter your chosen username and password.

You will then land in the back end of your Joomla site the so-called Control Panel. You can also get there via

Now, you can start building and customizing your Joomla website.

4. Get Familiar With the User Interface

The next step in learning how to build a website with Joomla is getting your bearings. We will use many of the menus you can see in the control panel further below, however, it helps to have a bird’s eye view to get started.

Obviously, you can get rid of the two blue boxes by opting in or out of Joomla collecting statistical data and then reading (and hiding) your post-installation messages.

On the left, you find shortcuts to frequently used parts of the admin area, such as creating new articles, changing the menu structure or installing extensions. On the right, is important information about the state of your site.

However, the most important part is the taskbar at the top. Here, you find the same options as in the control panel and then some. This is what the different menus contain:

  • System — Access to the control panel, site settings, pending or locked content items, the option to clear cache and view system information (site, server and environment).
  • Users — Manage users, user groups and access levels, add notes about users, deal with privacy related requests, view user logs and mass email everyone on your site.
  • Menus — As the name suggests, this contains all options about the creation and management of menus.
  • Content — Add articles and taxonomies, assign featured content and manage your site’s media files.
  • Components — Create and manage site banners, contacts, site updates, private messages, multilingual associations and news feeds. It also provides access to post-installation messages (we already covered those), lets you set up redirects (though you need plugin for that), view site search terms, use smart search (again, this needs a plugin) and manage tags.
  • Extensions — Allows you to install, update, manage, configure, find and troubleshoot extensions. In this menu, you can also see the state of your database and update your site.
  • Help — Direct access to important help topics in the official documentation.

All clear so far? Then let’s move on.

5. Select a Template for Your Site

Like other content management systems featured on this site, Joomla offers a way to change your site design without coding. Here, the tools to do so are called Templates. Your entire website’s look, function and feel are entirely dependent on them. So, don’t underestimate the decision when choosing one!

There are free and premium (paid) Joomla templates available. However, finding one can be tricky. Unfortunately, the CMS does not have a central directory for this. Therefore, you need to look around shops to find them.

Of course, there are a few basic characteristics you should pay attention to while selecting a theme. First is obviously your own taste. However, you should also consider the following:

  • Support — It’s great to have a technical support included, as these people can fix any issue for you.
  • Updates — Joomla constantly updates their system. Make sure your template provider also updates their templates frequently to make sure it will work with the latest releases.
  • Documentation — From time to time, you’ll need to check some features to learn how they work. Be sure there is a place where you can do so.
  • Responsiveness and cross-browser compatibility — This means your template should look great in every browser as well as on any mobile device.
  • Customizability — Check out which template features can be customized by yourself. For example, look for templates that have many module positions (more on that soon).

6. Install Your Joomla Template

Installing a template in Joomla is quite easy in principle. Once you have made a choice, you usually get it in the form of a zip file. This you can simply upload under Extensions > Install.

Either drag and drop it into the field or click the Or browse for file button to find it on your hard drive. Select it and Joomla should do the rest by itself. Alternatively, you can also install the template via its URL if you know where the package resides.

After that, still need to activate template and you do that under Extensions > Template > Styles. Here, click the star icon to the right of the template name to make it the default for the entire site.

Note that, when downloading your template, you might get additional files such as quickstartsettings and extension. The first is a complete version of Joomla including the template. That way, your new design is already ready to go when your site is set up, often including demo content. The latter can make sense to include so everything is set up as in the demo and all you need to do is exchange the content. The other two files to refer to stuff that you might have seen in the template demo site, such as sliders etc.

7. Customize the Design

When you build a website with Joomla, one of the main goals is to create the design you want. In order to do so, most templates come with at least some customization options and you can access them by clicking on the template name in the list.

Here, you can make adjustments to things like colors, fonts, logos, sizes and much more. Some templates also come with their own settings page where they let you control a lot more and preview the changes in real time. In either case, don’t forget to check out what your template has to offer and to save any changes you have made!

8. Getting Started Using Joomla Modules

Right now, even if it looks better, your site is still pretty empty. Time to change that. From here, we will go over how to create content in Joomla.

Unfortunately, we have to start with one of the more complicated topics, which is modules. These are little units of content that can appear in many places of a page. They work like building blocks that you can create different designs from. However, using them takes some getting used to. Let’s try it out on the homepage.

To build a page from scratch, it’s best to start by enabling the preview mode for module positions. This way, you can see on where exactly on your page you can add modules and the names of the positions.

To see something like the above, go to System > Global Configuration > Templates.

Here, set Preview Module Positions to Enabled, save and close. Then, go back to your list of templates and click the Preview button (the eye icon). This will then display all available module positions as shown above.

Quick note: Don’t forget to switch the preview off when you are done assigning modules.

9. Assign Modules to Positions

Alright, now that you know where your modules can go, how do you assign them to those positions? All of that happens under Extensions > Modules.

Here, you can see all which are currently active on your site plus the positions, pages, users and languages they are assigned to. However, don’t worry, these aren’t the only options available to you. Under New in the upper left corner, you find a whole lot of other blocks you can use on your site.

Let’s say you wanted to include some text about you and your site on the homepage. The first thing you would do is check where on the page it would go. In this case, this is position-2. Then, you would go to the modules menu, create a new one and choose Custom as the type. This allows you to create your own content block using an WYSIWYG (what you see is what you get) editor.

This is simply an editor for creating and formatting content that lets you view what you are doing. Unfortunately, it would take too long to go over all of the options in this screen. However, if have ever used a word processor, everything should look very familiar. In addition, you can hover over any of the icons to get a description of what it does. This way, you should be able to quickly figure out how to write and format text, insert headings, images and other media and anything else it has to offer.

When you are done, make sure that when you save, Status on the right is set to Published and that you pick the correct template location under Position (pay attention that you select one of your active theme!). Then, go to Menu Assignment (the tab below the title) and use the drop-down menu to choose the pages you want to show this module on. In this case it’s Only on the pages selected and then Home.

Save and you should see it on your homepage (and only there).

You can use this same method to insert other things into pages like blog posts (more on that below), banners, menus, images and iframes. In addition, you can also add new modules via extensions (more on that below as well).

10. Create a New Page

Now for something easier: pages. When you build a site with Joomla, you will likely create several of them. However, once you have mastered the above, this part should be much easier.

The first thing to learn about pages in Joomla is that you create them in one place and make them appear in another. This is a general thing to keep in mind that anything you create in Joomla won’t automatically show up on your site.

In Joomla, pages are simply called articles. This can be a little confusing at first when coming from a blogging background but don’t let that hold you up. You can create articles via Content > Articles > Add New Article. Alternatively, use the shortcut on the control panel. Both will get you to a very similar editing screen that you used before.

Create and format content the same way as earlier. When you are done, under Alias you are able to determine a permalink (meaning page URL). It often makes sense to put a keyword here instead of using the same title as the article. Under Status make sure that it is set to Publishbefore saving.

11. Assign Pages to the Joomla Navigation Menu

To allow visitors to access your new page, it’s time to assign it to a menu. You can do so the following way: Under Menus, find the one with the house icon assigned to it. That is your currently active one.

To assign new link to it, hover over it and pick Add New Menu Item. Doing so will take you to the screen below.

Under Menu Item Type, select Article > Single Article. Then, under Select Article you can choose existing content on your site via Select and then clicking on the title of the one you want to assign.

Now you only need to input a Menu Title at the top (which is the text that will appear in the menu) and make sure the menu to assign it to is selected on right. When you now save and close, you can use the icon on the left to drag menu items around and change their order.

When you are satisfied and go back to your site, the new item should now appear.

12. Start Blogging in Joomla

However, you can not only create pages, it’s also possible to publish blog posts in Joomla. It basically works the same way only that you will assign your blog posts to a category. To do so, you have to create it first.

You can do this under Content > Categories > Add New Category. It takes you to the same editor as before. In this case, you only have to input a name at the top (e.g. Blog) then save and close.

After that, you can assign the category to your menu the same way you did with the page before. Only this time, under Menu Item Type, choose Articles > Category Blog.

After you have done so, make sure to select your Blog category under Choose a Category. Then, be sure to check that it’s assigned to the right menu and give it a menu title that makes sense. Save and close to get it on your site. From now on, any article that you assign to your Blogcategory will show up in the form of a blog post under that menu item.

13. Install Extensions

The final thing we want to talk about are extensions. With their help, you can bring new features and functionality to your site. You find them in the official Joomla extension directory.

Just input a search term, use the categories below or the advanced search to find what you are looking for. However, with almost 8,000 available extension, it can be difficult to make a choice.

Once you know what to install on your site, you have several ways of doing so. You find them all under Extensions > Install. When you are there for the first time, at the top you find the option to set up the install from web option. When you do, it gives you access to everything in the Joomla extension directory right from your back end.

Click on any extension and then hit the Install button (twice) to automatically load it onto your site. Should this not work for you for some reason, your can simply download the extension or copy the URL where it is located. After that, you are able to use the Upload Package File and Install from URL tabs to get it on your site.

Note, that you might still have to activate parts of the extension under Extensions > Manage.

From here, you are also able to deactivate and uninstall extension you no longer need. Unfortunately, it’s a bit confusing and crowded, so you might have to search for your extension by name.

Creating Websites with Joomla in a Nutshell

Alright, this is it with our tutorial. However, as you have probably noticed, we only scratched the surface. The CMS is very powerful and has lots more options and functionality to try out.

Even if, in my opinion, it could be more intuitive and beginner friendly, Joomla is one of many excellent solutions to build your own website. It is flexible, powerful, feature rich and many other good things.

Above, you have learned all the basic steps to get started. You now know how to set up and install Joomla, find your way around the interface, change a template, include modules, create pages and add them to the navigation menu, start a blog and install extensions.

This is everything you need to take your Joomla education into your own hands. By continuing to learn, you can further improve your skill set and build better and more complex sites with Joomla. We here wish you all the best in that endeavor.

Posted in Hosting Tutorial.