Amazon.co.uk Widgets

Log in

X

Joomla has some intricate feature settings you probably want to adjust early on in your creation of a site in order to maximise your eligibility for search engine rankings without penalties. You can look at third party extensions to help address this, but why not start by optimising the system without third party additions first to see if it is enough for your requirements. Joomla is a mature content management system and there are lots of adjustments you can make before you look for more specialised tools.

These settings and changes are by necessity in different components of Joomla. Although this is confusing and you may well wonder why there is not one single configuration page it is because the changes don't universally apply to a given site, group of related sites or their content and their hosting provider.

TL:DR – Configuring your htaccess, site settings and enabling the SEF plugin all help to make Joomla search engine friendly. Adjusting the settings for menus and articles helps with Serch Engine Optimisation. Read on to find out how. Easy to do. Takes about 15 minutes.

  

Apache or Litespeed web server htaccess overrides for Joomla

  1. Check with your hosting provider that your web site configuration allows for htaccess overrides. They may need to turn it on.
  2. In a newly created Joomla site you'll find a file in the base folder called htaccess.txt. This is the Joomla supplied recommended htaccess file and contains (among other things) some SEF rewriting rules designed to help your site work with search engines.
  3. Rename it by removing the .txt and adding a dot in front of htaccess and it will take effect.

Search Engine Friendly Joomla Site settings

Opinions vary, but it is worth filling out the site settings.

  1. Metadata
    Screenshot of Joomla Site Settings, SEO section, for this site
    • Site Meta Description – This is nothing more than a brief summary of the site. It is recommended to fill it out, although search engines may use other factors and information for ranking and descriptions. Joomla will use this on any page within your site that does not have its own meta description which is bad for search engine ranking, but we're always going to have a description for each article and listing page.
    • Robots – This is set to index,follow which is the default, and instructs search engines that it is ok to index your site.
    • Content Rights – I include the Creative Commons text which is in my page footer here, so it is in the source of every article.
    • Author – I include it and it adds a meta tag with the name of the author, usually me.  <meta name="author" content="Angus Fox">
    • Joomla Version – I hide this, so as not to provide information which might help those looking for potential vulnerabilities.
  2. Search Engine Optimisation (SEO)
    Screenshot of Joomla Site Settings, SEO section, for this site
    Screenshot of Joomla Site Settings, SEO section, for this site
    • Search engine Friendly URLs – Set to yes, although perhaps not needed as this doesn't use the rewriting rules in htaccess 
    • Use URL rewriting – Set to yes, because we ar eusing Apache htaccess URL rewriting to give us a readable URL for each page like this one https://www.ezone.co.uk/blog/making-joomla-4-search-engine-friendly-sef.html
    • Add suffix to URL – because they look wrong to me without .html at the end. Doesn't really impact SEO / SEF.
    • Unicode aliases – Set to no
    • Site Name in Page Titles – Set to Before to make the page titles prettier for example when they show up in cards on social media.

Menu and Article <title> settings for Joomla

The title tag is crucial to search engine optimis ation (SEO), but what is it and how is it set by Joomla? 

The <title> HTML element defines the document's title that is shown in a browser's title bar or a page's tab.
It only contains text; tags within the element are ignored. - developer.mozilla.org

Title appears in the <head> of the document and is automatically generated by joomla according to your settings. What it contains is affected by settings.

Crucially, and possibly unexpectedly, it is NOT automatically the article title from the Joomla post. You probably want it to be the article title because it is what shows up in search results but if you do there are settings to check.

  1. System > Global Configuration > Site > SEO – 'Site Name in Page Titles' you can set this to before, after or none. I've tried all of them, it doesnt much alter SEO ranking for a given article unless you're searching for the site name too.
  2. System > Menus > Page Display > Browser Page Title – Leave blank or all your menus will use the text you put here for the title tag.
  3. Menus > All Menu items > Menu > Page Display – Check each menu on your site. Leave blank or each individual menu with it set will use the text you put here for the title tag.
  4. Content > Categories > Category > Publishing > Search Engine Title –  Leave blank or all your categories will use the text you put here for the title tag.
  5. Articles > Article > Publishing > Search Engine Title – Leave blank or each individual article with it set will use the text you put here for the title tag.

Now your title tag should be the article title and your menu title tags should be sensible. Check this site and see for yourself.

System SEF plugin - Canonical links for Joomla

  1. Open the Plugin Manager, find System - SEF plugin.
  2. Enter the Site domain, for example https://www.ezone.co.uk. This plugin enables canonical links for your Joomla site articles. A canonical link element can prevent duplicate content issues in search engine optimization by specifying the "canonical" or "preferred" version of a web page. It has to be a plugin setting not a site setting
    Joomla System SEF plugin - with a canonical link (site domain)
    Joomla System SEF plugin - with a canonical link (site domain)
  3. Enable the plugin and save
    Joomla system SEF plugun - enabled
    Joomla system SEF plugun - enabled

htaccess to force https, which is better for Joomla and everyone

Force the entire website to use HTTPS. Better for SEO.

# Force HTTPS RewriteCond %{HTTPS} off
 RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]