I’ve lost count of the number of Joomla websites I’ve created—some of which lasted a couple of hours and some of them have lasted for years—but I have a standard process that I follow when I create websites. Therefore, in no particular order, this is my checklist of things I do between creating a new Joomla website and adding the first piece of content:
- As a general rule-of-thumb, one should never edit or modify any original software files; this includes the boilerplate “distributed server configuration file” shipped with the J! installation package as htaccess.txt. Therefore, the first order of business is to make a copy of this file.
- There’s an important change that needs to be made to the vanilla-flavoured “·htaccess” file. Edit the copy of the template mentioned in the above dot-point and delete lines 139-172—in other words, everything that relates to “GZIP”—because these rules are unnecessary in nearly every hosted website environment that I’ve seen.The Joomla Forum™ is littered with stories of how the “double gzip” issue has broken people’s websites. Some of these stories are re-told in my article Joomla “double gzip” problems. Rename the edited file as .htaccess.
- Now that you’ve created a workable .htaccess file, you can configure J!’s Global Configuration settings to use SEF URLs properly. Go to System » Global Configuration » Site » SEO and refer to the screenshot on the right of this page.
- Change the session handler: go to System » Global Configuration » System » Session » Session Handler = Filesystem.
- Verify that GZIP compression is disabled: go to System » Global Configuration » Server » Server » Gzip Page Compression = No.
- Change the website timezone: go to System » Global Configuration » Server » Location » Website Time Zone = <select a timezone appropriate to your environment>.
- Install Akeeba Backup and make your first website backup.
- For J! 4.x, change the backend menu style so that it’s more like J! 3.x. Go to Content » Administrator Modules » Admin Menu » Choose preset = Preset - Alternative Main Menu (see screenshot on the right of this page).
- Now is also a good time to verify the PHP environmental settings mentioned in my article 10 things you can do today to make certain you can update your Joomla! website. The most important settings are summarised in the table below:
- If you’re going to create a favicon for your J! 4.x website, you need to create these things in two different formats (both .svg and .ico). I use Inkscape to create .svg files and IcoFX to create .ico files. You will need to create three separate files that must be named joomla-favicon.svg, favicon.ico and joomla-favicon-pinned.svg. If you want to use the same favicons for both the frontend and backend, these files should be stored in the folder media/system/images; if you want different favicons for the frontend, upload them to the folder media/templates/administrator/cassiopeia/images and/or upload the ones for the backend to the folder media/templates/administrator/atum/images.There’s a big forum discussion on this subject at https://forum.joomla.org/viewtopic.php?t=987328.
- If you want to use J! 4’s Media manager to upload .svg files to your website, you will need to tweak the Media options; see the image at the right.
- If you’re going to use a .svg file as the site logo (viz. Extensions » Templates » Styles (Site) » Cassiopeia - Default » Advanced » Logo) with J! 4.x, just remember that some browsers (e.g. Safari for iPads and iPhones) do not support scalable vector graphics format and will fall back to the text description if one exists, otherwise they will just display an empty image placeholder.
- A lot of people use TinyMCE editor; I prefer to use JCE Editor. If you want to use the <script> or <style> tags within articles or custom modules, you need to modify JCE’s settings; go to Components » JCE Editor » Profiles » Default » Editor Parameters » Advanced (refer to the screenshot below):
- The best free sitemap generator is, in my opinion, OSMap. Install this and submit the XML feed to Google Search Console https://search.google.com/search-console (formerly named Google Webmaster Tools) and Microsoft Bing’s equivalent producthttps://www.bing.com/webmasters. By submitting the sitemap your site content will automatically be indexed by these search engines.
- Publish the Footer and Breadcrumbs modules.
- Enable the Redirects plugin: go to Extensions » Plugins » System - Redirect (refer to the screenshot at the right).
- J! 4.x has a strict policy regarding minimum password length. It is not possible to bypass a minimum password length of 12 characters during installation but you can change this value after the website has been created. To adjust the password minimum length, go to Users » Options » Password Options » Minimum Password Length = n (where n ≥ 8).
- By default, J! logs a lot of activities that the site administrator performs in the backend (together with the date/time these activities occurred) but, unless you have several site administrators and you want to know details of all the activities they perform, a lot of this information is routine and not worth the trouble of tracking for a “one-person” operation. You can define which activities you would like to track on a global basis by going to Users » User Action Logs » Options (refer to the screenshot at the right) and check only those activities you may be interested in logging. If you are really security-minded, you can have these details of events emailed to you or to a nominated user account but this feature is not enabled by default.
- No J! website is much good without a functioning menu. The menu module for J! 4.x has an extra, advanced feature that allows sub-menu items to be “pulled down” to be displayed. To achieve this:
- You will be making customised CSS changes to your new J! 4.x websiteThe principle used with Protostar in J! 3.x is similar and documented at Adding a custom CSS with Protostar. It is important that any changes you make will not be lost when you update your website. For this reason you should create a file named user.css (for Cassiopeia, this file is located in the folder ../media/templates/site/cassiopeia/css).
- The procedure is to go to Extensions » Templates » Cassiopeia Details and Files and click the New File button (refer to the screenshot at the right of this page).There is an online tutorial of whole procedure at https://ltheme.com/create-custom-css-with-cassiopeia/.
- A popup dialog appears:
- highlight the target folder (pointed to by the arrow in the image on the right),
- enter File Name = user,
- File Type = .css, and
- click Create.
In conclusion, while it literally takes about ten minutes to install a J! 4.x website, there about twenty preparations that I make to a new instances of J! before I have created my first article. These few preparations take less than an hour—although designing unique branding content such as a site logo and favicons can take hours—these preparations will save days of scratching one’s head wondering why your new J! website has become a maintenance nightmare instead of getting on with the business of producing web content.