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 [email protected]
Top Related