41
HOW TO SPEED UP YOUR JOOMLA SITE? Daniel Kanchev Performance Guru

How to Speed Up Your Joomla Website

Embed Size (px)

DESCRIPTION

A presentation by SiteGround Performance Guru on how to optimize your Joomla website and make it more than 100 times faster. The topic covers various tips and tricks including: Joomla backend optimizations Template and extensions tips Caching methods and useful plugins CDN Options Recommended server settings

Citation preview

Page 1: How to Speed Up Your Joomla Website

HOW TO SPEED UP YOUR JOOMLA SITE?

Daniel Kanchev Performance Guru

Page 2: How to Speed Up Your Joomla Website

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

Page 3: How to Speed Up Your Joomla Website

ü  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?

Page 4: How to Speed Up Your Joomla Website

Faster Joomla = Optimizations

KEEP CALM

IT’S NOT

ROCKET SCIENCE

Page 5: How to Speed Up Your Joomla Website
Page 6: How to Speed Up Your Joomla Website

ü  Keep your Joomla! updated

ü  Choose extensions wisely

ü  Deactivate unused extensions, upgrade used

ü  Simplify your templates as much as possible

GENERAL GUIDELINES

Page 7: How to Speed Up Your Joomla Website

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

Page 8: How to Speed Up Your Joomla Website

APPLICATION LEVEL OPTIMIZATIONS

Page 9: How to Speed Up Your Joomla Website

Enable Compression

ü  Natively supported by Joomla! – no extensions needed

ü  Requires mod_gzip/deflate to be enabled on the server

Site

Global Configuration

Server

Page 10: How to Speed Up Your Joomla Website

Enable Joomla! Cache

ü  Enable the “System – Cache” plugin

Page 11: How to Speed Up Your Joomla Website

Recommended Cache Settings

Site

Global Configuration

System

Cache Settings

Page 12: How to Speed Up Your Joomla Website

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

Page 13: How to Speed Up Your Joomla Website

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”

Page 14: How to Speed Up Your Joomla Website

More Optimizations: Images, CSS & JS

ü  Resize images – never upload 2560x1600 pictures

ü  Smush your images

ü  Minify and combine CSS and JS files

ü  Use image sprites

Page 15: How to Speed Up Your Joomla Website

Sounds Nice, How Do I Begin?

ü  Use smush.it

ü  Photoshop/Fireworks

ü  Joomla! Extensions

Page 16: How to Speed Up Your Joomla Website

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

Page 17: How to Speed Up Your Joomla Website

JCH Optimize

ü  Enable the “System – JCH Optimize” plugin

Page 18: How to Speed Up Your Joomla Website

JCH Optimize Settings

Page 19: How to Speed Up Your Joomla Website

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

Page 20: How to Speed Up Your Joomla Website

Check How’s Your Website Doing

ü  Google Page Speed Insights - http://goo.gl/zPkxx

ü  YSlow - http://goo.gl/qIios

ü  GTmetrix - http://gtmetrix.com/

Page 21: How to Speed Up Your Joomla Website

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%)

Page 22: How to Speed Up Your Joomla Website

SERVER LEVEL OPTIMIZATIONS

Page 23: How to Speed Up Your Joomla Website

Use CDN

YOUR VISITORS LOCATION MATTERS!

Page 24: How to Speed Up Your Joomla Website

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

Page 25: How to Speed Up Your Joomla Website

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

Page 26: How to Speed Up Your Joomla Website

Opcode/Object Caching

ü  FastCGI + APC PHP extension

ü  Memcached and PHP/MySQL

ü  eAccelerator 

Page 27: How to Speed Up Your Joomla Website

Joomla Interaction with Your Database

ü  First request goes to the database server

Page 28: How to Speed Up Your Joomla Website

Object Caching

ü  First request goes to the database server

ü  Objects are also stored in Memcached

Page 29: How to Speed Up Your Joomla Website

Object Caching

ü  All consecutive requests are forwarded to the Memcached server

Page 30: How to Speed Up Your Joomla Website

How PHP works

¤  Scanning

¤  Lexing

¤  Parsing

¤ Compilation

¤  Opcode

¤ Execution

Page 31: How to Speed Up Your Joomla Website

¤ Opcode ¤ Execution

PHP Opcode Caching

Page 32: How to Speed Up Your Joomla Website

Reverse Proxy Servers

Page 33: How to Speed Up Your Joomla Website

Reverse Proxy Servers

Page 34: How to Speed Up Your Joomla Website

Reverse Proxy Servers

Page 35: How to Speed Up Your Joomla Website

Reverse Proxy Servers

Page 36: How to Speed Up Your Joomla Website

ü  Custom PHP/MySQL configuration

ü  Memcached/PHP APC

ü  Joomla! friendly reverse proxy setup

Our Own Solution: The SUPERCACHER

Page 37: How to Speed Up Your Joomla Website

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%)

Page 38: How to Speed Up Your Joomla Website

Some Key Takes

ü Speed optimization is a process – do it regularly

ü Always test!

ü Choose a well optimized host

Page 39: How to Speed Up Your Joomla Website

QUESTIONS TIME

Page 40: How to Speed Up Your Joomla Website

Want a piece of the cake?

70% OFF discount WWW.SITEGROUND.COM/WEBINAR

Page 41: How to Speed Up Your Joomla Website

THANK YOU!

Daniel Kanchev [email protected]