I know there is a lot of information on my site, and I can image that this may be a bit too much for beginners, or you need a shorter checklist to see whether you have covered all steps. For those, I wrote this article. It only contains the basic steps needed to optimize your Joomla website for SEO. It is set up as practical as possible. Note that this page at new sites. For existing sites, you should also be careful not to change your URL's, which is what happens with some of the steps I describe. So, let's jump straight in:
I know there is a lot of information on my site, and I can image that this may be a bit too much for beginners, or you need a shorter checklist to see whether you have covered all steps. For those, I wrote this article. It only contains the basic steps needed to optimize your Joomla website for SEO. It is set up as practical as possible. Note that this page at new sites. For existing sites, you should also be careful not to change your URL's, which is what happens with some of the steps I describe. So, let's jump straight in:
Before you start configuring, I assume you have chosen a clever domain name, a reliable webhost (I can recommend Siteground) and a template that performs well in both SEO and performance. Also, it is crucial to spend some time looking for keywords that you could use in strategic locations on your site. And one more thing you should understand: we want to rank high, but we also want people to click on our links in the Google result pages. For this, we need to optimize both the Page title (1) and the Metadescription (2), as they will appear in Google:
One thing that you should do first is to go to the location of your Joomla installation, look up the file called htaccess.txt, and rename it to .htaccess.
Then, assuming you already installed Joomla, go the Global Configuration screen, and fill in the required parameters. I only indicate stuff that might need changing. If the default is fine, I will not discuss it in this article.
Next, go to the System and Server tabs for some performance options. First, set Cache to On – Conservative caching:
Next step, set Gzip Page Compression to Yes:
A bit hidden are the options for URL Routing. This sounds complicated, but just follow along: for new sites the described settings are best for clean URLs:
Go to the Articles overview and click on the Options button (upper right). In the Integration tab, you will see an option called URL Routing. By default, it is set to Legacy. Set it to Modern. After doing so, you see a setting called Remove IDs from URLs. Set it to Yes:
Now, prepare your site for correct article headings (meaning the H1, H2 tags, etc in HTML). Your goal is to make sure that every page contains a correct H1-heading (only 1), corresponding to your main message for this page. In most cases, this will be the title of the Joomla article. You can achieve this by:
If all this sounds to complicated, just skip it. This something that can be corrected at any time, without issues.
At this stage, your default global settings should be fine, and it's time to worry about your individual articles. Let's first look at metadata. Usually, when we talk about basic metadata, we talk about these 3:
You can set your metadata in each article (under the Publishing tab), but you also find the same settings in menu-items (Metada tab). Note that metadata set in the menu-item overrides the metadata set in the article. In the beginning, I advise you to set metadata in the articles:
Using an extension like OSmeta (or SH404SEF for advanced users) can help you to keep an overview and make further customizations.
Every image should be optimized for both SEO and performance. It already starts when you create the image on your PC: Make sure you give it a file name that is relevant for the image. If it is an image of a bird, name it bird.jpg, etc. Secondly, make sure you make it as light as possible. An image quality of 60% is often good enough for the web, and it can save you many kB's. Also, crop it to the exact size you will use it for. Also, there are dozens of optimization techniques you can use to save further kB's (Smush.it, responsive images, bas64-encoding, etc.).
Then, while adding it to your Joomla article, make sure you add an alternative description for the image. If the filename is already relevant, you may use the JCE-editor, which simply takes the filename (without the extension), and uses it as the alt-text. In HTML view, this should result in something like this:
<img src="/images/image-xxx.jpg" alt="alternative description here">
Make sure you build a proper and logical structure, especially if you have a larger site. Subdivide your articles in categories and also make sure to properly open up these categories in the menu-structure. As an example, here on this site, I have categories for SEO, Speed, Extensions and Blog, and all are collected to a separate menu-item. It sounds so simple, but a proper structure is really the foundation for proper SEO.
This file helps Google and other search engines to understand the nature and content of your site. Robots.txt is provided by Joomla, but you may want to check whether it contains the correct values. For older sites, they may contain the following lines:
Disallow: /images/
Disallow: /media/
Disallow: /templates/
This blocks access for Google to folders that are relevant for understanding your site. With new Joomla installs, these lines are no longer active, but if you have an older site, make sure to remove the lines for images, media and templates.
Sitemap
Then Sitemaps. These help Google in indexing your site. Best is to use an extension for this. OSmap is perfect for beginners. Just install it and look up the URL for your sitemap: Go to Components >> OSmap and lick on the word XML:
The actual sitemap will open up. Copy the URL from your browser and rememeber it for Google Search Console (see lower down this page)
Duplicate content can be a real killer for your SEO efforts. Especially avoid linking the same article to multiple menu-items.
Also something that can often be fixed quite easily, is to avoid access to both the www and non-www version of your website. Using some simple rules in your .htaccess file can easily fix this, making only one of those accessible, and routing traffic from the non-preferred to the preferred one. And, if you SSL, amke sure to enforce the https version.
Other means of avoiding duplicate content can be achieved with further .htaccess tricks and use of canonical URLs. Often this is stuff for advanced users. I see many beginners trying to use these, often doing more harm then good!
Avoid changing URLs in your website. If you rename an article or a menu-item, make sure to retain the alias, as otherwise your URL will change. If you do have to change this, make sure you create a so-called 301-redirect that leads the old URL to the new one. You can use the Joomla core Redirect Manager for this.
Also make your template displays a nice-looking errorpage to your users instead of the ugly default Joomla error page.
This technique is a very simple way to enhance the performance of your site. Simply add some code to the .htaccess file of your website and any user who has once visited your site will have a much faster pageload on subsequent pages and visits. Also, this technique has hardly any serious drawbacks. Note this is a simple version, extend as needed:
<IfModule mod_expires.c>
expiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 600 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
</IfModule>
Further optimization of your website loading time should be attempted if possible. Again: there are numerous techniques, check the performance section of this site (especially about optimizing CSS and Javascript). Also pay attention to mobile performance.
SEO is often a process of many small steps and optimizations, and there are many more steps to take, but for this I advise you to read the other SEO articles on my site, or read my book. However. One last step I definitely advise you to take is to register your site with Google Search Console. The process is pretty easy to do, and Google will instruct you of the steps to take. Especially with new sites, registering them speeds up the indexing of your site a lot! The one task within the tool you should absolutely perform is to submit the URL of your sitemap.
Joomlaseo.com is fully built and written by Simon Kloostra, Joomla SEO Specialist and Webdesigner from the Netherlands. I have also published the Joomla 3 SEO & Performance SEO book. Next to that I also sometimes blog for companies like OStraining, TemplateMonster, SEMrush and others. On the monthly Joomla Community Magazine I have also published a few articles.