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

How to Speed Up Your Joomla! Site

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: How to Speed Up Your Joomla! Site

HOW TO SPEED UP YOUR JOOMLA SITE?

Daniel KanchevPerformance Guru

Page 2: How to Speed Up Your Joomla! Site

Before We Begin – Who’s That Guy Daniel?

✓ 7+ years of Joomla! experience

✓ 5 years with SiteGround

✓ Love travelling the world

✓ Addicted to extreme sports

Page 3: How to Speed Up Your Joomla! Site

✓ 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! Site

Faster Joomla = Optimizations

!!

KEEP

CALM IT’S NOT

ROCKET

SCIENCE

Page 5: How to Speed Up Your Joomla! Site

✓ Keep your Joomla! updated

✓ Choose extensions wisely

✓ Deactivate unused extensions, upgrade used

✓ Simplify your templates as much as possible

GENERAL GUIDELINES

Page 6: How to Speed Up Your Joomla! Site

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 7: How to Speed Up Your Joomla! Site

APPLICATION LEVEL OPTIMIZATIONS

Page 8: How to Speed Up Your Joomla! Site

Enable Compression

✓ Natively supported by Joomla! – no extensions needed

✓ Requires mod_gzip/deflate to be enabled on the server ***

Site

Global Configuration

Server

Page 9: How to Speed Up Your Joomla! Site

Enable Joomla! Cache

✓ Enable the “System – Cache” plugin

Page 10: How to Speed Up Your Joomla! Site

Recommended Cache Settings

Site

Global Configuration

System

Cache Settings

Page 11: How to Speed Up Your Joomla! Site

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 12: How to Speed Up Your Joomla! Site

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 13: How to Speed Up Your Joomla! Site

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 14: How to Speed Up Your Joomla! Site

Sounds Nice, How Do I Begin?

✓ Use smush.it

✓ Photoshop/Fireworks

✓ Joomla! Extensions

Page 15: How to Speed Up Your Joomla! Site

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 16: How to Speed Up Your Joomla! Site

JCH Optimize

✓ Enable the “System – JCH Optimize” plugin

Page 17: How to Speed Up Your Joomla! Site

JCH Optimize Settings

Page 18: How to Speed Up Your Joomla! Site

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 19: How to Speed Up Your Joomla! Site

Check How’s Your Website Doing

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

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

✓ GTmetrix - http://gtmetrix.com/

Page 20: How to Speed Up Your Joomla! Site

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 21: How to Speed Up Your Joomla! Site

SERVER LEVEL OPTIMIZATIONS

Page 22: How to Speed Up Your Joomla! Site

Use CDN

!

YOUR VISITORS LOCATION MATTERS!

Page 23: How to Speed Up Your Joomla! Site

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 24: How to Speed Up Your Joomla! Site

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 25: How to Speed Up Your Joomla! Site

Opcode/Object Caching

✓ FastCGI + APC PHP extension

✓ Memcached and PHP/MySQL

✓ eAccelerator 

Page 26: How to Speed Up Your Joomla! Site

Joomla Interaction with Your Database

✓ First request goes to the database server

Page 27: How to Speed Up Your Joomla! Site

Object Caching

✓ First request goes to the database server

✓ Objects are also stored in Memcached

Page 28: How to Speed Up Your Joomla! Site

Object Caching

✓ All consecutive requests are forwarded to the Memcached server

Page 29: How to Speed Up Your Joomla! Site

How PHP works

! Scanning

! Lexing

! Parsing

! Compilation

! Opcode

! Execution

Page 30: How to Speed Up Your Joomla! Site

! Opcode ! Execution

PHP Opcode Caching

Page 31: How to Speed Up Your Joomla! Site

Reverse Proxy Servers

Page 32: How to Speed Up Your Joomla! Site

Reverse Proxy Servers

Page 33: How to Speed Up Your Joomla! Site

Reverse Proxy Servers

Page 34: How to Speed Up Your Joomla! Site

Reverse Proxy Servers

Page 35: How to Speed Up Your Joomla! Site

✓ Custom PHP/MySQL configuration

✓ Memcached/PHP APC

✓ Joomla! friendly reverse proxy setup

Our Own Solution: The SUPERCACHER

Page 36: How to Speed Up Your Joomla! Site

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 37: How to Speed Up Your Joomla! Site

Some Key Takes

✓ Speed optimization is a process – do it regularly

✓ Always test!

✓ Choose a well optimized host

Page 38: How to Speed Up Your Joomla! Site

QUESTIONS TIME ?

Page 39: How to Speed Up Your Joomla! Site

THANK YOU!

Daniel [email protected]