Speed up Your Joomla Site for Ultimate Performance

  • 1,071 views
Uploaded on

Presented at JoomlaDay Sydney 2013 by Tenko Nikolov , CEO, SiteGround.

Presented at JoomlaDay Sydney 2013 by Tenko Nikolov , CEO, SiteGround.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,071
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
32
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. HOW TO SPEED UP YOUR JOOMLA SITE? Tenko Nikolov CEO, SiteGround
  • 2. 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 &
  • 3. WHY BOTHER DOING IT?  Site speed affects your Google Rankings!  Keep readers/customers happy & paying  Be able to handle more visitors
  • 4. Faster Joomla! = Optimizations KEEP CALM IT’S NOT ROCKET SCIENCE
  • 5. GENERAL GUIDELINES  Keep your Joomla! updated  Choose extensions wisely  Deactivate unused extensions, upgrade used  Simplify your templates as much as possible
  • 6. 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
  • 7. APPLICATION LEVEL OPTIMIZATIONS
  • 8. Enable Compression  Natively supported by Joomla! – no extensions needed  Requires mod_gzip/deflate to be enabled on the server Site Global Configuration Server
  • 9. Enable Joomla! Cache  Enable the “System – Cache” plugin
  • 10. Recommended Cache Settings Site Global Configuration System Cache Settings
  • 11. 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
  • 12. 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”
  • 13. More Optimizations: Images, CSS & JS  Resize images – never upload 2560x1600 pictures  Smush your images  Minify and combine CSS and JS files  Use image sprites
  • 14. Sounds Nice, How Do I Begin?  Use smush.it  Photoshop/Fireworks  Joomla! Extensions
  • 15. 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
  • 16. JCH Optimize  Enable the “System – JCH Optimize” plugin
  • 17. JCH Optimize Settings
  • 18. 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 *
  • 19. Check How’s Your Website Doing  Google Page Speed Insights - http://goo.gl/zPkxx  YSlow - http://goo.gl/qIios  GTmetrix - http://gtmetrix.com/
  • 20. 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%)
  • 21. SERVER LEVEL OPTIMIZATIONS
  • 22. Use CDN YOUR VISITORS LOCATION MATTERS!
  • 23. 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
  • 24. 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
  • 25. Opcode/Object Caching  FastCGI + APC PHP extension  Memcached and PHP/MySQL  eAccelerator
  • 26. Joomla Interaction with Your Database  First request goes to the database server
  • 27. Object Caching  First request goes to the database server  Objects are also stored in Memcached
  • 28. Object Caching  All consecutive requests are forwarded to the Memcached server
  • 29. How PHP works  Scanning  Lexing  Parsing  Compilation  Opcode  Execution
  • 30. PHP Opcode Caching  Opcode  Execution
  • 31. Reverse Proxy Servers
  • 32. Reverse Proxy Servers
  • 33. Reverse Proxy Servers
  • 34. Reverse Proxy Servers
  • 35. Our Own Solution: The SUPERCACHER  Custom PHP/MySQL configuration  Memcached/PHP APC  Joomla! friendly reverse proxy setup
  • 36. 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%)
  • 37. Some Key Takes  Speed optimization is a process – do it regularly  Always test!  Choose a well optimized host
  • 38. QUESTION S TIME
  • 39. We now have something special for Australia!    Free .com.au domain 24/7 Aussie toll free Payments in AUD
  • 40. JoomlaDay Sydney Exclusive Offer Get It At: www.siteground.com/australia
  • 41. THANK YOU! Tenko Nikolov tenko@siteground.com @tnikolov