Intro to Joomla - Series Summary
Congratulations! You've made it to the end of this series. You should now understand all the basics of configuring and managing a Joomla 4 powered website. In this final chapter, you will review some of the key elements from each chapter. Then, I will guide you towards other useful resources you may be interested in.
Chapter 1: What is Joomla?
In this series, you learned about the Joomla content management system (CMS). Joomla is a free, open source CMS developed and maintained by Open Source Matters, inc. with the help of a global community. A content management system is any software platform that allows users to create, modify, and publish information. There are many content management systems out there servicing different niches. Joomla is best for complex websites with extensive collections of articles and refined control over users. This makes it ideal for large corporate/organization websites, though it can be used for many other purposes.
Joomla is installed on a web server that supports the PHP programming language and MySQL databases. All files and information are stored on the web server. When a user requests a page through their browser, Joomla generates the page and the web server delivers it to them. Most web servers are managed by web hosting companies, which cost money to use.
The two key areas of a Joomla installation are the front end, the side users and guests see, and the back end where administrators can make changes to settings and content. The most important site settings can be found in the global configuration of the backend.
Joomla websites comprise various core and third-party extensions. Major extension categories include components, which are usually larger, complex pieces of software, modules, which are smaller blocks of code that usually display information, templates, which give a website its style and layout, and plugins, which run in the background making everything work.
The core format for content in Joomla is articles, which are documents written in HTML. Articles are sorted into categories.
Sites are navigated using a menu system. A menu allows users to open pages by clicking different menu items. The structure of a menu also can be used to format the way URLs appear in the browser address bar.
Chapter 2: Set Up Your Joomla Test Environment
Joomla can be installed locally on your computer for testing purposes. The software demonstrated in this series was XAMPP, which contains the web server application Apache and a MySQL database program called MariaDB.
Joomla is installed by extracting the downloaded archive file from Joomla.org into a directory on your web server. The Joomla installer will guide you through the process of configuring your basic site information, MySQL database connection, and Super User account.
Chapter 3: Administrator Essentials
The home page of the administrator panel (backend) when you log in is the admin dashboard. Here, you can find various administrator modules related to your website. Some show statistics, some show update information, and others are just links to other areas of the backend.
The global configuration contains many important site settings, like the site name, database connection, SEO settings, performance settings, and more.
Chapter 4: Article Editing
Articles can be viewed and created from the Article Manager page. When you open an article, you're taken to the article edit page. The article edit page contains the editor, where you can edit the article itself, and many configuration options related to the article.
Each article must have a title and an alias. The alias is the part that is used in the URL for the page.
Articles are sorted into categories. The default category is uncategorized.
Articles are edited using an editor. The default WYSIWYG (what-you-see-is-what-you-get) editor is called TinyMCE. It allows you to format HTML documents without needing to understand HTML.
Before an article becomes live on the site, you must publish it by changing its status from unpublished to published.
You can use single articles as pages by themselves if you create a link to them in a menu using the "Single Article" menu item type.
Chapter 5: Categories
Since articles are sorted into categories, it's important to understand how they work. Categories are collections of articles and/or other categories. If a category is in another category, it's said to be a child category of its parent category. Categories with no parents are top-level categories.
There are several ways to display categories of articles in Joomla. To display a category, you must first create a new menu item linking to the category. The possible menu item types include Category List, which lists all the articles in a category, Categories List, which lists all the categories within a category, Category Blog, which displays a category in a blog-like layout, and Featured Articles, another type of blog layout that only shows articles marked as featured.
Chapter 6: Navigation, Links and Menus
Joomla sites are navigated using a menu. Menus consist of menu items. Like categories, menu items can be children or parents of other menu items. There are many menu item types serving different purposes.
Each menu item must have a title and an alias. The alias is used as part of the URL, and the title is the title of the page itself in the web browser.
Enabling URL rewriting will make your URLs look better, by omitting index.php from the URL.
If custom content options are set at the menu item level, they will override the same settings set at the article level or category level.
Menus are displayed through a menu module. The menu module is usually placed in the "menu" module position.
Chapter 7: Users, Registration, Access, and Permissions
Joomla allows people to create, manage, and use accounts on your website. Each user in the system represents an individual person with their own registered account. Users log in to the website with their username and password.
The user manager allows you to manage your users, change their settings, delete their accounts, and more.
Users are assigned different user groups. Different user groups have different permissions. Default user groups include Guests, people visiting the website who are not logged in, Registered, users with a basic website account, but no content editing or admin privileges, Authors, Editors, and Publishers, responsible for content creation, editing, and publishing, and Administrators, responsible for configuring the website's settings. The highest role is the Super User group, which can change any aspect of the website.
Different permissions can be set for different user groups at a global or component level. Permissions define what users in certain groups can and cannot do. The permissions are different depending on the extension being configured.
User groups are placed in different access levels. Access levels dictate what a user can and cannot see.
In order to allow new users to create accounts on your website, you must turn on user registration in the settings. New user accounts may be verified by a user clicking an activation link in their email or manually by an administrator.
The information about the user, and the place where they can edit important user-related settings, is in the user profile. A link to the user profile may be added as a menu item.
When one user is editing an item in Joomla, the item becomes checked out. Items that are checked out cannot be edited by others until the opening user saves and closes the file, or an administrator manually checks it back in.
Chapter 8: Templates and Module Positions
The layout and style of a website comes from its template. Templates may be downloaded and installed through the extension manager. Templates may be configured on the template styles page in the backend. Some third-party templates are free, though most are paid. Template styles may be set as default across the entire website, or different template styles may be used specifically on certain pages.
Templates organize modules into module positions. The exact names of the module positions can vary from template to template. Most templates provide a position to display a menu, logo, search box, and login form, at the very least.
Chapter 9: Extension Management
Extensions are installed through the extension installer. The most common way to install an extension is by uploading a package file to the extension installer. Most extensions can be updated in one click through the extension update page.
Some extensions may be installed using the Install From Web tab. Countless extensions can be found in the Joomla Extensions Directory (extensions.joomla.org).
We talked extensively about how to install and use Akeeba backup in this chapter. Akeeba backup is a free component that can backup your entire Joomla powered website. It's an important extension to know about, as Joomla has no built in backup solution.
Chapter 10: Performance Optimization and Security
Optimizing your website for speed and security is important to search engine rankings and the overall user experience. There are many ways to optimize your website. The easiest ways include enabling caching and gzip compression in the Global Configuration.
Third party extensions like JCH Optimize exist to provide greater performance improvements.
Images make up the bulk of large files on most websites. Compressing them, scaling them down to an appropriate size, and using modern web image formats are all key steps to take before uploading any image.
You may test the performance of your website using PageSpeed Insights.
The best ways to keep your website secure include updating Joomla and your extensions regularly, enabling HTTPS/SSL, and using two factor authentication on admin accounts.
Chapter 11: SEO and Social Networks
Optimizing your websites for search engines (SEO) and social networks is a great free way to gain traction on your website. Some essential SEO practices include using proper headings, writing quality content, and improving your site's performance.
Social share buttons allow users to share your website on social networks. For social networks to learn about your website, use an extension like TAGz to add Open Graph metadata to your articles.
Here are some links to other articles you may find useful to enhance and expand upon the content in this series.
- Media Management Guide - How to use and setup the media manager to manage images, videos, audio, and documents.
- Multilingual Support - How to setup Joomla to support multiple languages across your interface and in content.
- Custom User Fields - Add additional fields to Joomla user profiles.
- Front End Article Editing - Enable frontend article editing for your author, editor, and publisher user groups.
- All Core Module Information - A detailed reference to the setup of every single core Joomla site module.
- Selecting a Web Host - A guide on selecting a home for your new Joomla powered website.
These are some extensions you may find useful for your website.
- Administrator Tools
- Akeeba Backup: A free component that backs up your websites files and database. (free/paid)
- Akeeba Admin Tools: Useful one click maintenance tools. (free/paid)
- Advanced Module Manager: Greater control over module page assignment. (free/paid)
- FF Explorer - A free file explorer component for the backend, to manage your Joomla files and directories (free)
- Alternate Editors
- JCE - A WYSIWYG editor, alternative to TinyMCE with more customizable features and an advanced media management plugin. (free/paid)
- Site Optimization
- JCH Optimize: Allows you to easily optimize your website performance. Helps with reducing bandwidth use, making site faster, and improves rankings in search engines. (free/paid)
- Social Sharing/Metadata
- User Management/Profiles
- User Comments
- JomDirectory - A professional component for creating all sorts of directories like real estate listings, car listings, informational directories, etc. (paid only)
- Phoca Documentation - Allows you to easily display your articles/categories in a nice knowledgebase/documentation format (free with paid support available)
- Downloads and Files
- Phoca Download - Easily categorize and list downloadable files for your users (free)