HOW TO SPEED UP YOUR
JOOMLA SITE?
Daniel Kanchev
Performance Guru
Before We Begin – Who’s That Guy Daniel?
ü  7+ years of Joomla! experience
ü  4 years with SiteGround
ü  Love travelling the world
ü  Addicted to extreme sports
ü  Site speed affects your Google Rankings!
ü  Keep readers/customers happy & paying
ü  Be able to handle more visitors
ü  Go green and save $$$ from servers
WHY BOTHER DOING IT?
Faster Joomla = Optimizations
KEEP
CALM
IT’S NOT
ROCKET
SCIENCE
ü  Keep your Joomla! updated
ü  Choose extensions wisely
ü  Deactivate unused extensions, upgrade used
ü  Simplify your templates as much as possible
GENERAL GUIDELINES
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
Optimizations
Cache/
Compression
.htaccess
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%)
YSlow Grade C (70%) B (66%) B (86%) A (92%)
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
¤  Opcode ¤  Execution
PHP Opcode Caching
Reverse Proxy Servers
Reverse Proxy Servers
Reverse Proxy Servers
Reverse Proxy Servers
ü  Custom PHP/MySQL configuration
ü  Memcached/PHP APC
ü  Joomla! friendly reverse proxy setup
Our Own Solution: The SUPERCACHER
Final Results: Joomla + VirtueMart
No
Optimizations
Application Level
Optimizations
Server Level
Optimizations
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%)
YSlow Grade C (70%) B (84%) A (94%)
Some Key Takes
ü Speed optimization is a process – do it regularly
ü Always test!
ü Choose a well optimized host
QUESTIONS
TIME
Want a piece of the cake?
70% OFF discount
WWW.SITEGROUND.COM/WEBINAR
THANK YOU!
Daniel Kanchev
daniel.k@siteground.com

How to Speed Up Your Joomla Website

  • 1.
    HOW TO SPEEDUP YOUR JOOMLA SITE? Daniel Kanchev Performance Guru
  • 2.
    Before We Begin– Who’s That Guy Daniel? ü  7+ years of Joomla! experience ü  4 years with SiteGround ü  Love travelling the world ü  Addicted to extreme sports
  • 3.
    ü  Site speedaffects your Google Rankings! ü  Keep readers/customers happy & paying ü  Be able to handle more visitors ü  Go green and save $$$ from servers WHY BOTHER DOING IT?
  • 4.
    Faster Joomla =Optimizations KEEP CALM IT’S NOT ROCKET SCIENCE
  • 6.
    ü  Keep yourJoomla! updated ü  Choose extensions wisely ü  Deactivate unused extensions, upgrade used ü  Simplify your templates as much as possible GENERAL GUIDELINES
  • 7.
    Simple Front PageIs 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
  • 8.
  • 9.
    Enable Compression ü  Nativelysupported by Joomla! – no extensions needed ü  Requires mod_gzip/deflate to be enabled on the server Site Global Configuration Server
  • 10.
    Enable Joomla! Cache ü Enable the “System – Cache” plugin
  • 11.
    Recommended Cache Settings Site GlobalConfiguration System Cache Settings
  • 12.
    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
  • 13.
    Some .htaccess Magic ü Thecode: 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”
  • 14.
    More Optimizations: Images,CSS & JS ü  Resize images – never upload 2560x1600 pictures ü  Smush your images ü  Minify and combine CSS and JS files ü  Use image sprites
  • 15.
    Sounds Nice, HowDo I Begin? ü  Use smush.it ü  Photoshop/Fireworks ü  Joomla! Extensions
  • 16.
    Some Highly RatedExtensions ü 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
  • 17.
    JCH Optimize ü  Enablethe “System – JCH Optimize” plugin
  • 18.
  • 19.
    Google mod_pagespeed ü  Anopen-source Apache module - compress, combine and cache ü  Needs to be installed/configured by a System Administrator ü  Available on SiteGround servers
  • 20.
    Check How’s YourWebsite Doing ü  Google Page Speed Insights - http://goo.gl/zPkxx ü  YSlow - http://goo.gl/qIios ü  GTmetrix - http://gtmetrix.com/
  • 21.
    Some Results –Default Joomla! No Optimizations Cache/ Compression .htaccess 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%) YSlow Grade C (70%) B (66%) B (86%) A (92%)
  • 22.
  • 23.
  • 24.
    CDN Features ü  CDNwill make your website faster ü  CDN will help avoid unneeded I/O on your hard drives ü  CDN will appeal to both Google and your visitors
  • 25.
    Software Tweaks ü  Usefast 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
  • 26.
    Opcode/Object Caching ü  FastCGI+ APC PHP extension ü  Memcached and PHP/MySQL ü  eAccelerator 
  • 27.
    Joomla Interaction withYour Database ü  First request goes to the database server
  • 28.
    Object Caching ü  Firstrequest goes to the database server ü  Objects are also stored in Memcached
  • 29.
    Object Caching ü  Allconsecutive requests are forwarded to the Memcached server
  • 30.
    How PHP works ¤ Scanning ¤  Lexing ¤  Parsing ¤  Compilation ¤  Opcode ¤  Execution
  • 31.
    ¤  Opcode ¤ Execution PHP Opcode Caching
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
    ü  Custom PHP/MySQLconfiguration ü  Memcached/PHP APC ü  Joomla! friendly reverse proxy setup Our Own Solution: The SUPERCACHER
  • 37.
    Final Results: Joomla+ VirtueMart No Optimizations Application Level Optimizations Server Level Optimizations 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%) YSlow Grade C (70%) B (84%) A (94%)
  • 38.
    Some Key Takes ü Speedoptimization is a process – do it regularly ü Always test! ü Choose a well optimized host
  • 39.
  • 40.
    Want a pieceof the cake? 70% OFF discount WWW.SITEGROUND.COM/WEBINAR
  • 41.