SEO tips & tricks for Joomla CMS(2019 Update).
Introduction.
This guide for Joomla is filled with useful tips and tricks for SEO to get the most out of your content using the Joomla CMS. The big difference between Joomla and say WordPress is that you will initially have to put in more work, but in the end, you will be able to rank higher if you follow this guide. While working on my website looking for the right balance and SEO options, the initial task was mind-boggling. Most articles said that for the right SEO, you spend a lot of time for the least amount of gain they are right to some extent. I do enjoy tweaking everything from my PC to mobile phone and hence my website as well. While I did find useful articles that gave me a more significant insight none were just the right article that covers Joomla SEO. This is where this article comes in. I will show you my route to a 99% PageSpeed score and a 98% Yslow score. Remember, SEO can be boring with little short-term gain; the gain is long term and better user experience. While this article covers SEO for Joomla CMS, it can be used as a source for other variants of CMS's and websites. The big difference will be you will need to find some modules/plugins that are explicitly built the CMS you are using.
SEO 2019 Update.
The article has been updated to reflect some changes for 2019 SEO optimisation as well as some Joomla plugins and modules that have been either updated or removed altogether. If you revisit this article, my overall ratings have slightly declined, and I am specialising more into Google since that is the most common search engine. Still, I also try to consider my options for other search engines such as Yahoo and Bing. My site has become more complex as well as it has grown since I wrote this article. However, the basics remain the same for the most part, but I have further tweaked my site, and I changed the sitemap generator to OSMap and made use of the Google Structured Data extension to make use of rich snippets.
Reference my progress here: GTMetrix Report and select the history tab and see my website's performance throughout the years.
SEO?
Just covering the basics of what SEO is, there are plenty of articles on the internet that will cover this in debt. But to understand what SEO does and means for you some of the basics for you to digest. SEO stands for Search Engine Optimisation, in layman's terms how to optimise your site to be digested by search engines. The better your SEO score is, the higher you will rank among sites that compete for your market share. Running a blog or an online shop, you will end up competing with someone somehow and somewhere. Whether you post ideas, experiences, or you are selling a product, and you want to reach out to the right people.
For those who came across this article searching for more in-depth not regarding SEO for sites not using Joomla. I have found a great beginners guide that covers the basics of SEO for any site. May it be Joomla, WordPress, Wix etc. you can get started by visiting: Essential SEO Beginners Guide. The article also provides some insights on tools that are used for SEO on any website.
The basics of SEO.
The does and don't of SEO; some practices are heavily advertised on the internet regarding SEO. When caught in the act, you will get a penalty, and the likes of Google tend to remember those offenders for a long time. Whatever you do stay away from so-called "black hat" practices like a contagious decease.
Black hat & no go of SEO.
- Stuffing of meta-tags relevant or not and never exceeds 20 meta tags.
- Hiding random text stuffed with keywords like using white text on a white background.
- Pay for links to your site, also known as link farms.
- Involvement in a PBN, Private Blog Network resulting in linking loops.
- Posting your website link on websites and blogs that are not relevant to your content.
- Specific SEO tools that claim to offer automated link building.
Good SEO practices.
- Content is king, quality of the content you serve is vital.
- Use your social media to gain exposure to your content & backlinks.
- Try to use SEO writing, the most challenging learning curve of SEO.
- Guest writing on websites with a higher authority.
- Correct use of HTML markup such as header text.
- Using a CDN, Content Delivery Network.
- Enable Gzip on your Server.
- SEO friendly URL's, also known as SEF.
- Prevent broken links, essential maintenance of checking linked content.
- Minify HTML, CSS and Java scripts, reducing page size increasing loading speeds.
- And then, I will go through the above in greater detail below.
Diving deeper into SEO.
As listed above, their SEO involves everything you use while managing a website. The Server (s), content, programming languages, getting natural backlinks to your website, etc. You can take my word for the black hat SEO practices if not please feel free to google for more information. Now it is time to get down to the nitty and gritty of SEO and go over everything from A to Z in detail. If you want to have a sneak and peak of your actual SEO score, I use this website for my score tests called GTMetrix.
Preparing your Server for SEO.
Once you have installed the basic Joomla, added some of your content and selected your template you have the framework to kick of SEO. The core of your effort will be your Server; it will be vital to get the right settings depending on the host most locations, and they will be set from the get-go. Several settings need to be checked if not set to have the best settings and those all start server side.
The first part is the robot.txt file this will point and set rules for the crawl bots that are used by all search engines. You can allow and disallow access to files and folders using this handy little text file. Joomla sets these settings for you; for the most part, I did not change anything with allowing or disallowing. There are however two vital settings that need to be added, first pointing the robots to the URL your sitemap is located. Copy and paste: Sitemap: http://www.yourdomain.com/sitemap.xml into the robots text file. The .xml and robots.txt should be in the main directory unless you want separate files, but those are not needed. For most servers, this is /public_html unless you installed Joomla in a different folder to ensure the right location for your files for it to work correctly. Next is a simple pointer to the URL you want to use this is either http://yourdomain.com or www.yourdomain.com. Copy and paste: Host: www.yourdomain.com into the robots.txt, so the robots will see the preferred URL markup your site should be archived under.
Next up is the .htaccess file for the larger part Joomla has added some rules, and for SEO you might need to add some rules or change them where needed. However, before you start editing, please make a backup, I can not state this clearly enough to make a backup because this file can make your life miserable. You can get the original if you do not have a backup by downloading the full Joomla .zip file and use that if you can not find it at all or forgot to make a backup. While it is rare, you want to check that you can use the .htaccess file for SEO, check out this article to check whether your host is capable of using the .htaccess file. Now you can start to make your edits remember rules are set unless they have a # added in front or behind them, they've also used a spacer and to point out information. For browsers to see how long they can store files in the browser cache unless files on the Server are updated you need to add some code to inform the browser. The browser handles the caches there is no editing required, but the browser needs to know how long it can keep the files, not too long and not too short. Copy and paste the code below or change the periods but these base values are SEO optimised.
## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
## EXPIRES CACHING ##
The next bit of .htaccess is a security portion, and yes, security is something that falls under SEO rules. When adding this line, you plug a small security leak that allows for specific exploits to gain illegal access to your Server. If you are using a server where you can access the actual apache configuration such as have a dedicated hosting machine, you want to read this part. Copy and paste the code below as is, it is SEO optimised.
## Misc Security ##
ServerSignature Off
RewriteCond %{HTTP_USER_AGENT} libwww-perl.*
RewriteRule .* ? [F,L]
The next part is setting up the Server for the nice, and so much needed clean URL's. This is part of the SEF part where you start SEO Joomla from the back end. Search engines crave clean URLs since they give a clear picture of what the page is about by using in most cases title of the article or file name. Scroll down to the part that says ## Mod_rewrite in use. and make sure that you uncomment by removing the # in front of RewriteEngine On. This will prep your Server to parse SEF settings later on in the Joomla administrator backend and this part also you need to add a rewrite to a URL make up. You can access your web page through several combinations with URL makeups, HTTP:// or with www. the code here will force a browser to use one markup. All traffic will now point towards a single URL makeup you can also replace the HTTP:// with https:// if you have an SSL certificate. Copy and paste the code below you can change it around to the URL make up of your taste and the URL you will use in search engine webmaster tools.
## Mod_rewrite in use.
RewriteEngine On
rewritecond %{http_host} ^yourdomain.com [nc]
rewriterule ^(.*)$ http://www.yourdomain.com/$1 [r=301,nc]
Scroll down you will find the final rule that must be uncommented to enable SEF to look for RewriteBase / and remove the # in front. There is no need to edit any more items or add more coding now you need to save the .htaccess file.
Ensure you have a copy of the .htaccess this file is now ready to be uploaded again or saved directly on the Server. One final action must be taken while this is on the Server for the .htaccess to work and starts doing it's magic, click on the file on your Server. Remove the.txt from the end and place a .(dot)at the beginning, so the file is called .htaccess and the Server can read the file and deploy the settings.
Preparing Joomla for SEO.
For this part, we need to dive into the back end of Joomla you probably have guessed you need administrator rights to gain full access. Part of SEO is the web page loading speed and the size of the pages, especially the landing page, your main URL: yourdomain.com in most cases. To ensure you have the best loading speed refrain from installing modules and plugins you won't need or don't use if that is the case remove these. They tend to clutter the calls your web page makes on the Server slowing down the loading process, reducing your SEO score. Even modules and plugins that are not in use could potentially leave clutter on your web pages so remove them if you do not need them. For some SEO work, I only had to use two modules/plugins that will aid in a better experience, robots access, and loading speeds. There are other modules and plugins I have tested these two, giving me the best experience you could test out other modules or plugins if you wish. The first plugin/module is called OSMap it will crawl your Joomla content and index it into a sitemap.XML you later must submit to search engines. Crawl robots will have an easier time indexing your website, and you can assign a priority number indicating the robots the importance of your content. The 2nd extension is called Google Structured Data; it will add schema.org to your website and content that will aid with CTR & SERP.
Now to start from the top, the most significant portion is located in the Global Configuration panel under System on your right-hand side, you see the SEO Settings. Preparations have been made for this portion by editing the .htaccess file, set Search Engine Friendly URLs, Use URL Rewriting and Adds Suffix to URL to YES. Save & Close these settings now go to Extensions --> Plugins and type System - SEF plugin enable and save this plugin to finish the SEF settings. This will rewrite your content URLs to something like https://www.yourdomain.com/contact.html you can test this by browsing the front end of your website. Below is the Cookie settings, the pain is too much over the gain; thus, I will not cover these settings furthermore the SEO score will not benefit significantly from it anyway.
Open System --> Global Configuration and the left-hand side you have Site Settings here are some site Meta to fill out, describe your website in the Meta Description. Add your Meta Keywords you can use several words and space but close the keyword with a, to add the next Meta Keyword remember to use no more than 20. It will look something like: your name,site name,content 1,content 2,location 1,location 2 also worth mentioning try to have at least 10 Meta Keywords. Google has lowered the weight of scoring for Meta Keywords, but it is still widely used, so having them is handy either way. Right below that is the Robots option make sure that is set to Index, Follow so Joomla does not block access to your content unless wished otherwise.
Staying in the Global Configuration panel, we move on to the System several settings need your attention both to have a high SEO score weight. The Cache Settings set Platform Specific Caching to YES and System Cache to ON - Progressive caching you can lower or increase the Session and Cache Time if you wish.
Moving to the next tab called Server there is HTTPS option if you have HTTPS certificate and you can get it for free with Cloudflare a CDN provider. HTTPS can be left OFF since you will be using a CDN that will give you HTTPS from their Server to the end-users. Unless you are using an HTTPS certificate from your hosting provider, you will have to configure this and turn it ON. The CDN portion I will cover further down in this article it will have an impact on SEO so having HTTPS is a good idea and you can for free, so that is even better. Then there is one final option called Gzip Page Compression you turn this on, reducing content size for people browsing your website considerably. Gzip has a nice weight on SEO score as well, and it will reduce resource usage by browsers. This will help if you run on a resource-stretched server. Error reporting can be turned off while testing out your settings, but when you are done and satisfied, you can turn this off, it can be useful for finding errors if any occur.
Next up are the plugins as mentioned above, go to Components to find OSMap, and you can find Google Structured Data under Components. OSMap and Google Structured Data both work out of the box for me you can just turn it on by selecting the Status to the drop-down menu and select Enabled. You can tinker with the options, but the out of the box settings work perfect, and you will get a little gain from tweaking them further.
OSMap.
OSMap is also very easy to use; it is a couple of clicks. Just to give you a short run down if you feel overwhelmed, there is a default sitemap this will work for most users out of the box. The .xml version is the URL you want to submit to search engines and place them in your robot.txt file. You can use the .html version on your website for easy access to all content on your site. The image sitemap will simply collect all the images so they may be indexed separately. The news sitemap can be submitted to Google News; this is useful if you provide content on current events such as news or gossip. By click on the Default Sitemap any other sitemap, you can set the crawl rate for the search engine bots as well as the priority.
Google Structured Data.
Google Structured Data is very easy to use Joomla extension to enable Rich snippets and will improve our CRT with the Google BERT update. This, however, will take time since Google will need to crawl your site and index all the schema.org markup for each page and process that. Depending on your site rank this can take from a couple of hours to weeks. The code is, however, highly optimised, so there is no impact on your site performance. Make sure when you add structured data that you use the correct schema, such as FAQ schema for an FAQ, Article schema for your generic content, be aware that selecting the wrong schema might result in Google not using your structured data automatically or manually. You can test your rich snippets with a free tool from Google located here: Rich Result Test it will show you what rich snippet(s) a given page is eligible for. Another great free tool from Google is the: Structured Data Testing Tool. This will test a given page on all structured data such as breadcrumbs, site logo, etc.
Search Engine Webmaster Tools.
The three main search engines that have the largest market share have a unique backend for webmasters where you can monitor and digest website details from the search engine side. Here you can also add your sitemap what results in a better crawl rate and indexing of your website besides the robots.txt file on your server root. Search Engines give a high score to sitemaps with the right markup even more so one that has been submitted on the webmaster tools backend. What is the difference between the sitemap pointed out in the robots.txt and the sitemap submitted directly to a search engine is that you need to prove ownership of the domain. There are several ways of having ownership verified a common practice is uploading an HTML/XML file to the website root another one is adding a record to the DNS registrar. Search engines give a high rating to content served through the sitemap from the webmaster tools since this is confirmed content with ownership details providing credit to the content. It will not negate the rest of the SEO rules; you still need to serve good content and use good SEO practice overall. Make sure to register an account so you can make use of all features and submit your sitemap to each search engine. You can submit the same sitemap to each and all search engines.
After confirming ownership, you can submit your sitemap it will take up to several days for the first crawl to happen. More time is required for statistics to be displayed such as backlinks, keyword search results and crawl statistics for each search engine. In the meantime, there is a website I like to use with some handy SEO tool called smallseotools.com use this to check your keywords, another SEO score checker, among others. There is a backlink maker tool there as well that I want to highlight it will submit your website URL to various website SEO and information sites such as alexa.com these are good backlinks. The only reason I took the plunge, so to speak is that I know this website has reliable tools and does not recommend or uses black hat SEO tricks that will get you a penalty.
CDN, Content Delivery Network or Content Distribution Network.
Using a CDN will gain you a nice chunk of SEO score with Yslow vastly increases your page loading speed and increased security with a shared SSL. For my website, I am using Cloudflare what offers free services with an option to buy a subscription every month. A CDN will store the content of your website over a cloud network of data centres and then serve the content to the end-user from the closest data centre. You will have to create an account with Cloudflare to use their services, but the basic plan will be free if you have more websites you can add them as well but make sure to update your DNS settings for each domain. Important to remember that the SSL certificate will take up to 24 hours to be issued to your site do not enable HTTPS links in Joomla and the .htaccess file. If you already own an SSL certificate you can also use that throughout the Cloudflare CDN service make sure to check your settings. The process of adding your website to the Cloudflare service is a click by click process the only real effort is pointing the name server to those of CloudFlare in your domain registrar. Two name servers will be displayed that you need to add in your domain DNS registrar, most likely your host provider has examples for most hosting company's. Cloud Flare also expanded their support and has various examples on how to update your DNS.
- Enable DNS Settings in Cloud Flare in DNS Settings.
- Enable SSL and wait for 24 hours and select the Flexible option. Unless you have an SSL certificate with your hosting, then you will need to enable Full setting.
- Enable Speed, Caching and Network settings as you desire. These will be site-specific, but Auto Minify, Brotli, Caching Level Standard, and Always Online TM are reliable options to use.
SEO Writing.
Writing in itself is an art to top it off you need to write in SEO. In short, that means you need to sprinkle in keywords and your tags throughout the article you are writing. While doing all that you need to ensure you do not overdo it, there is no way I can show you as I am currently even as I am writing this article a student regarding the subject matter. This will be a skill you will pick up over time experienced writers like a journalist will have a much easier time being a good SEO writer. SEO writing is not going to put you on the first search rank on every keyword; it will make it easier getting there, especially over the long run since the quality content is king. But at the end of the day, you are still writing for humans and not for robots, the user experience itself must not be lost another critical factor to consider as an SEO writer. A great tool in becoming a better writer is Grammarly a free plugin you can use while typing and comes with a spell and grammar check. Another critical factor is the article length in the number of words used per page you ideally want to have more than 300 words and the number of words increases you can use the Page Break option in your favourite editor and split your page into several subpages like with this article with an index on the top right.
Header Tags.
Using the correct header tags will be vital for the readers and crawlers to understand your pages there are many misconceptions when using header tags like using H1 for the first paragraphs then H2 for the 2nd paragraph. This is, however, no the case, H1 is the article name preferable the same words as in the URL. H2 is for every paragraph within your article, so it is fine as you use multiple H2 tags. Use H3, H4, etc. when you want to structure a lengthy paragraph. This way man and machine can understand the layout of your content by just scrolling your page and see the headers.
- H1 Header: Used only once in an article at the top of an article as the title.
- H2 Header: Used for every paragraph like every header for each page break in this article.
- H3 Header: Used for every sub-paragraph below H2 header to break up large volumes of text.
- H4 Headers etc.: Used to break up sub-paragraphs hardly ever used but handy when you need it.
Illustrate.
There is more to writing then just text you will also want to use media such as images or infographics while people would prefer to consume video content, but for something like guides, the text is easier to read and also loads faster on mobile devices. However, media can also highlight a specific feature within your content like a product photo or highlight a step(s) within a guide or how-to article. But ensure that when you add media that you add the metadata as well such as title and description so a search engine crawl bot can understand how the media relates to your article.
Ghost Writer.
If for some reason you find yourself to busy handling the writing aspect of your website, you lack the time or even lack the writing skill because English is not you're native language. Or simply you have to much content you can not handle on your own you could consider hiring a GhostWriter. To find a Ghost Writer, this article called How to Hire a Ghostwriter and get a great ROI will go into greater detail, especially when considering when investing capital. The article, as mentioned above, covers that for financial advice, a critical point in the article is to find a GhostWriter with the technical know-how on your niche.
Backlinks.
Getting links to your site is a process you that will take time with good content you could become a reference or your content is shared among the social webs. Cross-promotion can also serve you well and exchange links on the same content with other websites to gain backlinks, Posting on relevant forums and websites will also help you gain backlinks but ensure that the content from websites and communities align with your website. Gaining good high-quality backlinks will take time, and you will have to keep adding good content to gain links without having to ask for it and for crawlers to find the links. In SEO it is vital to get backlinks even more so is the unique backlinks so getting 100 backlinks from one site might be nice but getting 100 backlinks from different sites is better for your ranking in search engines. But make sure the backlinks you gain are of the highest quality linking from and too bad websites will hurt your SEO and defiantly make sure that the backlinks are not injected with malware.
Outbound links.
Outbound links help with gaining authority for your page but do not link to low-quality and ad-filled websites that could hurt you. You want to add at least three outbound links per 1000 words in each article more is allowed when you require to refer to resources. When adding links, make sure they open in a new tab if they open in the same window you will get a higher bounce rate since the user will leave your web page.
Page Loading Speed.
Ranking higher in a search query you will have to have good loading speeds on your website. You want to keep your loading speed below 2 seconds, or a user might leave your site before even seeing your content. This will mostly affect mobile users who tend to be on lower connection speeds even more so in developing countries. Loading speed is also affected by your hosting provider and how much resources your hosting account comes with as well as the above mentioned CDN. Many steps in this Joomla SEO guide are there to increase your loading speed and why the GTMetrix score is so crucial for attracting more viewers.
Image optimisation.
The most significant factor on your site in terms of page size is the use of images you want to use as many images as possible to illustrate your content without slowing down the loading speed. Images like high resolution or even infographics will use more Kb's then really needed. Also, to consider here is the width and height size of a 4K picture that will only be displayed in 400px will impact your website performance.
- Ensure you use the right physical sized image in pixels.
- Decrease the image size by compressing it using TinyPNG.
- Add Title tags, Alt tags and descriptions to your images.
- JPG is preferred unless you need a transparent background.
Rich Snippets.
In 2019 Google made a major update to its search engine algorithms called BERT(Bidirectional Encoder Representation from Transformers)where rich snippets have become more important and also affect voice search. BERT should be seen as an addition to the current SEO, not an overhaul and to rank better, you will have to make use of rich snippets. In short, rich snippets are a structured data mark up that webmasters can add to their website(HTML), so an algorithm like BERT can better understand what the information on each webpage on your site is about and serve this to users in the form of snippets. Rich Snippets work for desktop, mobile, tablet any other device with a basic web browser and will significantly help with your CTR. Joomla currently does not has inbuild support for rich snippets, but there is a great extension called Google Structured Data there is a free and paid version of this extension. This extension will add the schema.org markup to our articles and allows for integration with most 3rd party extensions like K2, SP Page Builder, and Virtuemart. Google Structured Data will also enhance your website overall by adding your site name and logo, our search box, social profile links, bread crumbs, and local business listing. But Google is not the only search engine that uses structured data other search engines like Bing and Yahoo will also be able to use the structured data that is even better it does not slow down your site one bit. In short, the BERT update is the biggest in 5 years for SEO, and you defiantly want to make good use of it you might even notice a decrease in traffic since other sites started to rank higher. Below is an example of a search query where an article from hisevilness.com is used as a rich snippet result.
Click-Through Rate(CTR) & SERP.
These are important terms in SEO as they are a translation of your website's performance in search engines. These metrics will tell you how good your site is doing with certain search terms in the Google Search Console. In short, after following this Joomla SEO guide your CTR and SERP should increase.
Click-Through Rate(CTR).
This metric will show you from the X amount of impressions(the number of times your sites was listed in a search query) users click on a link to your site, a higher CTR is always better and will tell you how good your content is by appealing users to click on the link to your site. A CTR of 2% or more for your entire site over it life spawn is good. CTR will increase when you rank higher in search results and when your rank no1 for a search query, the average CTR is around 32%.
SERP.
SERP stands for Search Engine Result Page and is the number of pages displayed when a user enters a search query in a search engine. Search engines, therefore, have to rank search results on relevancy by the use of algorithms. The higher your SERP listing, the higher your CTR will be thus leading to more traffic. And for this reason, you want to optimise and increase your SERP ranking to reach a bigger audience. The main goal to have at least a SERP ranking of the 1st page in a search query relevant to your content. And then further optimise to try to reach the top listing on the first page.
PR & SEO
Another consideration to make especially when running a website that revolves around selling products online is PR(Public Relations)this, however, can be costly since it usually involves hiring a PR company that writes and hires writers to create content around your brand. Another option to consider is guest writing for other websites. This works for both regular content-centric websites as well as websites with an online store. However, hiring PR companies is most cost-effective for online stores. And this article is mainly inspired by writing content-focused websites and lacks an online store for greater insight for PR concerning an online store I would refer to this content piece called PR and SEO. It covers the topic in much more significant and accurate depth and will offer greater insight. Another easy step that you could consider in terms of PR is tweets, retweets and any other social shares, although those will not provide the same impact as a reference link from authoritative websites. For instance, Instagram has grown greatly in popularity with short stories and has become a main staple to generate links towards a site. But with the sheer volume of an Instagram post, it is hard to stand out in a crowd. In short, you wan to create compelling short stories to generate genuine clicks a good reference guide for using Instagram short stories can be found in this guide: How Long Should Instagram Stories Be? There are many ways to generate links however be careful where you get those links from as they might hurt your website authority if they come from spammy websites and you will need to Disavow their links through the Google search console.
Closing Thoughts.
Completing this process will take some time, and when you are done, remember to head back to GTMetrix to check your SEO Score. As well as checking your website with a tool called Uber Suggest to dot the I's and cross the t's. Both tools will give hints if your performance can be improved and resulting in gaining the top search position related to your site and remember to link my article I could use the backlinks for sure! And check out the below articles for more in-depth information regarding SEO for Joomla or SEO in general.
Signed,
Paul "HisEvilness" Ripmeester