HOW TO SPEED UP YOUR
JOOMLA SITE?
Tenko Nikolov
CEO, SiteGround
Before We Begin – Who’s That Guy Tenko?
 17+ Years IT Experience

 8+ Years CEO of SiteGround
 7+ years of Joomla! Experience
 Love travelling the world

 Addicted to fast things &
WHY BOTHER DOING IT?
 Site speed affects your Google

Rankings!
 Keep readers/customers happy &

paying
 Be able to handle more visitors
Faster Joomla! = Optimizations

KEEP
CALM
IT’S NOT
ROCKET
SCIENCE
GENERAL GUIDELINES
 Keep your Joomla! updated
 Choose extensions wisely

 Deactivate unused extensions, upgrade used
 Simplify your templates as much as possible
Simple Front Page Is Better
 Fancy stuff – only if you really need it

 Remove unnecessary large images
 Use fewer internal/external links – add

sitemap
 Avoid loading content from remote servers
APPLICATION LEVEL
OPTIMIZATIONS
Enable Compression
 Natively supported by Joomla! – no extensions needed

 Requires mod_gzip/deflate to be enabled on the server
Site

Global Configuration

Server
Enable Joomla! Cache


Enable the “System – Cache” plugin
Recommended Cache Settings
Site

Global Configuration

System

Cache Settings
Some .htaccess Magic


Get the code:
http://goo.gl/ze09B



How it works:
- Etag – Tells browsers that an image/unit does not need to be reloaded
- Expires Headers – Set different expiration dates for various file types
- AddOutputFilterByType DEFLATE – minifies the compiled HTML
source code
Some .htaccess Magic
 The code:
FileETag MTime Size
AddOutputFilterByType DEFLATE text/html text/css application/javascript
ExpiresActive On
ExpiresDefault "now plus 1 hour"
ExpiresByType text/css "now plus 1 week“
ExpiresByType application/javascript "now plus 1 week"
ExpiresByType application/x-javascript "now plus 1 week”
More Optimizations: Images, CSS & JS
 Resize images – never upload 2560x1600 pictures

 Smush your images
 Minify and combine CSS and JS files
 Use image sprites
Sounds Nice, How Do I Begin?

 Use smush.it
 Photoshop/Fireworks

 Joomla! Extensions
Some Highly Rated Extensions
 JCH Optimize – Combines JS and CSS,

Combines images in sprites, Minify and
Compress
 Jbetolo – same as above but + CDN support
 JotCache – improves the Joomla! built in Core
Cache
 Cache Cleaner – easily clean the cache from
the Joomla! admin panel
JCH Optimize
 Enable the “System – JCH Optimize” plugin
JCH Optimize Settings
Google mod_pagespeed

 An open-source Apache module - compress, combine

and cache
 Needs to be installed/configured by a System
Administrator
 Available on SiteGround servers *
Check How’s Your Website Doing
 Google Page Speed Insights -

http://goo.gl/zPkxx
 YSlow - http://goo.gl/qIios
 GTmetrix - http://gtmetrix.com/
Some Results – Default Joomla!
No
Optimizatio
ns

Cache/
Compressi
on

.htacce
ss rules

JCH

Page Load Time

1.61s

1.49s

1.32s

1.02s

Total Page Size

563KB

162KB

162KB

151KB

Number of
Requests

35

35

35

19

Page Speed
Grade

F (41%)

B (65%)

B (87%)

A
(91%)
SERVER LEVEL
OPTIMIZATIONS
Use CDN
YOUR VISITORS
LOCATION
MATTERS!
CDN Features
 CDN will make your website faster
 CDN will help avoid unneeded I/O on your hard

drives
 CDN will appeal to both Google and your visitors
Software Tweaks
 Use fast and secure PHP like FastCGI
 Move PHP binaries to RAM
 Move TMP to RAM
 Move MySQL to a separate hard drive: RAID &

SSD
 Enable MySQL query cache
 Use TMPFS for MySQL’s tmpdir
Opcode/Object Caching
 FastCGI + APC PHP extension
 Memcached and PHP/MySQL

 eAccelerator
Joomla Interaction with Your
Database

 First request goes to

the database server
Object Caching

 First request goes to

the database server
 Objects are also

stored in Memcached
Object Caching

 All consecutive

requests are
forwarded to the
Memcached server
How PHP works


Scanning



Lexing



Parsing



Compilation



Opcode

 Execution
PHP Opcode Caching

 Opcode

 Execution
Reverse Proxy Servers
Reverse Proxy Servers
Reverse Proxy Servers
Reverse Proxy Servers
Our Own Solution: The
SUPERCACHER
 Custom PHP/MySQL

configuration
 Memcached/PHP APC
 Joomla! friendly reverse proxy

setup
Final Results: Joomla + VirtueMart
No
Optimizatio
ns

Application
Level
Optimizations

Server Level
Optimization
s

Page Load Time

5.22s

3.49s

1.09s

Total Page Size

1.89MB

0.67MB

0.67MB

Number of
Requests

76

28

28

Page Speed
Grade

F (41%)

B (85%)

A (92%)
Some Key Takes
 Speed optimization is a process – do it regularly
 Always test!

 Choose a well optimized host
QUESTION
S TIME
We now have something special for
Australia!






Free .com.au domain
24/7 Aussie toll free
Payments in AUD
JoomlaDay Sydney Exclusive Offer

Get It At:

www.siteground.com/australia
THANK YOU!
Tenko Nikolov
tenko@siteground.com @tnikolov

Speed up Your Joomla Site for Ultimate Performance