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. For those, I wrote this article. Containing just the basic steps needed to optimize your Joomla website for speed and SEO. It is also set up quite practical, starting with the screens you would normally check any how while starting to configure your site. So, let's jump straight in:
Before you start configuring, I assume you have chosen a clever domain name, a reliable webhost 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.
Joomla Global Configuration
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.
Now, 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.
- Review your Site Name. Make sure it is short but relevant
- Use URL Rewriting: Set it to Yes
- Include Site Name in Page Titles: Often a good idea (not always)
- Site Meta Description and Keywords: Contrary yo what is often said, I advise you to leave it empty, to prevent the risk of duplicate metadescriptions
Next, go to the System and Server tabs for some performance options. First, set Cache to On – Conservative caching:
Optionally, you also activate the System - Cache plugin from the plugin manager, though it sometimes causes issues.
Next step, set Gzip Page Compression to Yes:
Article headings (<h1>'s)
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:
- Creating a template override. This is often the best option, but it's a bit technical.
- Use an extension like Header Tags to set the correct headings
- Play with the article options, by switching off the display of the article title in the article options, and by typing in an H1 in the article editor.
- Use the Page Display options in the menu-item for the article to set a correct Page Heading (article title should again be switched off)
Metadata for individual articles
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:
- Page title: This is the <title> element in HTML (used for the first line for your site in the Google search results). It is usually made up of either the article or menu-item, possible preceded or appended with the Site Name (if switched on). Make sure the combined length is under 65 characters, while still being as relevant as possible.
- Meta description (used for the 2 lines of description for your site in the Google search results): This can be either filled in in article or menu-item, but preferably do it on article level. Maximum length is around 160 characters. Make sure you don't use both, risking article-settings being overridden by Menu-item settings. Only for stuff like blog- or list-views fill in the menu-item meta description. Basically: make sure every URL has a correct meta description
- Meta Keywords: Do not use, Google totally ignores it
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.
Sitemap.xml and robots.txt
These 2 files help 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:
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 these lines.
Then the sitemap.xml file. By default, search engines look for it in the root of your website, though you can put it anywhere on the site (as long as you inform the search engines...). It is a file that contains the URL structure of your Joomla website. For smaller, static sites, you may be off file by simple creating it once (you can use online generators like https://www.xml-sitemaps.com/) and upload it to the websiute root. For larger and more dynamic sites, use an extensions like Xmap or Jsitemap.
Avoid duplicate content issues
Duplicate content can be a real killer for your SEO efforts. Especially avoid linking the same article to multiple menu-items. If you want to do so, use the menu-item-alias type, which does not create a new URL, but simply leads you to the existing one.
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.
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.
404 errors and pages
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 30-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.
Leverage Browser caching for faster loading
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:
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 600 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
Google Webmaster Tools
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 Ebook. However. One last step I definitely advise you to take is to register your site with Google Webmaster Tools. 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!