SlideShare a Scribd company logo
1 of 63
Speeding up WordPress
@BRECHTRYCKAERT
Brecht Ryckaert
• WORKS @ COMBELL.COM
• WP USER SINCE 1.5
• SPECIALIZED IN SECURITY &
OPTIMIZATION
• WROTE A BOOK
Coming SOON!
 Laat uw e-mailadres na op
wpsecurity101.com en krijg een
kortingscode (-50%) in de
lanceringsweek!
FEIT!
De gemiddelde bezoeker verlaat
je website als deze binnen de 3
seconden niet geladen is !!!
Wanneer we een
nieuwe site lanceren
of publiceren,
verwachten we dus dit...
Maar occasioneel krijgen
we dit...
WAAROM ?!?
STAP 1
MET FIREBUG & PAGESPEED
ANALYSE
Firebug voor Mozilla Firefox
Tabblad “Net”
Tabblad “Net”
Tabblad “Net”
Tabblad “Net”
Tabblad “Net”
Tabblad “Net”
Idealiter...
 30 tot 50 elementen
(concurrent browser connections)
Concurrent Browser Connections
 Beperkende factor in
laadtijd bij mobiele en
oudere browsers
 Bepaalt het maximum
aantal elementen dat
simultaan geladen kan
worden
Concurrent Browser Connections
Te veel requests!
Idealiter...
 30 tot 50 elementen (concurrent browser
connections)
 0.5 tot 1.5 MB
Concurrent Browser Connections
Te groot!
Grootte afbeeldingen
Grootte afbeeldingen
Grootte afbeeldingen
Pagespeed Insights
Pagespeed Insights
Grootte afbeeldingen
Concurrent Browser Connections
Te groot javascript!
STAP 2 OPTIMALISATIE
Concurrent Browser Connections
 Beperkende factor in
laadtijd bij mobiele en
oudere browsers
 Bepaalt het maximum
aantal elementen dat
simultaan geladen kan
worden
Concurrent Browser Connections
 Domain Sharding
images => img.domain.extension
js => js.domain.extension
css => css.domain.extension
 Elk domein/subdomein krijgt x-aantal concurrent
connections => sneller inladen alle elementen
Performance over functionality!
 Evalueer functionaliteiten of ze echt wel noodzakelijk zijn voor de werking
van je website.
 Is de extra gimmick ook de extra laadtijd waard?
 Verzwarende factoren:
- Video background
- Multimedia sliders
- ...
Optimaliseer foto’s vooraf
 Verklein de resolutie zo sterk mogelijk (upload nooit foto’s die rechtstreeks
van de camera komen!!!)
 Pas een sterke compressie toe (30% bij jpg)
Optimaliseer foto’s vooraf
Optimaliseer Database
 Kleinere database = snellere responstijden
 WordPress zorgt echter standaard voor een nogal “vervuilde database”.
=> bijhouden revisies, posts/pagina’s in trash, spam comments, ...
Optimaliseer Database
 https://wordpress.org/plugins/rvg-optimize-database/
Caching plugins
 Houden bepaalde zaken in RAM of op DISK
 Geen nieuwe database query nodig.
 Serveren meestal vooraf gegenereerde HTML output = SNEL!
 Heel wat keuze binnen de WordPress plugin repository!
Caching plugins
 WP Super Cache
 W3 Total Cache
 WP Fastest Cache
 Gator Cache
 Blunt Cache
 Next Level Cache
 ....
Caching Plugins
Ik gebruik geen van deze!
My preferred caching plugin!
 For small sites:
Wordfence!
Wordfence’s Falcon Engine
https://ma.ttias.be/benchmarking-the-performance-of-wordfence-a-wordpress-plugin/
STAP 3 SERVER SIDE
Beperkende Server Settings
 MAX CLIENTS
Apache server setting – Definieert harde limiet aantal simultane
bezoekers.
Overschrijven van deze limiet = ontstaan wachtrij!
Beperkende Server Settings
 MAX CONNECTIONS
MYSQL server setting – Definieert harde limiet aantal simultane database-
verbindingen.
Overschrijven van deze limiet = “Unable to connect to database”!
STAP 4
SERVER SIDE
OPTIMALISATIE
GZIP Compression
GZIP Compression
GZIP Compression
Enable GZIP compression
 Toevoegen aan .htaccess:
#ENABLE GZIP COMPRESSION
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
Entity Tags
 Entity Tags zijn een mechanisme waarmee gecontroleerd kan worden als
de zaken in de browsercache overeen komen met deze op de server. Het
uitschakelen van deze entity tags kan zorgen voor een lagere laadtijd,
betere performantie én een lagere serverload.
 Toevoegen aan .htacces:
#Disable Entity Tags
Header unset Etag
FileETag None
Mod_Expires
 Hiermee kunnen we controle nemen over de browsercache en stipuleren hoelang iets in cache moet blijven.
Voeg hiervoor volgende toe aan de .htaccess:
# BEGIN Expire headers
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 5 seconds“
ExpiresByType image/x-icon "access plus 2500000 seconds“
ExpiresByType image/jpeg "access plus 2500000 seconds“
ExpiresByType image/png "access plus 2500000 seconds“
ExpiresByType image/gif "access plus 2500000 seconds“
ExpiresByType application/x-shockwave-flash "access plus 2500000 seconds“
ExpiresByType text/css "access plus 600000 seconds“
ExpiresByType text/javascript "access plus 200000 seconds“
ExpiresByType application/javascript "access plus 200000 seconds“
ExpiresByType application/x-javascript "access plus 200000 seconds“
ExpiresByType text/html "access plus 600 seconds“
ExpiresByType application/xhtml+xml "access plus 600 seconds“
</IfModule>
Hotlinking tegengaan
 Hotlinking zorgt niet voor traffiek op uw site, maar wel voor verhoogde load op de webserver.
 Dit heeft dus wel een impact op de laadtijd van uw website!
 Toevoegen aan .htaccess:
#Disable Hotlinking
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?sparringmind.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?feeds2.feedburner.com/sparringmind [NC]
RewriteRule .(jpg|jpeg|png|gif)$ – [NC,F,L]
Caching
 APC
 REDIS
 Beschikbaarheid verschilt per server/hostingbedrijf.
Informeer bij uw hoster!
APC
 Alternative PHP Cache (=APC)
 Draait op de server zelf (local) & “just works”!
 Cache opgeslagen in RAM
 In te schakelen via PHP configuratie
 Vervolgens “APC” selecteren in je caching plugin (indien vereist)
REDIS
 Vereist afzonderlijke REDIS instance
 REmote DIctionary Server (=REDIS)
 In-memory, key-value based cache
 Vereist aanpassing aan de WordPress core files om werkend te krijgen (bij
handmatige setup).
 Makkelijker te implementeren via plugin:
https://wordpress.org/plugins/redis-cache/
STAP 5
OFF SERVER
OPTIMALISATIE
Localisatie bezoekers
 Hou rekening met je bezoekers
 Neem hosting af met datacenter in het beoogde doelgebied
Implementeer een CDN
Implementeer een CDN
 CDN / Content Delivery
Network
 Lokale kopie van je site in
verschillende datacentra
wereldwijd.
Altijd wel één in de buurt van
je bezoeker => lagere laadtijd!
 Cloudflare heeft een gratis
plan (met inbegrepen security
measures)!
”
“
Zijn er nog vragen?
Bedankt!
Twitter: @brechtryckaert
Mail: brecht@mediagraaf.be
Blog: brechtryckaert.be

More Related Content

What's hot

GO Snelkooksessie 'Websites bouwen in WordPress'
GO Snelkooksessie 'Websites bouwen in WordPress'GO Snelkooksessie 'Websites bouwen in WordPress'
GO Snelkooksessie 'Websites bouwen in WordPress'GO opleidingen
 
De gevaren van WordPress plugins
De gevaren van WordPress pluginsDe gevaren van WordPress plugins
De gevaren van WordPress pluginsTrendwerk
 
Installatie apache, qgis server en lizmap web client
Installatie apache, qgis server en lizmap web clientInstallatie apache, qgis server en lizmap web client
Installatie apache, qgis server en lizmap web clientSandro Pibia
 
Node.js: waarom en hoe
Node.js: waarom en hoeNode.js: waarom en hoe
Node.js: waarom en hoeFrank Louwers
 
IPv6 voor webbouwers
IPv6 voor webbouwersIPv6 voor webbouwers
IPv6 voor webbouwersFrank Louwers
 
Ubuntu presentatie
Ubuntu presentatieUbuntu presentatie
Ubuntu presentatieguestc1eaf4
 
Performance & SEO - Joomla SEO Expert Sessie
Performance & SEO - Joomla SEO Expert SessiePerformance & SEO - Joomla SEO Expert Sessie
Performance & SEO - Joomla SEO Expert SessieSander Potjer
 
Page experience de nieuwe ranking factor voor seo
Page experience de nieuwe ranking factor voor seoPage experience de nieuwe ranking factor voor seo
Page experience de nieuwe ranking factor voor seovalantic NL
 

What's hot (10)

GO Snelkooksessie 'Websites bouwen in WordPress'
GO Snelkooksessie 'Websites bouwen in WordPress'GO Snelkooksessie 'Websites bouwen in WordPress'
GO Snelkooksessie 'Websites bouwen in WordPress'
 
De gevaren van WordPress plugins
De gevaren van WordPress pluginsDe gevaren van WordPress plugins
De gevaren van WordPress plugins
 
HTML5 Overview
HTML5 OverviewHTML5 Overview
HTML5 Overview
 
Installatie apache, qgis server en lizmap web client
Installatie apache, qgis server en lizmap web clientInstallatie apache, qgis server en lizmap web client
Installatie apache, qgis server en lizmap web client
 
Node.js: waarom en hoe
Node.js: waarom en hoeNode.js: waarom en hoe
Node.js: waarom en hoe
 
IPv6 voor webbouwers
IPv6 voor webbouwersIPv6 voor webbouwers
IPv6 voor webbouwers
 
Ubuntu presentatie
Ubuntu presentatieUbuntu presentatie
Ubuntu presentatie
 
Performance & SEO - Joomla SEO Expert Sessie
Performance & SEO - Joomla SEO Expert SessiePerformance & SEO - Joomla SEO Expert Sessie
Performance & SEO - Joomla SEO Expert Sessie
 
WordPress Security
WordPress SecurityWordPress Security
WordPress Security
 
Page experience de nieuwe ranking factor voor seo
Page experience de nieuwe ranking factor voor seoPage experience de nieuwe ranking factor voor seo
Page experience de nieuwe ranking factor voor seo
 

Viewers also liked

Kicking This Thing Off part 1-2
Kicking This Thing Off part 1-2Kicking This Thing Off part 1-2
Kicking This Thing Off part 1-2Craig MacDonald
 
MIM Strategy for networking events
MIM Strategy for networking events MIM Strategy for networking events
MIM Strategy for networking events Iwona Sob
 
Qué es un gusano informático
Qué es un gusano informáticoQué es un gusano informático
Qué es un gusano informáticoCARLOS GUIRADO
 
Sample of report & Snail trail Defect
Sample of report & Snail trail DefectSample of report & Snail trail Defect
Sample of report & Snail trail DefectShiv Verma
 
strategies-for-migrating-oracle-database-to-aws
strategies-for-migrating-oracle-database-to-awsstrategies-for-migrating-oracle-database-to-aws
strategies-for-migrating-oracle-database-to-awsAbdul Sathar Sait
 
Adithya Rajan_Jan_2016
Adithya Rajan_Jan_2016Adithya Rajan_Jan_2016
Adithya Rajan_Jan_2016Adithya Rajan
 
NUMÉRIQUE: Des Métiers et des Perspectives…
NUMÉRIQUE:  Des Métiers et des Perspectives…NUMÉRIQUE:  Des Métiers et des Perspectives…
NUMÉRIQUE: Des Métiers et des Perspectives…Claude Riousset
 
Open Sources for Satellite Imagery 2016
Open Sources for Satellite Imagery 2016Open Sources for Satellite Imagery 2016
Open Sources for Satellite Imagery 2016Atiqa khan
 

Viewers also liked (9)

Kicking This Thing Off part 1-2
Kicking This Thing Off part 1-2Kicking This Thing Off part 1-2
Kicking This Thing Off part 1-2
 
Renacimiento
RenacimientoRenacimiento
Renacimiento
 
MIM Strategy for networking events
MIM Strategy for networking events MIM Strategy for networking events
MIM Strategy for networking events
 
Qué es un gusano informático
Qué es un gusano informáticoQué es un gusano informático
Qué es un gusano informático
 
Sample of report & Snail trail Defect
Sample of report & Snail trail DefectSample of report & Snail trail Defect
Sample of report & Snail trail Defect
 
strategies-for-migrating-oracle-database-to-aws
strategies-for-migrating-oracle-database-to-awsstrategies-for-migrating-oracle-database-to-aws
strategies-for-migrating-oracle-database-to-aws
 
Adithya Rajan_Jan_2016
Adithya Rajan_Jan_2016Adithya Rajan_Jan_2016
Adithya Rajan_Jan_2016
 
NUMÉRIQUE: Des Métiers et des Perspectives…
NUMÉRIQUE:  Des Métiers et des Perspectives…NUMÉRIQUE:  Des Métiers et des Perspectives…
NUMÉRIQUE: Des Métiers et des Perspectives…
 
Open Sources for Satellite Imagery 2016
Open Sources for Satellite Imagery 2016Open Sources for Satellite Imagery 2016
Open Sources for Satellite Imagery 2016
 

Similar to Speeding up WordPress

Projectpaas drupaljam 2013 rotterdam
Projectpaas drupaljam 2013 rotterdamProjectpaas drupaljam 2013 rotterdam
Projectpaas drupaljam 2013 rotterdamBert Boerland
 
Html5 jeugdwerknet
Html5 jeugdwerknetHtml5 jeugdwerknet
Html5 jeugdwerknetHans Rossel
 
Een webshop bouwen in WooCommerce – advanced sessie
Een webshop bouwen in WooCommerce – advanced sessieEen webshop bouwen in WooCommerce – advanced sessie
Een webshop bouwen in WooCommerce – advanced sessieCombell NV
 
Techdays 2013 NL - Serious Request met Windows Azure
Techdays 2013 NL - Serious Request met Windows AzureTechdays 2013 NL - Serious Request met Windows Azure
Techdays 2013 NL - Serious Request met Windows AzureMichaël Hompus
 
Lifehacking met RSS en Netvibes? De strijd tegen informatie overload
Lifehacking met RSS en Netvibes? De strijd tegen informatie overloadLifehacking met RSS en Netvibes? De strijd tegen informatie overload
Lifehacking met RSS en Netvibes? De strijd tegen informatie overloadEric Sieverts
 
Security audit van een Drupal site
Security audit van een Drupal siteSecurity audit van een Drupal site
Security audit van een Drupal siteMaurits Lawende
 
Why Drupal Is So Slow
Why Drupal Is So SlowWhy Drupal Is So Slow
Why Drupal Is So SlowBert Boerland
 
Cursus Zend Framework - 1
Cursus Zend Framework - 1Cursus Zend Framework - 1
Cursus Zend Framework - 1bartjeukendrup
 
Javascript Intro
Javascript IntroJavascript Intro
Javascript IntroHans Rossel
 
Javascript & SEO - Wp meetup enschede
Javascript & SEO - Wp meetup enschedeJavascript & SEO - Wp meetup enschede
Javascript & SEO - Wp meetup enschedeRoy Huiskes
 
Drupal is Traag: handvatten voor een snelle site.
Drupal is Traag: handvatten voor een snelle site.Drupal is Traag: handvatten voor een snelle site.
Drupal is Traag: handvatten voor een snelle site.LimoenGroen
 
Joomladagen 2015 Joomla Performance
Joomladagen 2015 Joomla PerformanceJoomladagen 2015 Joomla Performance
Joomladagen 2015 Joomla PerformanceSimon Kloostra
 
Robot framework en Browser Library
Robot framework en Browser LibraryRobot framework en Browser Library
Robot framework en Browser Librarychristiantester
 
PFZ Workshop - Automatiseren van functionele tests
PFZ Workshop - Automatiseren van functionele testsPFZ Workshop - Automatiseren van functionele tests
PFZ Workshop - Automatiseren van functionele testsRichard Tuin
 
Best Practice: Joomla! templating
Best Practice: Joomla! templatingBest Practice: Joomla! templating
Best Practice: Joomla! templatingHans Kuijpers
 
Front-end Performance in Drupal
Front-end Performance in DrupalFront-end Performance in Drupal
Front-end Performance in DrupalLimoenGroen
 

Similar to Speeding up WordPress (20)

Projectpaas drupaljam 2013 rotterdam
Projectpaas drupaljam 2013 rotterdamProjectpaas drupaljam 2013 rotterdam
Projectpaas drupaljam 2013 rotterdam
 
Html5 jeugdwerknet
Html5 jeugdwerknetHtml5 jeugdwerknet
Html5 jeugdwerknet
 
Een webshop bouwen in WooCommerce – advanced sessie
Een webshop bouwen in WooCommerce – advanced sessieEen webshop bouwen in WooCommerce – advanced sessie
Een webshop bouwen in WooCommerce – advanced sessie
 
Techdays 2013 NL - Serious Request met Windows Azure
Techdays 2013 NL - Serious Request met Windows AzureTechdays 2013 NL - Serious Request met Windows Azure
Techdays 2013 NL - Serious Request met Windows Azure
 
Lifehacking met RSS en Netvibes? De strijd tegen informatie overload
Lifehacking met RSS en Netvibes? De strijd tegen informatie overloadLifehacking met RSS en Netvibes? De strijd tegen informatie overload
Lifehacking met RSS en Netvibes? De strijd tegen informatie overload
 
Security audit van een Drupal site
Security audit van een Drupal siteSecurity audit van een Drupal site
Security audit van een Drupal site
 
Why Drupal Is So Slow
Why Drupal Is So SlowWhy Drupal Is So Slow
Why Drupal Is So Slow
 
Cursus Zend Framework - 1
Cursus Zend Framework - 1Cursus Zend Framework - 1
Cursus Zend Framework - 1
 
Javascript Intro
Javascript IntroJavascript Intro
Javascript Intro
 
Javascript & SEO - Wp meetup enschede
Javascript & SEO - Wp meetup enschedeJavascript & SEO - Wp meetup enschede
Javascript & SEO - Wp meetup enschede
 
Drupal is Traag: handvatten voor een snelle site.
Drupal is Traag: handvatten voor een snelle site.Drupal is Traag: handvatten voor een snelle site.
Drupal is Traag: handvatten voor een snelle site.
 
[Idm b] tools databases 3
[Idm b] tools databases 3[Idm b] tools databases 3
[Idm b] tools databases 3
 
Refresher HTML(5) and CSS(3) - CC FE & UX
Refresher HTML(5) and CSS(3) - CC FE & UXRefresher HTML(5) and CSS(3) - CC FE & UX
Refresher HTML(5) and CSS(3) - CC FE & UX
 
Joomladagen 2015 Joomla Performance
Joomladagen 2015 Joomla PerformanceJoomladagen 2015 Joomla Performance
Joomladagen 2015 Joomla Performance
 
Robot framework en Browser Library
Robot framework en Browser LibraryRobot framework en Browser Library
Robot framework en Browser Library
 
HTML5 (Dutch)
HTML5 (Dutch)HTML5 (Dutch)
HTML5 (Dutch)
 
PFZ Workshop - Automatiseren van functionele tests
PFZ Workshop - Automatiseren van functionele testsPFZ Workshop - Automatiseren van functionele tests
PFZ Workshop - Automatiseren van functionele tests
 
Best Practice: Joomla! templating
Best Practice: Joomla! templatingBest Practice: Joomla! templating
Best Practice: Joomla! templating
 
Front-end Performance in Drupal
Front-end Performance in DrupalFront-end Performance in Drupal
Front-end Performance in Drupal
 
WSO2 Mashup Server
WSO2 Mashup ServerWSO2 Mashup Server
WSO2 Mashup Server
 

More from Brecht Ryckaert

Using WordPress as a Static Site Generator
Using WordPress as a Static Site GeneratorUsing WordPress as a Static Site Generator
Using WordPress as a Static Site GeneratorBrecht Ryckaert
 
The Anatomy Of A Hack - WordCamp Sofia 2018
The Anatomy Of A Hack - WordCamp Sofia 2018The Anatomy Of A Hack - WordCamp Sofia 2018
The Anatomy Of A Hack - WordCamp Sofia 2018Brecht Ryckaert
 
Scaling WordPress On A Small Budget
Scaling WordPress On A Small BudgetScaling WordPress On A Small Budget
Scaling WordPress On A Small BudgetBrecht Ryckaert
 
WordPress Meetup Ieper - 15/03/2018 - WordPress Security Best Practices
WordPress Meetup Ieper - 15/03/2018 - WordPress Security Best PracticesWordPress Meetup Ieper - 15/03/2018 - WordPress Security Best Practices
WordPress Meetup Ieper - 15/03/2018 - WordPress Security Best PracticesBrecht Ryckaert
 
WordCamp Antwerp - 3/3/2018 - Debugging WordPress by Brecht Ryckaert
WordCamp Antwerp - 3/3/2018 - Debugging WordPress by Brecht RyckaertWordCamp Antwerp - 3/3/2018 - Debugging WordPress by Brecht Ryckaert
WordCamp Antwerp - 3/3/2018 - Debugging WordPress by Brecht RyckaertBrecht Ryckaert
 
WordPress Security - A Top Down Approach
WordPress Security - A Top Down ApproachWordPress Security - A Top Down Approach
WordPress Security - A Top Down ApproachBrecht Ryckaert
 
WordPress Performantie Optimalisatie
WordPress Performantie OptimalisatieWordPress Performantie Optimalisatie
WordPress Performantie OptimalisatieBrecht Ryckaert
 
WordPress Performance optimization
WordPress Performance optimizationWordPress Performance optimization
WordPress Performance optimizationBrecht Ryckaert
 
WordPress Security - Battening down the hatches
WordPress Security - Battening down the hatchesWordPress Security - Battening down the hatches
WordPress Security - Battening down the hatchesBrecht Ryckaert
 
Combell Academy - Exchange 2010
Combell Academy - Exchange 2010Combell Academy - Exchange 2010
Combell Academy - Exchange 2010Brecht Ryckaert
 

More from Brecht Ryckaert (12)

Using WordPress as a Static Site Generator
Using WordPress as a Static Site GeneratorUsing WordPress as a Static Site Generator
Using WordPress as a Static Site Generator
 
The Anatomy Of A Hack - WordCamp Sofia 2018
The Anatomy Of A Hack - WordCamp Sofia 2018The Anatomy Of A Hack - WordCamp Sofia 2018
The Anatomy Of A Hack - WordCamp Sofia 2018
 
Scaling WordPress On A Small Budget
Scaling WordPress On A Small BudgetScaling WordPress On A Small Budget
Scaling WordPress On A Small Budget
 
WordPress Meetup Ieper - 15/03/2018 - WordPress Security Best Practices
WordPress Meetup Ieper - 15/03/2018 - WordPress Security Best PracticesWordPress Meetup Ieper - 15/03/2018 - WordPress Security Best Practices
WordPress Meetup Ieper - 15/03/2018 - WordPress Security Best Practices
 
WordCamp Antwerp - 3/3/2018 - Debugging WordPress by Brecht Ryckaert
WordCamp Antwerp - 3/3/2018 - Debugging WordPress by Brecht RyckaertWordCamp Antwerp - 3/3/2018 - Debugging WordPress by Brecht Ryckaert
WordCamp Antwerp - 3/3/2018 - Debugging WordPress by Brecht Ryckaert
 
Debugging WordPress
Debugging WordPressDebugging WordPress
Debugging WordPress
 
WordPress Security - A Top Down Approach
WordPress Security - A Top Down ApproachWordPress Security - A Top Down Approach
WordPress Security - A Top Down Approach
 
WordPress Performantie Optimalisatie
WordPress Performantie OptimalisatieWordPress Performantie Optimalisatie
WordPress Performantie Optimalisatie
 
WordPress Performance optimization
WordPress Performance optimizationWordPress Performance optimization
WordPress Performance optimization
 
WordPress Security - Battening down the hatches
WordPress Security - Battening down the hatchesWordPress Security - Battening down the hatches
WordPress Security - Battening down the hatches
 
Combell Academy - Exchange 2010
Combell Academy - Exchange 2010Combell Academy - Exchange 2010
Combell Academy - Exchange 2010
 
Presentatie Ebook
Presentatie EbookPresentatie Ebook
Presentatie Ebook
 

Speeding up WordPress