Joomla SEO or Search Engine Optimization is one of the pillars you need to focus on if you want your website to be successful. Search traffic remains one of the best-converting channels, so investing in it is not an option, it's a must. However, it is not something which you can do overnight and typically search engine optimization services could cost you an arm and a leg.
But, there are some basics which you can and should do to ensure at the very least that your website is Search Engine Friendly. Here's our list of easy to implement Joomla SEO tips to ensure the best optimization for the least effort - these are ALL extremely important if you want to get great ranking results.
Joomla SEO tutorial and optimization tips
If you want your Joomla website to be truly SEO-optimized, you need to implement as many of these as you can. Most especially, if there are page-specific tips, rather than site-wide recommendations, you should be doing these on each and every page of your website.
1. Host your website on a fast hosting server
We'll start with something which is very simple. User Experience is a ranking factor, and one of the most important good UX signals a website can have is that of having a fast, responsive, snappy website.
Slow websites are frustrating and most users will abandon a slow website, one that takes more than 3 seconds to load or is simply sluggish overall.
So working to get your website fast is critical to good user experience and hence the most basic step in Joomla SEO.
So, make sure your website, just like ours, CollectiveRay.com, is on a good Joomla hosting server. If you're interested in switching to a fast, server, you should read our InMotion hosting review here. We use a high-performance VPS, we don't skimp here because a fast reliable service is your first step towards good rankings.
(We use InMotion because they are fast, reliable and have excellent support)
Don't go for home servers or cheap hosting servers. Get a server that is fast, reliable and Joomla friendly. InMotion does a fantastic job on hosting Joomla! websites - and we host our website on them because we want it to be fast - and Google friendly.
Remember that Google does not like websites that are not fast. In fact, Google have said this publically over and over again that website speed is also a ranking factor.
2. Keyword, Keyphrase and Topic Research
Any optimization of content for SEO reasons starts with keyword research. Whether you are doing SEO for Joomla or for any other website, you need to know what people are actually searching for - you cannot simply assume, you need hard numbers.
When we speak about keywords, we don't speak about this in the traditional sense of the word. Today, focusing strictly on specific keywords is not necessary - you can and actually should use phrases and synonyms of your target keywords - because search engines will be able to extract the content out of the article much better, though the actual keywords themselves still matter.
In reality, you want to focus on both the keyword or keyphrases and the search intent (i.e. what is the user really looking for when they search for this phrase). It is not 100% necessary to use the phrase exactly if it doesn't make too much sense, but focus on what makes sense from a user's point of view.
Also, check what and how your competitors (i.e. the website's ranking in the top 10-20 positions) are doing. If they are ranking, Google is showing you that they like what they are doing.
Let's take the example of wanting to rank for "Joomla SEO". Besides using this phrase or keyword, you should use similar keywords and phrases such as "optimizing Joomla for search engines".
You can also use hints from Google itself by looking at the suggestions at the bottom of a search page, or the keywords that are bolded in search when searching for the keyphrase.
Below you can see that Google bolded SEF, when searching for SEO. This means, that for Google these terms are equivalent and you could use SEF too in your article.
These are words and key phrases that Google associates with the term, so use them accordingly.
But how do you find the right keywords to target?
It's always difficult to find the right keywords. They are either very very competitive. Or they don't have enough good quality traffic. How do you find the right middle ground? We can tell you how we find our good long tail keywords. It's saved us lots of time. And it helps us bring plenty of great traffic.
LTP or Long Tail Pro is a tool that allows you to perform good keyword research. Alternatively, you can use a tool such as ahrefs, but this might get expensive. LTP is a good middle-ground, because you can use it until you perform the keyword research only.
Here's an excellent video about doing good keyword research from ahrefs
3. Enable Joomla SEF / Search Engine Friendly URLs
There are three main components to on-page SEO:
- The <title> tag
- The <h1> tag
- and the URL of a page
All these should have your target keyword/keyphrase in them.
In this section, we're going to discuss the 3rd of these components - the URL.
In the past, Joomla's default URL out of the box was horrible for SEO, it was a bunch of component names and parameters which only made sense from a technical point of view.
With various newer releases of Joomla, the SEF URLs got progressively better and better, until today, we have fairly good SEF out of the box (provided that you enable them).
Although you can use the built-in support for SEF URLs, it is highly recommended that you get a dedicated Joomla SEF component - these typically offer significant SEO advantages over the core component.
These components can be configured to create a specific in the form that makes most sense for you. Typically, we would recommend that articles are created as:
As you can see, we don't use categories in the URL, so that we can decide exactly what keywords we want to target for each specific page. Although you can choose to have a different configuration for your site, make sure that:
- The keywords you are targeting are in the URL
- The keywords are not used more than once (e.g. Joomla/Joomla-templates is not ideal because it is using the keyword Joomla twice)
- There are no extra keywords that are not part of the target keywords/phrases (e.g. 21 Easy Joomla SEO Tips Every Website Should Enable should become /joomla-seo, not 21-easy-joomla-seo-tips-every-website-should-enable)
Our favourite SEF plugin by far is sh404SEF - which we've added in our list of Joomla extensions. Besides creating SEF URLs, it allows you to monitor which requests are generating 404 errors, such that you can ensure you any broken areas of your site are immediately fixed.
These are especially useful after migrating a new website.
With most such components (including sh404SEF) you can also choose to redirect old URLs to the new URLs. sh404SEF also includes in-built support for stuff such as surrounding your titles by H1 tags, and other standard Google-friendly SEO techniques.
Meta descriptions are also supported by sh404SEF, and it has great support for other popular Joomla components such as Kunena forum and other popular components.
4. URL + Organizational Structure for Search Engine Optimization
Google's crawlers are not "intelligent". They are programmed in such a way to try to make sense of the data that they have available to them. They can only make sense of the content available based on how it is organized, and the actual content itself.
For this reason, it is extremely important that you organize your content in a logical structure which makes sense for the contents of your site.
This means, that you shouldn't be putting all of the content into a single bucket category (such as blog).
You should organize content into categories and sub-categories.
For example, in our case, we use such categories as Joomla, Web Design, WordPress, etc, and then we organize everything into subcategories of our main categories such as Joomla SEO, Tips and Tricks, Joomla Extensions, and so on.
This is organizing content into a hierarchical structure, and putting similar content into common categories. This helps both Google and the end-user understand where to look for specific content.
The good thing is that the CMS lends itself very well to this type of on-page Joomla SEO. By default, it organizes all the content into categories and sub-categories. Your job to optimize the content for search engines is to create the categories and sub-categories which make sense for the content you plan to provide. Together with the search-engine-friendly URLs, this goes a long way to improve your site in the eyes of Google and other search engines.
The below image shows what your content structure should look like:
How to use Joomla categories for good SEO
Let's give an example of how to do this to optimize for better positions in the search engine result pages (SERPs). We will be using the categories of our own site as an example.
Since one of the topics of our website is Joomla, we create a category "Joomla" and then multiple other Joomla specific categories nested underneath it.
So you can see that there are "Tips and Tricks", "Tutorials", "Modules". These are all nested within the Joomla parent category. We do the same for WordPress, Web design and other parent categories.
We do that for all the sections and categories of articles which we want to talk about. See below a screenshot of what it looks like on our backend.
How to use Joomla menus for optimal internal linking
We've already highlighted the importance of internal linking and we'll mention in it again throughout this article because it is incredibly important for good SEO.
Internal links are great for passing page rank (yes, page rank still exists and is used internally by Google's algorithms).
So after you've created your categories of articles, you need to create a menu structure that is optimized for passing link juice (or page rank/authority). What we do is create a home page that links to a featured articles component, so that we can feature any article from any category. Ideally, your homepage should have links to all of the parent categories that contain articles you want to rank.
We then create a menu item that links to each parent category. For each category, we also create sub-menus for each nested category within the parent category. This creates an excellent top-down structure that is fully optimized for search engine crawlers.
See below how we create our own menu structure.
5. Avoid creating very deep link structures, or very wide categories
Although organizing content into categories and sub-categories makes sense, make sure you don't go too deep. We find that categories and sub-categories are more than enough in most cases.
None of your articles should be more than 3 clicks away from the homepage, ideally, they should be only two clicks away from the homepage. This includes pagination. We avoid having articles that are paged too deeply, though for some sites this may be necessary.
Any further away from 3 clicks/links and they lose too much link juice, or page authority by being too deep in the structure of the site.
Very wide categories may also not work too well either. If you're creating a parent category that is too-wide, you won't be able to niche down by topic. For example, Joomla components and Joomla templates are very different from each other (in terms of the contents of the article).
This is because ideally, you're going to create navigational items to the categories and sub-categories. Once navigational items increase significantly, you're going to confuse your users.
If users are confused or lost, they will have a bad user experience. This means they will spend less time on your site and that sends negative ranking signals to Google.
6. Create Internal Links to pass Page Rank
Another easy to do aspect of search engine optimization for Joomla, which is many times overlooked is the practice of creating internal links.
There are two types of internal links:
1. Internal links that are used to entice readers to other content that you have written. When you are writing content, you should always link to other content that you want to rank. Such content should complement the topic of discussion for the current topic. This reduces the bounce rate and increases the time spent on site. Both of these send positive search engine signals and will increase rankings over time.
2. Internal structure links - these are links that are used to pass page rank from one page to another. When a page has a good rank (especially if it has a good number of external links), this "link juice" can be passed to other pages through internal linking.
The way we do suggest that you do internal structure links is through the menu structure. We've already mentioned above that your should organize your content in categories and sub-categories logically.
Once you've done this - you'll want to link to each of those categories and sub-categories using your menu.
Take as an example our own site - the menu, which is fixed, links to all our categories and sub-categories. This means that all our good pages are passing page rank to our other pages.
This is especially good for ranking new content quickly - because your content immediately gets plenty of good links.
Remember that at the very bottom of your tree structure, you should have a listing of all the articles which you want to pass Page Rank to.
Once again, see what it looks like on our pages.
Make sure that each URL which you want to get page rank juice, it actually featured at the menu link.
7. Make sure you have a good XML sitemap
While we already suggested a good internal link structure to make it easy to crawl your site, a better way to show Google all of your articles and pages is by creating a map of your website that Google can understand.
This can be done through an XML sitemap.
While this might sound technical, it is simply a list of URLs in a format that Google can understand. There are many Joomla components that can generate an XML sitemap automatically.
For example, we currently use JSitemap and it suits our purpose well, but there are others you can use.
It is important that you use such a component so that when you add more content to your website, this content automatically gets added to the sitemap. Generate a sitemap once and leaving it is not enough, this needs to be constantly updated and keep it current as content keeps being added.
An out of date sitemap is as good as no sitemap at all.
Google WebMasters Help also suggest and recommend why you should have a sitemap.
8. Submit the XML sitemap to Google Search Console)
Most sitemap components will generate the sitemap under the URL /sitemap.xml which is the standard location for it, this is the location search engine crawlers will look for it.
Google Search Console is an invaluable tool if you want to closely monitor how you are doing in your SEO, and one of the features it offers is the possibility of submitting a sitemap for your domain.
To do this, click on the above link, verify your domain (usually by uploading a simple file to your website), visit the Sitemaps tab and then you can submit the file directly by adding the location of the file.
You should do the same thing with Bing WebMaster Tools as can be seen below:
We won't delve into the details of Google Search Console itself or Bing WebMaster Tools here (it is too vast a topic), but if you are serious about SEO, then you need to make sure you visit Google Search Console often and understand what's going on with your site.
Same goes for the Bing WebMasters tool.
These two search engines will be the ones which generate most traffic by far. Buying access to a 100 million other directories is probably a waste of money.
9. Include Keywords in Page Titles
A few paragraphs above we mentioned the three most important ranking factors you can control. The <TITLE> tag is one of the most important factors that influence the rankings of your pages.
So you need to perform an entire exercise to make sure that all of the pages in your site have <TITLE> tags that are optimized for search engines. You need a title that is attractive because the title is what users will see BEFORE they click through to your page:
So you need to visit all of your pages one by one, and update the title of the page to create a title with the following considerations:
- Includes the phrase you want to rank for
- The phrase you want to rank for is as close to the start of the title as possible (front-loaded)
- It is highly attractive to users when considering their search intent
- It is about 60 to 65 characters long (but not longer)
- It is unique to each page (no two pages should have the same title)
To make it more attractive to users, you can use the following techniques
- Add a power word (boost, increase, optimize...)
- Add an (ideally odd) number (if you have a list of items)
- Add the year when the article was last updated
- Use curly or square brackets where possible
- Use a commanding action (Increase Your Traffic)
- Address the user in a timely way (fast, now, today)
- Be highly emotional (success, failure, ... )
- Use Title Case (capitalize every word)
These are all ways to have a highly attractive TITLE. Having such a title will entice users to click so that they can get the benefit you are pushing.
Besides the actual title itself, if your page gets more clicks from the search engine ranking pages, it starts to climb higher up the rankings, thanks to the attractive title. In fact, if you want to perform this exercise well, you should look at the pages your page is competing against, and make sure that your title is better than that of your competitors.
10. Include Target Keywords in Meta Descriptions
META descriptions are also another relatively important factor when it comes to Joomla SEO. Meta Descriptions are sometimes (not always) used by search engines to create a description or preview in the search engine result pages.
Take a look once again at the result below:
As you can see, the searched keywords are bolded in the results and we can see the exact description which we have used on this page. In the META we created a snippet that describes the contents of this page and tries to entice the user to click-through to the result.
Once again, your ranking results can get a hugely positive effect if you implement both the title and the meta descriptions carefully in such a way as to improve your Click-Through-Rate (the total percentage of people that click to your result).
META descriptions are also highly qualified by Google. As you perform the optimizations to the TITLE tag, you should also do the same with the description, such that there is a unique description that makes sense for each page.
Take a look at the following Google WebMasters video which explains why these are relevant to increase search ranking, click-through rate, and overall ROI.
Also, specifically for Joomla SEO, remember to create a description for your overall site which is optimized for search engines.
The SEO settings can be found here under System > Global Configuration > Metadata Settings > Site Meta Description. Create a meta description that carefully describes what your site is all about, using the same "logic" we follow above.
11. Ignore the META keywords
META keywords are ignored by search engines, so don't bother filling them in, they have zero relevance for Google.
12. Ensure Robots is set to Index, Follow
This is IMPORTANT!
In the image above, right beneath the Site Keywords, there is a Robots section.
This section specifically tells search engines whether or not to crawl and index your site. Make sure it is set to:
These are called search engine directives and you can read more about them here if you want to learn more. But if you have them set to NoIndex by mistake, search engines will refuse to crawl and index your site, and your site will NOT appear in search engines.
There are some SEO basics that apply to any CMS, whether it is Joomla, or WordPress or any other content being written on the web. These video from ahrefs explains the onpage SEO basics which you need to always remember.
13. Optimize your Robots.txt file to allow images to be indexed
Below there are several ways with which you can use images to make your website SEO friendly but these depend on Google actually indexing your images folder.This is the first step towards that optimization ;)
The only optimization requires is that you remove the Disallow on the images folder in the robots files.
Open your robots.txt file (in the root folder of your Joomla! website) and remove the /images line so that now search engines are not denied from indexing your images.
14. Use good names and alt tags for your images
Good alt tags are essential. Search engines give these tags a lot of relevance. Also make sure the name of the image also makes sense especially for the content, context and keywords which you are looking to rank for. If you want to rank for Joomla SEO, then your first image should be called - you guessed it - that same keyword!. The rest of the images on the page should also follow a similar keyword rich naming convention.
15. Specify the image dimensions when including images
This allows the space to be reserved in the website even before your image has actually loaded. What this does, it makes your website load faster, and it has been proven time and time again that websites that load faster help SEO greatly.
16. Make sure that your website is fast!
Make sure you enable content and URL caching and make sure that Joomla! is loading as fast as possible. Enable Browser caching by enable a Joomla! system plugin which is available by default in Joomla (Extension > Plugin Manager > System - Cache). Make sure the Browser Cache is set to yes, and make sure the plugin is enabled. Also, enabling GZIP compression helps improve loads times by compressing the content of your website (Global Configuration > Server and switch the option for Gzip compression to "Yes"). Optimize the image size to reduce load times by using Google's Page Speed Tool.
Leverage Browser Caching
Header set Cache-Control "max-age=29030400, public"
This is a great tool which does a great great job of optimizing your page load times.
Read through the Simple Performance Guide
Specify a default character set
Simply add the following line in your .htaccess to specify a default character set
If this doesn't work, research on how you an do this on your hosting server. The following is a good place to start https://www.askapache.com/htaccess/
Remove captions.js and mootool.js
Check whether any components are using captions.js and mootools. If they aren't, then its a good idea to drop them. These two scripts have been added for some JCaption functionality which many times is not used by your website, so you can remove these two javscript files completely - they are "bloatware" for lack of a better term. the mootool.js file by itself is a good 70K file so dropping it will give you a nice slimming down of your website's total download size.
Add the following to your template before the </head> ...
$headerstuff = $this->getHeadData();
$scripts = $headerstuff['scripts'];
foreach ($scripts as $path => $val)
if (strpos($path, 'mootools.js') !== false || strpos($path, 'caption.js') !== false) unset($scripts[$path]);
$headerstuff['scripts'] = $scripts;
<jdoc:include type="head" />
17. Make sure your Joomla site is mobile-friendly
In April of 2015, Google made a strong ranking signal changes. If your site it mobile-friendly, it will be favoured in search engine results to sites which are not mobile-friendly. By defualt this means, that if your site is not mobile-friendly, you site is getting a very strong negative ranking signal. So if your site does not pass the Google Mobile-Friendly test - make sure you've done the necessary changes to make it responsive and mobile friendly.
16. Create a Blog and Start Blogging
As explained various times on this website having good quality content flowing on your website is critical for modern SEO practices. We typically recommend to post a minimum of two times per week with posts being 500+ words, however, the more the better. Find interesting and searched for topics to write content about. This can come from common customer and prospect questions or you can leverage Google auto-compete or Adwords tool to research various blog topics.
19. Optimize Contact Page
Your contact page should have some very key information to help associate your business with other listings around the web. Make sure to include your business Name, Address and Phone number (known as N.A.P.). Then link your NAP to Google+ local and use microdata to help bring more readability. I'd also suggest including an embedded Google Map to your contact page in order to help link your business locally.
20. Expand Your Content
It's very important that you create completely separate pages for each service, product or location your business offers instead of simply lumping them all together on one page. This will give Google/Bing more content pages to crawl that are more specific to what your business is doing. Make sure you diversify all the content as much as possible especially when working with multiple locations. Write specific content that's unique and engaging for each seperate page.
21. Optimize Your Footer
Just like your contact page, including your N.A.P. and linking it to your Google+ local account and including microdata is a great way to give google a very rich reading of your business and the various pages associated with your business.
22. Find (and remove) Duplicate Content
Duplicate content can be a huge optimization killer. The problem is Google can't easily determine which piece of content is the correct one to index and associate with the link credit. This causes your overall page's rank to decrease. You can view duplicate content in Google Webmaster tools or use 3rd party tools like ahrefs to help audit and manage duplicate content. Much of the duplicate content that occurs in Joomla (due to categories, tags, etc) can be cleaned up with SH404SEF and/or .htaccess rewrites.
23. Optimize the Browser title for keywords you want to rank
Joomla 3 has a great feature for search engine optimization - you are able to customise the page titles for any page to whatever you want to. If you want to target specific keywords for specific pages, you can easily do this. The title is a great place to put good keywords to improve the SEO of the current page. The drawback is that this is done on a menu item level, not at page / content level - to do this at page level you'll probably need to look for an external component. So on to how we do this:
- Find the menu item which you want to optimize (say the home page) Menus > (Menu name) > menu item
- Click on Advanced Options > Page Display Options
- Find the "Browser Page Title"
- Insert the title which you want to show, ideally using the target keywords you want
- Save, close and refresh that page :)
SEO Tips Bonus: Link Building
There is no real SEO without getting good incoming links from website which are in the same industry as yours. You can do as much on-page optimizations as you want, however there is nothing as good and as an optimum ranking signal as getting good links to your website. You'll have to develop a strategy to get incoming links to your site for optimal ranking and good search engine results.
Last but not least - make sure you are developing a website and content which your users will find useful and will want to visit and share. There is nothing better than good content to Search Engine Optimize your website.
There's plenty of more stuff you can do to get great Joomla SEO optimization - but these are a good starting point!
Please leave a useful comment with your thoughts, then share this on your Facebook group(s) who would find this useful and let's reap the benefits together. Thank you for sharing and being nice!
Disclosure: This page may contain links to external sites for products which we love and wholeheartedly recommend. If you buy products we suggest, we may earn a referral fee. Such fees do not influence our recommendations and we do not accept payments for positive reviews.